RRadar
Travel, vehicles & places

Schools API

Official US K-12 school directory as JSON, no API key: 102,274 public and 22,510 private schools from NCES (2023-24) with NCES id, district, address, lat/lon, locale, grades, enrollment, teachers and student-teacher ratio. Search by name, city, state or ZIP, schools near a point or ZIP within N miles, one school by NCES id, all schools of a district with totals, bulk 50 queries. Usable from AI agents via MCP.

Example request

curl -X POST https://radarbg.com/v1/us-schools-api \
  -H "X-API-Key: YOUR_KEY" -H "Content-Type: application/json" \
  -d '{"mode": "search", "name": "Lincoln", "state": "CA", "radiusMiles": 5}'

Answer: {"ok": true, "count": N, "items": [...], "usage": {...}}. Failed calls are not counted.

Inputs

FieldTypeDescription
modestringsearch = filter by name/city/state/ZIP/district; near = schools within radiusMiles of lat/lon or a ZIP; school = one or more schools by NCES id; district = all schools of a district (LEAID or name) plus a summary row; bulk = up to 50 querie
namestringPart of the school name, case-insensitive (search mode), e.g. Lincoln.
citystringCity name (search mode), e.g. Austin.
statestring2-letter code or full name, e.g. CA or California.
zipstring5-digit ZIP. search: schools in this ZIP; near: centre of the radius.
latnumbernear mode: centre latitude (use with lon instead of zip).
lonnumbernear mode: centre longitude.
radiusMilesnumbernear mode: 0.1-50 miles, default 5. Rows are sorted by distanceMiles.
districtstringDistrict NCES LEAID (7 digits) or district name (search and district modes), e.g. 0622710 (Los Angeles Unified).
ncesIdsarrayschool mode: up to 50 NCES school ids (12-digit public NCESSCH or 8-character private PPIN).
schoolTypestringpublic (default), private or all.
levelarrayPublic schools only: elementary, middle, high, secondary, prekindergarten, other.
queriesarraybulk mode: up to 50 objects, each one an input of another mode, e.g. {"mode":"near","zip":"10001","radiusMiles":1}. A failing query returns an error row; the others still answer.
limitinteger1-5000, default 100.

Price

Included in every plan: 100 calls a month free, then from €9 a month for 3,000 calls across all APIs.

Related APIs

Airport Database APIAirport ReportGeocoding APILive Flights APIUS Airport Delays & Weather APIVehicle Recalls & VIN Decoder APIWeather Alerts API