Look up any US school district by address, coordinates, or NCES ID. Get enrollment, demographics, per-pupil expenditure, boundary polygons, and schools list. Built on free federal data — no licensing fees passed on to you.
curl "https://api.districtapi.dev/v1/districts?address=1600+Pennsylvania+Ave+NW+Washington+DC" \ -H "X-API-Key: your_api_key"
{
"data": [
{
"ncesId": "1100030",
"name": "District of Columbia Public Schools",
"state": "DC",
"enrollment": { "total": 49235, "year": "2024-25" },
"geo": { "lat": 38.8951, "lng": -77.0364 },
"finance": { "perPupilExpenditure": 28402 },
"schoolsCount": 116
}
],
"meta": { "creditsUsed": 1, "creditsRemaining": 499 }
}Create an account in under a minute. No credit card required. 500 requests/month free, forever.
Sign up free →Send any US street address, lat/lng coordinates, or NCES district ID. We handle the geocoding and spatial lookup.
Enrollment figures, demographics, per-pupil expenditure, school list, and GeoJSON boundary polygon — all in one response.
Read the docs →Pass any US address and get back the school district serving that location. Uses PostGIS spatial lookup against TIGER boundary polygons.
Enrollment by grade and race/ethnicity, per-pupil expenditure, revenue sources, locale type, and every school in the district.
Every district includes its boundary polygon in GeoJSON. Drop it straight into Mapbox, Leaflet, or Google Maps.
Find all public schools within N miles of a lat/lng. Filter by type, grade span, and charter status.
All districts and schools are keyed by NCES LEA/school IDs — the same IDs used by every federal education dataset.
Typed SDK clients for Python and Node.js. Real objects, not raw dicts.
Start free. No credit card required. Upgrade when you need more.
All endpoints on all tiers. Monthly limit resets on the 1st.