Contact salesGet a free key

Schools & districts

On this page
The examples use YOUR_KEY. Get a free key to run them; it takes about a minute and needs no card.Get a free key

For any point in the United States, /v1/schools returns the public school districts that serve it and, grade by grade, the assigned public school with its attendance zone. It covers every US public school district and public school, and you may store the results.

For IDX platforms, enterprise and wholesale buyers. School data comes with a platform or enterprise contract, or as a data licence. It isn't part of the self-serve plans. Start a platform pilot or write to sales@mapiron.com. Coverage, how it compares with free federal data, and the licence price: School attendance zone data.
curl "https://api.mapiron.com/v1/schools?lat=41.8789&lon=-87.6359&key=YOUR_KEY"
{
  "coverage": "zone",
  "districts": [{ "id": "1709930", "name": "City of Chicago School District 299", "type": "unified", "grades": "PK-12" }],
  "assigned": [
    { "grades": "KG-08",
      "school": { "id": "170993000…", "name": "…", "address": { … }, "lat": 41.87, "lon": -87.63, "distance_m": 900 },
      "zone": { "method": "district_gis", "confidence": 0.97, "school_year": "2025-2026", "source": "https://data.cityofchicago.org/d/x72b-38qv" } }
  ],
  "unassigned": [],
  "notice": "Attendance boundaries change. Verify enrolment with the school district before relying on an assignment."
}

Parameters

ParameterMeaning
lat, lonThe home or listing, in decimal degrees (required). Geocode an address first if you only have the address.
gradeOnly this grade: PK, K or 1 to 12. Leave it out for every grade.

Reading the answer

  • coverage: zone when every grade has an attendance zone; partial when some do; district_only when only the district is known; none outside any US school district.
  • assigned: one entry per run of grades with the same school, with the zone's method, confidence, school_year and source. Where the source lists more than one school for the area (a shared attendance area), the entry also has shared_with, naming each of those schools with its zone. Ask the district which applies.
  • unassigned: grades whose zone we haven't mapped yet, with the district's nearest regular public schools for those grades. These are not assignments.

Zones

Each zone carries its method, a confidence score, the school_year it applies to and a source you can check. Charter and fully virtual schools are never shown as assigned.

Coverage (November 2026)

  • Every US public school district (13,368) and public school (101,110), from NCES and the U.S. Census Bureau.
  • Attendance zones in 12,712 districts in every state: 68,382 of 82,889 regular public schools have one, and 10,167 districts are covered for every school.
  • Every zone states the school year it applies to. Older zones are replaced as districts publish current maps, and we add districts every month.
  • Current boundary maps published by districts, cities and counties cover 41,056 schools in 1,275 districts, including:
MetroDistrictZonesSchool year
Chicago, ILChicago Public Schools and 16 suburban districts4802025-26 for Chicago; suburban maps as each district publishes them
New York, NYNew York City public schools (elementary, middle and zoned high schools)8112024-25

The data file

Licensed data comes as monthly releases: the whole country, any one state or territory, or only what changed since the previous release. Every file is GeoJSON with one feature per line, gzip-compressed, in WGS84 (EPSG:4326), and loads straight into PostGIS, BigQuery, Snowflake or GDAL (ogr2ogr). After each download your dashboard shows the file's SHA-256 so you can check your copy.

Download a free sample (Delaware) Every district, public school and attendance zone in one state, for evaluation.

layerGeometryProperties
aboutnoneThe first line: licensee, licence, release, file, terms and source notices.
districtMultiPolygonleaid (NCES district id), name, kind (unified, elementary or secondary), state_fips, grades, school_year
schoolPointncessch (NCES school id), leaid, name, street, city, state, zip, grades, level, charter, school_year
zoneMultiPolygon, or none when the zone is the whole districtzone_id (stable from release to release, unique to your licence), ncessch, leaid, grades, grade_lo and grade_hi (-1 is PK, 0 is KG), covers (area or district), basis, confidence (0 to 1), as_of, school_year

Staying current: load a full file once, then apply each month's changes file. properties.change is added, changed or removed; added and changed records are complete, and removed records carry only their id. Upsert by leaid, ncessch and zone_id.

Pipeline downloads (enterprise)

Enterprise licences can also download from a server. Once we turn it on for your licence, create a token under Data licences in your dashboard and list the networks your pipeline downloads from. A token works only from those networks, stops when the licence ends, and is shown once.

TOKEN=psd_…   # keep it in your secrets manager
# releases we keep (newest first) and their files
curl -s -H "Authorization: Bearer $TOKEN" https://api.mapiron.com/v1/licence/releases
# one file: US, a state's postal code, or changes; X-Download-Id names the download
curl -s -D headers.txt -o IL.geojsonl.gz -H "Authorization: Bearer $TOKEN" https://api.mapiron.com/v1/licence/releases/RELEASE/IL
# the SHA-256 of the bytes we sent, to check your copy
curl -s -H "Authorization: Bearer $TOKEN" https://api.mapiron.com/v1/licence/downloads/DOWNLOAD_ID

Up to 150 files a day and 2 at a time per licence. Revoke a token from the dashboard at any time; we email you when one is created.

Coverage by state
StateRegular public schoolsWith an attendance zoneFrom a current district map
Alabama1,3251,023 (77%)261
Alaska424290 (68%)173
Arizona1,4091,150 (82%)519
Arkansas960821 (86%)635
California7,5956,668 (88%)1,953
Colorado1,5031,223 (81%)877
Connecticut956739 (77%)350
Delaware179165 (92%)143
District of Columbia113100 (88%)94
Florida2,8492,401 (84%)1,857
Georgia2,1841,894 (87%)843
Hawaii256254 (99%)241
Idaho614532 (87%)321
Illinois3,7163,375 (91%)2,373
Indiana1,7311,465 (85%)683
Iowa1,2811,190 (93%)928
Kansas1,2691,167 (92%)770
Kentucky1,2091,017 (84%)439
Louisiana1,115819 (73%)120
Maine551453 (82%)343
Maryland1,2611,211 (96%)1,194
Massachusetts1,6641,068 (64%)682
Michigan2,5632,081 (81%)1,331
Minnesota1,5341,327 (87%)1,285
Mississippi846682 (81%)291
Missouri2,1931,897 (87%)1,366
Montana836767 (92%)636
Nebraska1,019893 (88%)574
Nevada572497 (87%)408
New Hampshire459383 (83%)292
New Jersey2,2911,818 (79%)992
New Mexico724620 (86%)447
New York4,2562,867 (67%)2,147
North Carolina2,3551,934 (82%)891
North Dakota484425 (88%)309
Ohio3,0562,665 (87%)1,945
Oklahoma1,6991,631 (96%)1,313
Oregon1,1121,013 (91%)932
Pennsylvania2,6582,386 (90%)1,388
Puerto Rico8010 (0%)0
Rhode Island257161 (63%)80
South Carolina1,103829 (75%)273
South Dakota649540 (83%)362
Tennessee1,6971,251 (74%)590
Texas7,4796,157 (82%)3,405
Utah833754 (91%)522
Vermont288133 (46%)115
Virginia1,8351,663 (91%)1,051
Washington2,0571,738 (84%)1,026
West Virginia623435 (70%)91
Wisconsin1,8691,590 (85%)1,086
Wyoming308220 (71%)109

The rest have their district and nearest schools. Zones are added every month. Boston assigns students from address-based choice lists rather than attendance zones, so its schools have none by design.

Fair housing

MapIron returns boundaries and school facts only: no ratings, test scores or demographic data. Show the district's own sources next to an assignment and the notice that boundaries change.

How to get it

  • API access is included in platform and enterprise contracts.
  • Data licence: the whole dataset in your own database (districts, schools and every published zone, released monthly with a changes file; see the data file), licensed by state ($5,000 a year for California, Texas, Florida or New York, $3,000 for the next 18 largest states, $1,500 for the rest; buy online) or for the whole country by quote, under the School Data Licence terms. A free 50-record test kit with the schema and a PostGIS/Snowflake join guide is on the same page. Use it in your own products and keep what you downloaded after the licence ends; reselling the dataset needs a separate agreement.

Buying means you agree to the School Data Licence terms. Card or US bank account through Stripe. After payment, sign in to your dashboard with the same email to download; downloads need two-step sign-in and each link works once; enterprise licences can also download from a pipeline. For an invoice (net 30), write to sales@mapiron.com with your company name and billing contact. API access comes with a platform contract.

↑ Contents