US Public School Locations: Address, Locale, County, Coordinates (NCES)
ncesedge/public-schools
Location records for US public schools from the National Center for Education Statistics EDGE data: school name, NCES school ID and school district ID, street address, city, state, ZIP, county name and FIPS code, locale code (city, suburb, town, rural), latitude and longitude, statistical area and legislative district codes, and the school year of the record. Filter with an SQL where clause and page through the results. Data fields only, passed through unmodified; no map geometry. Served by Eden Engine; not an official NCES product.
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
National Center for Education Statistics
Data from the National Center for Education Statistics (NCES), Institute of Education Sciences, U.S. Department of Education; IES information is in the public domain per nces.ed.gov/help/disclaimer.asp. Served by Eden Engine; not an official NCES product.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "ncesedge/public-schools" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "ncesedge/public-schools" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "ncesedge/public-schools", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "ncesedge/public-schools", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 20, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"where"
],
"properties": {
"where": {
"type": "string",
"maxLength": 500,
"minLength": 1,
"description": "An SQL where clause over the layer's fields, for example STATE='CA' AND CITY='Fresno', or NAME LIKE 'Lincoln%' AND STATE='OH'. Use 1=1 to match every record (paged by result_record_count and result_offset). Fields: NCESSCH, LEAID, NAME, STREET, CITY, STATE (two-letter), ZIP, STFIP, CNTY, NMCNTY, LOCALE, LAT, LON, NMCBSA, CD, SLDL, SLDU, SCHOOLYEAR."
},
"result_offset": {
"type": "integer",
"default": 0,
"minimum": 0,
"description": "How many matching records to skip, for paging: 0 for the first page, 10 for the second when result_record_count is 10. Defaults to 0."
},
"result_record_count": {
"type": "integer",
"default": 10,
"maximum": 100,
"minimum": 1,
"description": "How many records to return, 1 to 100. Defaults to 10."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"results"
],
"properties": {
"results": {
"type": "array",
"items": {
"type": "object",
"properties": {
"attributes": {
"type": "object",
"properties": {
"CD": {
"type": "string",
"description": "Congressional district code."
},
"CSA": {
"type": "string",
"description": "Combined Statistical Area code."
},
"LAT": {
"type": "number",
"description": "Latitude of the school."
},
"LON": {
"type": "number",
"description": "Longitude of the school."
},
"ZIP": {
"type": "string",
"description": "ZIP code."
},
"CBSA": {
"type": "string",
"description": "Core Based Statistical Area code."
},
"CITY": {
"type": "string",
"description": "City."
},
"CNTY": {
"type": "string",
"description": "Five-digit county FIPS code."
},
"NAME": {
"type": "string",
"description": "School name as reported by the agency."
},
"SLDL": {
"type": "string",
"description": "State legislative district, lower chamber."
},
"SLDU": {
"type": "string",
"description": "State legislative district, upper chamber."
},
"LEAID": {
"type": "string",
"description": "Seven-character NCES school district ID."
},
"NMCSA": {
"type": "string",
"description": "Combined Statistical Area name."
},
"STATE": {
"type": "string",
"description": "Two-letter state abbreviation."
},
"STFIP": {
"type": "string",
"description": "Two-digit state FIPS code."
},
"LOCALE": {
"type": "string",
"description": "Two-digit locale code: 11-13 city, 21-23 suburb, 31-33 town, 41-43 rural."
},
"NMCBSA": {
"type": "string",
"description": "Core Based Statistical Area name."
},
"NMCNTY": {
"type": "string",
"description": "County name."
},
"STREET": {
"type": "string",
"description": "Street address."
},
"NCESSCH": {
"type": "string",
"description": "Twelve-character NCES school ID (state FIPS, district code and school number). A string: keep leading zeros."
},
"CBSATYPE": {
"type": "string",
"description": "Metro or micro area indicator code."
},
"OBJECTID": {
"type": "number",
"description": "Row number in the layer."
},
"OPSTFIPS": {
"type": "string",
"description": "FIPS code of the operating state."
},
"SCHOOLYEAR": {
"type": "string",
"description": "School year of the record, for example 2024-2025."
}
},
"description": "The record's fields.",
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "One element per matching record, in the layer's own order. Empty when nothing matches the where clause."
}
},
"description": "Matching public school records from the NCES EDGE layer; each element's `attributes` holds the fields.",
"additionalProperties": true
}