Verified data from IPEDS & College Scorecard

GradFax API v1

Verified college data, free to build on.

All ~6,000 accredited US institutions. Sourced from IPEDS, College Scorecard, and ED.gov. JSON over HTTPS. No paid rankings, no marketing copy in the data.

Quick start

  1. Sign in to GradFax and visit /my-gradfax/api-keys
  2. Create a key — you get a string starting with gf_live_
  3. Pass it as the X-API-Key header on every request
curl -H "X-API-Key: gf_live_abc123..." \
  "https://gradfax.com/api/v1/schools?state=CA&limit=5"

Authentication

All v1 read endpoints require an X-API-Key header. Keys never expire but you can revoke and rotate them at any time from your dashboard.

Key management endpoints (/api/v1/keys) use your authenticated session cookie instead — they're not callable from third-party servers.

Never embed your API key in client-side code. Anyone who views the page source can copy it and exhaust your monthly quota. Proxy through your own backend.

Endpoints

GET/api/v1/schools

List schools with filters

Params: state, control (public/private), max_tuition, min_acceptance_rate, max_acceptance_rate, hbcu, limit (max 100), offset

curl -H "X-API-Key: gf_live_..." "https://gradfax.com/api/v1/schools?state=CA&max_tuition=20000&limit=10"
GET/api/v1/schools/[id]

Single school by IPEDS unitid

Params: id (path param) — IPEDS unitid integer

curl -H "X-API-Key: gf_live_..." "https://gradfax.com/api/v1/schools/110635"
GET/api/v1/keys

List your API keys (requires session, not API key)

Params: none — uses authenticated session cookie

fetch("/api/v1/keys", { credentials: "include" })
POST/api/v1/keys

Create a new API key

Params: name (string, optional, defaults to "My App")

fetch("/api/v1/keys", { method: "POST", headers: {"Content-Type":"application/json"}, body: JSON.stringify({ name: "My App" }) })

Response fields

Every school object includes the fields below. Some may be null when the source data is suppressed (e.g., small cohorts where IPEDS withholds for privacy).

FieldDescription
unitidIPEDS unique identifier
nameInstitution name
city, state, zipLocation
websiteOfficial URL
latitude, longitudeCoordinates
localeUrban / suburban / rural code
controlpublic / private nonprofit / private for-profit
institution_level4-year / 2-year / less than 2-year
hbcu, tribal, land_grantDesignation flags
acceptance_rateMost recent admit rate (0-1)
enrollment_totalTotal undergrad + grad enrollment
tuition_instate, tuition_outstateSticker price
avg_net_price_overallAverage net price (sticker minus aid)
grad_rate_4yr4-year graduation rate
retention_rateFirst-to-second year retention
earnings_10yrMedian earnings 10 years post-enrollment
median_debtMedian federal loan debt at graduation
sat_math_25/75, sat_reading_25/75SAT 25th/75th percentile
act_composite_25/75ACT 25th/75th percentile
pct_receiving_pell% of undergrads on Pell grants
pct_women% female enrollment
pct_first_generation% first-gen students
mascot, primary_colorBrand metadata

Pricing

Free

$0

500 requests / mo

hobby projects, prototypes, learning

  • All read endpoints
  • Up to 10 keys per account
  • Community support

Developer

$29 / mo

25,000 requests / mo

side projects, indie SaaS, internal tools

  • Everything in Free
  • Email support 48hr SLA
  • Webhook access (planned)

Startup

$199 / mo

250,000 requests / mo

production apps, counselor platforms, ed-tech

  • Everything in Developer
  • Priority email support
  • Bulk export (CSV)

Enterprise

Talk to us

Unlimited

data licensing, redistribution, white-label

  • Custom SLA
  • Dedicated support
  • Source documentation

Need more? Email hello@gradfax.com. Educational researchers get free Startup-tier access — just ask.

Rate limits & errors

Limits reset on the 1st of each month at 00:00 UTC. When you hit the cap, requests return:

HTTP 429 Too Many Requests
{
  "error": "Monthly limit reached (500 requests for free tier). Resets Jun 1 2026."
}
StatusMeaning
200OK
400Bad request — invalid filter or param
401Missing or invalid X-API-Key
404School not found (unknown unitid)
429Monthly quota exceeded
500Server error — please email us

Data sources

  • IPEDS — National Center for Education Statistics, institutional characteristics + enrollment + outcomes
  • College Scorecard — US Department of Education, earnings + debt + repayment
  • ED.gov Net Price Calculators — federally mandated, per-school
  • Common Data Set — voluntary per-school disclosures (when available)

Refresh cadence: IPEDS annually (December), Scorecard annually (March-April). Each field's last-updated timestamp ships in the response when applicable.

Got questions or building something cool?

Reply to hello@gradfax.com — Josh reads everything.

Create your first key →