US School District Characteristics: Type, Address, Enrollment, Teachers (NCES)
ncesedge/district-characteristics
Characteristics of US school districts (local education agencies) from the National Center for Education Statistics EDGE data: agency name and NCES agency ID, agency type, office address and phone, lowest and highest grade offered, operational status, number of schools, total students, full-time-equivalent teachers, pupil/teacher ratio, locale, county, 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 boundary 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/district-characteristics" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "ncesedge/district-characteristics" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "ncesedge/district-characteristics", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "ncesedge/district-characteristics", 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 STATENAME='Arizona' AND MEMBER>1000, or LEA_NAME LIKE '%Unified%'. Use 1=1 to match every record (paged by result_record_count and result_offset). Fields: SURVYEAR, STATENAME, LEAID, ST_LEAID, LEA_NAME, LCITY, LSTATE, LZIP, LEA_TYPE, GSLO, GSHI, SY_STATUS_TEXT, SCH, MEMBER, TOTTCH, STUTERATIO, LOCALE_TEXT, CONAME, COID."
},
"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": {
"Lat": {
"type": "number",
"description": "Latitude of the district office."
},
"SCH": {
"type": "number",
"description": "Number of operational schools."
},
"COID": {
"type": "string",
"description": "County FIPS code."
},
"GSHI": {
"type": "string",
"description": "Highest grade offered."
},
"GSLO": {
"type": "string",
"description": "Lowest grade offered."
},
"LZIP": {
"type": "string",
"description": "Office five-digit ZIP code."
},
"Long": {
"type": "number",
"description": "Longitude of the district office."
},
"LCITY": {
"type": "string",
"description": "Office city."
},
"LEAID": {
"type": "string",
"description": "NCES agency (district) ID, seven characters. A string: keep leading zeros."
},
"LZIP4": {
"type": "string",
"description": "Office ZIP+4 extension."
},
"PHONE": {
"type": "string",
"description": "District phone number."
},
"CONAME": {
"type": "string",
"description": "County name."
},
"LSTATE": {
"type": "string",
"description": "Office state abbreviation; may carry a trailing space."
},
"MEMBER": {
"type": "number",
"description": "Total students, all grades."
},
"TOTTCH": {
"type": "number",
"description": "Full-time-equivalent teachers."
},
"LEA_NAME": {
"type": "string",
"description": "Agency (district) name."
},
"LEA_TYPE": {
"type": "number",
"description": "Agency type code."
},
"LSTREET1": {
"type": "string",
"description": "Office street address, line 1."
},
"LSTREET2": {
"type": "string",
"description": "Office street address, line 2; may be empty."
},
"OBJECTID": {
"type": "number",
"description": "Row number in the layer."
},
"ST_LEAID": {
"type": "string",
"description": "The state's own agency ID."
},
"SURVYEAR": {
"type": "string",
"description": "School year of the record, for example 2024-2025."
},
"STATENAME": {
"type": "string",
"description": "State name."
},
"STUTERATIO": {
"type": "number",
"description": "Pupil/teacher ratio."
},
"LOCALE_TEXT": {
"type": "string",
"description": "Locale code and description, for example 42-Rural: Distant."
},
"Shape__Area": {
"type": "number",
"description": "Area of the district boundary in square metres."
},
"LEA_TYPE_TEXT": {
"type": "string",
"description": "Agency type, code and description."
},
"Shape__Length": {
"type": "number",
"description": "Perimeter of the district boundary in metres."
},
"SY_STATUS_TEXT": {
"type": "string",
"description": "Status at the start of the school year, for example 1-Open."
}
},
"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 school district records from the NCES EDGE layer; each element's `attributes` holds the fields.",
"additionalProperties": true
}