US College Programs API Guide

Search US college programs by subject, credential, and location, with earnings and debt reference data.

Try the live demoView API details →

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.