US Census Geocoder & ACS Demographics API (Address to Tract) avatar

US Census Geocoder & ACS Demographics API (Address to Tract)

Pricing

from $2.00 / 1,000 address geocodeds

Go to Apify Store
US Census Geocoder & ACS Demographics API (Address to Tract)

US Census Geocoder & ACS Demographics API (Address to Tract)

Returns Census Bureau geocoder results for US addresses, coordinates and ZIPs: standardized address, state, county, tract, block group, districts, plus optional ACS demographics (income, home value, rent, poverty, education). Geocoding needs no key.

Pricing

from $2.00 / 1,000 address geocodeds

Rating

0.0

(0)

Developer

lathewright LLC

lathewright LLC

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Turn US addresses or coordinates into official Census geography (tract, block group, county, congressional district) and optionally ACS demographics, for analysts, real estate and site-selection teams and AI agents. It costs $0.002 per address or point and $0.005 per demographic profile, so 1,000 addresses with demographics cost $7.

Turn US addresses or coordinates into official Census geography and, if you want, the demographics around them. The Census Bureau's own geocoder returns the standardized address, coordinates and every geography that contains the point: state, county, census tract, block group, block, city or town, metro area, combined statistical area, congressional district, state legislative districts, school district and ZIP Code Tabulation Area. With your free Census API key the Actor adds an American Community Survey (ACS) 5-year profile for the tract, block group, county, place or ZIP: population, median age, household and per-capita income, home value, rent, poverty and unemployment rates, education, home ownership, ethnicity and commute time.

Built and maintained by Lathewright. Lathewright is operated by AI systems under human ownership. A person reviews and approves everything we publish, send and sell. Pay only for what you get: $0.002 per address or point, $0.005 per demographic profile.

What you can do with it

  • Enrich a customer or lead list: append county, tract, metro area and neighbourhood income or home value to every address for scoring, territory planning and compliance (CRA, fair-lending, HMDA-style geography).
  • Site selection and market sizing: population, income, tenure and education around candidate locations, straight from the Census.
  • Political and civic tooling: congressional and state legislative districts for any address, with no third-party API.
  • Agent tool: "what is the median household income around 350 Fifth Avenue?" is one call.

Example tasks

Paste any of these into the Input tab, or send the same JSON through the API. Prices are the per-result prices listed under Pricing.

1. Geocode one address

{
"addresses": ["1600 Pennsylvania Ave NW, Washington, DC 20500"]
}

What comes back: One row with matchedAddress, lat, lon, state, county, tract, blockGroup, congressionalDistrict and the other Census geographies. $0.002.

2. Find the Census geography for a point

{
"coordinates": ["37.3349,-122.0090"]
}

What comes back: The same geography fields for the point. $0.002.

3. Add tract-level demographics

{
"addresses": ["One Apple Park Way, Cupertino, CA 95014"],
"includeDemographics": true,
"demographicsLevel": "tract",
"acsYear": 2023,
"censusApiKey": "YOUR_CENSUS_API_KEY"
}

What comes back: The geography fields plus a demographics object from the ACS 5-year estimates (needs your free Census API key). $0.002 plus $0.005 for the profile.

Input

FieldTypeNotes
addressesarrayOne-line US addresses
coordinatesarraylat,lon points for reverse geography lookup
zipCodesarrayFive-digit ZIPs for ZCTA demographics (key required)
includeDemographicsbooleanAttach ACS data to addresses and coordinates (key required)
demographicsLevelselecttract (default), blockGroup, county, place
acsYearintegerACS 5-year vintage end year (default 2023 = 2019-2023)
censusApiKeysecretFree key from api.census.gov/data/key_signup.html; not needed for geocoding
maxItemsintegerCap per run
{
"addresses": ["1600 Pennsylvania Ave NW, Washington, DC 20500", "350 Fifth Avenue, New York, NY 10118"],
"coordinates": ["41.8781,-87.6298"],
"zipCodes": ["90210"],
"includeDemographics": true,
"demographicsLevel": "tract",
"censusApiKey": "<your key>"
}

Output

{
"type": "address",
"input": "350 Fifth Avenue, New York, NY 10118",
"matched": true,
"matchedAddress": "350 5TH AVE, NEW YORK, NY, 10118",
"lat": 40.747850846857,
"lon": -73.985075577551,
"components": { "number": "350", "street": "5TH AVE", "city": "NEW YORK", "state": "NY", "zip": "10118" },
"state": { "fips": "36", "name": "New York", "abbr": "NY" },
"county": { "fips": "36061", "name": "New York County" },
"tract": { "geoid": "36061007600", "name": "Census Tract 76", "state": "36", "county": "061", "tract": "007600" },
"blockGroup": { "geoid": "360610076001", "blockGroup": "1" },
"block": { "geoid": "360610076001001", "block": "1001" },
"place": { "geoid": "3651000", "name": "New York city" },
"zcta": { "geoid": "10001" },
"cbsa": { "geoid": "35620", "name": "New York-Newark-Jersey City, NY-NJ Metro Area" },
"congressionalDistrict": { "geoid": "3612", "name": "Congressional District 12", "congress": "120th" },
"stateSenateDistrict": { "geoid": "36028", "name": "State Senate District 28" },
"schoolDistrict": { "geoid": "3620580", "name": "New York City Department Of Education" },
"demographicsLevel": "tract",
"demographics": {
"name": "Census Tract 76; New York County; New York",
"population": 4120, "medianAge": 36.1, "medianHouseholdIncome": 142500, "perCapitaIncome": 98000, "medianHomeValue": 1250000, "medianGrossRent": 3400,
"households": 2300, "averageHouseholdSize": 1.7, "housingUnits": 2900, "povertyRatePct": 8.2, "unemploymentRatePct": 4.1, "bachelorsOrHigherPct": 81.5,
"ownerOccupiedPct": 29.0, "hispanicPct": 11.2, "whiteAlonePct": 62.0, "blackAlonePct": 5.1, "asianAlonePct": 21.3, "meanCommuteMinutes": 27.4,
"source": "ACS 5-year 2023 (api.census.gov)"
},
"source": "Census Geocoder (Public_AR_Current, Current vintage)"
}

The demographics object above is illustrative; values come from the ACS tables B01003, B01002, B19013, B19301, B25077, B25064, B11001, B25010, B25001, B17001, B23025, B15003, B25003, B03003, B02001, B08303 and B08013. Addresses the geocoder cannot match, invalid coordinates and ZIPs without ACS data become type: "error" rows at the reduced rate.

Pricing

EventPriceNotes
Address geocoded (address)$0.002Primary event; also for coordinate lookups. 1,000 addresses = $2
Demographics attached (demographics)$0.005Per profile (addresses with includeDemographics, and each ZIP)
Failed lookup (lookup-error)$0.0005No match, invalid input, no ACS data

Plus Apify's standard start fee ($0.00005 per run). No proxies, no browser. Set a maximum cost per run and the Actor stops cleanly at the limit.

How to use it

  • Apify Console: fill in the form, press Start, download JSON, CSV or Excel from the Output tab.
  • API: POST https://api.apify.com/v2/acts/lathewright~census-geocoder-demographics/run-sync-get-dataset-items?token=<token> with the input JSON as the body.
  • n8n, Make, Zapier: use the Apify node/module, pick this Actor, map your address column to addresses.

Use from an AI agent (MCP)

Add this Actor as a tool in Claude, Cursor, VS Code or any MCP client with https://mcp.apify.com/?tools=lathewright/census-geocoder-demographics. The Actor description is the tool description, and the input fields above are the tool parameters. Example prompts: "Which congressional district is 233 S Wacker Dr, Chicago in?", "Median income and home value for the tract around this address".

Data sources, robots.txt and fair use

Checked on 19 October 2026 for the exact paths the Actor requests:

  • Census Geocoder (geocoding.geo.census.gov/geocoder/geographies/onelineaddress and /geographies/coordinates, benchmark Public_AR_Current, current vintage, all layers): no robots.txt is served (404); the geocoder is a public, keyless service documented by the Census Bureau for exactly this use. One request per address, spaced at least 250 ms apart.
  • Census Data API (api.census.gov/data/<year>/acs/acs5): robots.txt allows the path. Since 2026 the API requires a free key for every data request (keyless calls are redirected to a "missing key" page), so demographics need censusApiKey; the Actor sends it in the query string as the API requires and never logs it. One request per distinct geography (addresses in the same tract share one call).
  • The Census Bureau's terms allow use of the data without restriction; attribution to the U.S. Census Bureau is customary. No personal data is involved: inputs are addresses you supply, outputs are public geography and aggregate statistics.

FAQ

Why did an address not match? The geocoder matches against TIGER address ranges; brand-new developments, PO boxes, campus-style addresses ("One Apple Park Way") and non-US addresses fail. Try the street address of the building or use coordinates.

Which ACS vintage should I use? The latest 5-year release (set acsYear to its end year). Tract-level data are only published in the 5-year series.

Can I geocode thousands of addresses? Yes, one request each with spacing; a 10,000-address run takes roughly an hour. For millions of rows use the Census Bureau's batch upload instead.