US College Programs API Guide
Search US college programs by subject, credential, and location, with earnings and debt reference data.
US College Programs API Guide
Find college programs for subject discovery, education research, and comparison tools. Records include institution and program names, credential levels, and available earnings, debt, and tuition figures. These are reference values, not an employment or salary guarantee. Compare source years before comparing programs.
Search programs
curl --get 'https://api.gugudata.io/v1/education/us/programs/search' \
--data-urlencode 'appkey=YOUR_APPKEY' \
--data-urlencode 'keyword=computer' \
--data-urlencode 'cipCode=11' \
--data-urlencode 'sort=institutionName|asc' \
--data-urlencode 'pageIndex=1' \
--data-urlencode 'pageSize=10'
AppKey and filters belong in the query string. Encode each value separately.
| Parameter | Meaning |
|---|---|
keyword |
Case-insensitive substring of program name, CIP title, or institution name. |
cipCode |
Numeric CIP prefix or code. Accepts 1–6 digits or two digits followed by a dot and 0–4 digits; for example 11, 110101, or 11.0101. |
state |
Case-insensitive state abbreviation match. |
credentialLevel |
Case-insensitive credential substring. |
minEarnings |
Finite, non-negative minimum median earnings. |
maxDebt |
Finite, non-negative maximum median debt. |
sort |
institutionName, programName, tuition, medianEarnings, or medianDebt, with ` |
pageIndex |
Default 1; values below 1 use 1 for compatibility. |
pageSize |
Default 10; values below 1 use 10, and values above 100 use 100. |
Text filters are normalized with NFKC and trimmed, with a maximum of 100 Unicode code points and no control characters. Invalid CIP text returns an error rather than silently broadening the search. Missing or empty filters apply no restriction.
Read results
HTTP 200 with business code 100 indicates success. data is an array, and
dataStatus.dataTotalCount is the matching total across all pages. Empty results
are successful. Pages beyond the end preserve that total while returning [].
The response timestamp uses yyyy-MM-dd HH:mm:ss.SSS.
| Fields | Type |
|---|---|
unitId, graduates, sourceYear |
Integer or null. |
institutionName, city, state |
String. |
cipCode, cipTitle, programName, credentialLevel |
String. |
tuitionInState, medianEarnings, medianDebt, debtToEarnings |
Number or null. |
source, sourceUpdatedAt |
String. |
Missing text is an empty string; missing numbers remain null. Do not treat null earnings or debt as zero, and do not assume every program has a complete record.
Demo and errors
The Demo searches for
computer, returning up to five records. Validated results are cached for
15 minutes. X-GuGuData-Demo-Mode reports live or cached, and
X-GuGuData-Generated-At identifies generation time. Failed results are not cached.
Invalid filters return HTTP/business 400. Temporary data unavailability returns HTTP 503/business 500. Authentication, entitlement, and rate limits retain their standard 401, 403, and 429 responses. Check both HTTP and business status before reading data; a failed request is not an empty search result.
See the API details, institution guide, and OpenAPI specification.