Guide · Compliance

Add census tracts to addresses

Append 2020 census tract, block group, county FIPS and ZCTA to a list of addresses for CRA, HMDA, grant applications and ACS joins.

What you get

For each address: state_fips, county_fips, the county name, county subdivision, place, the 11-digit tract GEOID, the 12-digit block group GEOID and the ZCTA, all on 2020 geographies from TIGER/Line 2025. The tract GEOID is the key you join to American Community Survey tables.

Spreadsheet

Open the spreadsheet geocoder, drop the file, tick Census, geocode, download. The new columns are prefixed census_.

API

curl "https://api.geocode.net/v1/geocode?q=1600+Pennsylvania+Ave+NW+Washington+DC&fields=census" -H "X-API-Key: YOUR_KEY"
{ "fields": { "census": { "state_fips": "11", "county_fips": "11001", "county": "District of Columbia",
    "county_subdivision": { "geoid": "1100150000", "name": "Washington city" },
    "place": { "geoid": "1150000", "name": "Washington" },
    "tract": "11001980000", "block_group": "110019800001", "zcta": "20006",
    "vintage": "2020 geographies, TIGER/Line 2025" } } }

For a file, use POST /v1/geocode/batch with "fields": "census"; see geocoding in Python.

Joining to ACS data

The Census API returns GEO_ID values like 1400000US11001980000. The part after US is our tract. In pandas:

acs["tract"] = acs["GEO_ID"].str.slice(-11)
merged = geocoded.merge(acs, on="tract", how="left")

For regulated reporting

Keep the accuracy_type column with the file. Examiners ask how a tract was assigned; "rooftop address point, National Address Database r24, TIGER/Line 2025" is an answer. Rows placed at a ZIP or place centroid should be re-checked before filing.

Ready to geocode for real?

10,000 free lookups a month, every append included, no card.