API features
College discovery
Find institutions by name, alias, city, or state.
Education filters
Narrow results by ownership and degree level.
Cost comparisons
Review available tuition and net-price reference values.
Admissions context
Compare reported admission and completion rates where available.
Paginated records
Browse sorted institution records with matching totals.
Source dates
Check source years and update timestamps when interpreting records.
API Document
HTTP Protocol:HTTPS
HTTP Method:GET
HTTP Endpoint:https://api.gugudata.io/v1/education/us/institutions/search
Response Type:application/json; charset=utf-8
DEMO Endpoint:https://api.gugudata.io/v1/education/us/institutions/demo
Live Demo:Try Interactive Demo
Postman Collection:Run in Postman
API Request Parameters
| Name | Type | Is Required | Default Value | Remark |
|---|---|---|---|---|
| appkey | string | true | YOUR_APPKEY | API key used to authenticate the request. |
| name | string | false | Institution name keyword. | |
| state | string | false | US state abbreviation, such as CA or MA. | |
| city | string | false | City name keyword. | |
| ownership | string | false | Ownership filter, such as public or private. | |
| degreeLevel | string | false | Degree level keyword. | |
| minAdmissionRate | number | false | Minimum admission rate. | |
| maxTuition | number | false | Maximum in-state tuition. | |
| sort | string | false | institutionName|asc | Sort field and direction. Supported fields: institutionName, tuition, admissionRate, graduationRate. |
| pageIndex | integer | false | 1 | Page number for pagination. |
| pageSize | integer | false | 10 | Number of records per page. |
API Response Parameters
| Name | Type | Remark |
|---|---|---|
| dataStatus.dataTotalCount | integer | Number of matching or returned records for this request. |
| data[].unitId | integer | IPEDS UNITID. |
| data[].institutionName | string | Institution name. |
| data[].state | string | US state. |
| data[].website | string | Institution website. |
| data[].admissionRate | number | Admission rate when available. |
| data[].tuitionInState | number | In-state tuition when available. |
| data[].sourceYear | integer | Source data year. |
| data[].sourceUpdatedAt | string | Source update timestamp. |
API Response Status Codes
| Status Code | Explanation of Status Code | Remarks |
|---|---|---|
| 200 | Request processed successfully. | Some endpoints expose a separate application-level status field in the response body, such as `dataStatus.statusCode`. |
| 400 | Invalid request parameters or request format. | Check required fields, data types, and request body format. |
| 401 | Missing or unknown application key. | Provide a valid `appkey` with the request. |
| 403 | The application key is recognized but access is not allowed. | The key may be expired, inactive, or not permitted for the requested API. |
| 429 | Request rate or trial usage limit exceeded. | Reduce request frequency and retry with backoff. If a trial allowance is exhausted, check Trial Keys for remaining requests and subscribe to continue. |
| 500 | Internal service error. | Retry later or contact support if the error persists. |
| 503 | Upstream service unavailable. | Retry later; the requested upstream dependency is temporarily unavailable. |
Remote MCP
Use this API through GuGuData Remote MCP
Connect your AI client once, authorize in the browser, and the client can use the GuGuData API tools available to your account. You do not need to paste an appkey into the MCP client.
https://mcp.gugudata.io/mcp{
"mcpServers": {
"gugudata": {
"url": "https://mcp.gugudata.io/mcp",
"transportType": "streamable-http"
}
}
}Code Snippets
Frequently asked questions
Which filters can I use to search US colleges?
The search accepts name, state, city, ownership, degree level, admission-rate, and tuition filters. Combine them with the documented sorting and pagination options to build institution discovery views.
What is UNITID used for?
unitId is the IPEDS institution identifier. Use it to correlate institution records and call the documented institution-detail operation rather than matching colleges by name alone.
Does the API provide current tuition and admissions figures?
Treat the values as reference data. Inspect sourceYear and sourceUpdatedAt, and allow for missing fields. A returned admission rate or tuition figure is not a live admissions decision or a current price guarantee.
Can I sort colleges by tuition or admission rate?
Yes. Supported sort fields include institutionName, tuition, admissionRate, and graduationRate. Use the documented direction syntax and pagination parameters for stable result browsing.
How is this different from the US College Programs API?
This endpoint describes institutions. The Programs API describes fields of study and credentials with available earnings and debt figures. Use unitId to connect programme records to an institution when your workflow needs that relationship.
What does the 5 requests per second limit mean?
It is a request-rate limit, not a concurrency allowance. Keep your request rate at or below 5 per second. If the service returns a rate-limit response, reduce the frequency and retry with backoff.
Is total paid usage limited?
There is no total request cap during an active paid subscription and no usage-based overage charge.
How does the free trial work?
Each account can receive a limited trial key. Requests are shared across APIs in the same category. Check Trial Keys for the exact allowance and remaining requests.
How do renewal and cancellation work?
The plan renews annually until canceled. Manage or cancel the renewal from Dashboard → Orders & Billing. Access continues through the paid period after cancellation. See the Terms of Service for the current refund policy. If the billing portal is unavailable, contact support.
Service terms
Read our service terms and privacy policy before subscribing.



