Pushbuild

Electoral Boundaries API – Districts, Precincts, GeoJSON

Which congressional district, state legislative district, voting precinct, county, tract and place contains a US point; every district in a state; GeoJSON outlines by GEOID from Census TIGER; and administrative boundaries for every country from geoBoundaries.

$0.40 per 1,000 records

Get an API key

Example request

POST /electoral-boundaries/run
{
  "maxItems": 20
}

What it returns

Census TIGER boundaries for US elections and geoBoundaries administrative units for every country, as clean JSON and GeoJSON.

Request

POST https://api.pushbuild.com/electoral-boundaries/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
pointslist of stringslat,lon pairs, e.g. 39.95,-75.16. Returns the state, county, tract, block group, place, congressional districts (119th and 120th), state legislative districts (2024 and 2026) and 2020 voting district containing each point.
pointLevelslist of stringsOptional subset of levels to look up for points (default: all).
levelstring: congressionalDistrict, congressionalDistrict120, congressionalDistrict116, stateSenateDistrict, stateHouseDistrict, stateSenateDistrict2026, stateHouseDistrict2026, votingDistrict, state, county, tract, blockGroup, countySubdivision, place, cdpBoundary level for listIn and geoids. Default: "congressionalDistrict".
listInlist of stringsState codes (PA) or FIPS (42). Returns every unit of the chosen level: GEOID, name, land and water area, centroid, 2020 population where TIGERweb carries it.
geoidslist of stringsGEOIDs of the chosen level (e.g. 4401 for RI-1). Returns the boundary as GeoJSON in WGS84.
simplifyDegreesnumberMaximum allowable offset; 0.001 is about 100 m. Use 0.0001 for detail, 0.01 for maps of a whole state. Default: 0.001.
countrieslist of stringsISO 3166-1 alpha-3 codes (FRA, BRA, IND) for geoBoundaries administrative units.
admLevelslist of stringsADM0 (country) to ADM5; default ADM1 (states, regions, provinces).
includeUnitsbooleanOff: one row per country and level with the source, licence, unit count and download links. Default: true.
includeGeometrybooleanAdd each world unit's simplified GeoJSON geometry. Default: false.
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/electoral-boundaries/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.40 per 1,000 records. No charge for errors or empty searches.

Use it from Claude, ChatGPT or Cursor

This API is also an MCP server: https://api.pushbuild.com/mcp/electoral-boundaries. Add it to any assistant that supports remote MCP servers, with your key in the X-API-Key header. Same prices. Setup for each app.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.

Want this data inside your own app or CRM? API integrations and data sync