Institution Search API
Search Indian institutions by keyword. v1
Authentication
Every request must include your API token in an access_token header:
access_token: ee_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Generate a token from the API Tokens page.
CORS is open to all origins, so this endpoint can be called directly from browser-side JavaScript — no server-side proxy required.
Endpoint
GET /apiV1/institutions/search?q=Gayatri
| Param | Type | Required | Description |
|---|---|---|---|
| q | string | Yes | Search keyword, 2–100 characters. |
| country | string | No | 2-letter country code. Defaults to IN. |
| limit | integer | No | Max results to return, 1–100. Defaults to 25. |
Errors
| Status | Code | Meaning |
|---|---|---|
| 401 | UNAUTHORIZED | Missing, invalid, or revoked token. |
| 403 | FORBIDDEN | Token not authorized for this API. |
| 422 | VALIDATION_ERROR | Missing or invalid query parameters. |
| 429 | RATE_LIMITED | Too many requests — slow down. |
| 502 | UPSTREAM_UNAVAILABLE | The upstream search service is temporarily unavailable. |
Need help?
Stuck, hitting an unexpected error, or need a higher rate limit? Email [email protected] — include your request ID from the response meta.request_id if you have one.
curl "https://webarchitect.in/products/apiV1/institutions/search?q=Gayatri" \
-H "access_token: ee_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
const res = await fetch("https://webarchitect.in/products/apiV1/institutions/search?q=Gayatri", {
headers: {
access_token: "ee_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
}
});
const data = await res.json();
console.log(data);
import requests
response = requests.get(
"https://webarchitect.in/products/apiV1/institutions/search",
params={"q": "Gayatri"},
headers={"access_token": "ee_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"},
)
print(response.json())
<?php
$ch = curl_init("https://webarchitect.in/products/apiV1/institutions/search?q=Gayatri");
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
"access_token: ee_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
],
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://webarchitect.in/products/apiV1/institutions/search?q=Gayatri"))
.header("access_token", "ee_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
.GET()
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
req, _ := http.NewRequest("GET", "https://webarchitect.in/products/apiV1/institutions/search?q=Gayatri", nil)
req.Header.Set("access_token", "ee_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
resp, err := http.DefaultClient.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
Example response
{
"success": true,
"data": [
{
"id": "custom_gvpihr",
"name": "Gayatri Vidya Parishad Institute of Higher Learning and Research, Visakhapatnam, Andhra Pradesh",
"country": "IN",
"type": "UNIVERSITY"
}
],
"meta": {
"query": "Gayatri",
"count": 1,
"request_id": "req_8f72c1a9..."
}
}