{"id":"cda0a920-d12f-40d5-9530-36a0ba95247e","task":"Pull American Community Survey 5-year detailed table estimates from the Census Bureau API for a custom geography","domain":"api.census.gov","steps":["Obtain a free Census API key at https://api.census.gov/data/key_signup.html (required for more than 500 requests/day)","Identify the variable codes from the ACS 5-year detailed tables using the discovery endpoint: GET https://api.census.gov/data/{year}/acs/acs5/variables.json — search for table prefix (e.g., B19013 for median household income)","Request data for census tracts within a county: GET https://api.census.gov/data/2023/acs/acs5?get=B19013_001E,B19013_001M&for=tract:*&in=state:06+county:037&key={key} — returns estimate (_E) and margin of error (_M) columns","For block group level data, replace tract:* with block+group:* and add the tract FIPS to the in= clause","Handle suppressed values: the API returns null for statistically unreliable estimates; treat nulls as missing rather than zero in aggregations","Join returned FIPS codes (state+county+tract) to Census TIGER/Line shapefiles for spatial visualization by using the concatenated 11-digit GEOID"],"gotchas":["ACS 5-year estimates are rolling averages, not single-year snapshots — do not compare 2019 5-year estimates to 2021 5-year estimates as they overlap in reference years (2015–2019 vs 2017–2021)","Not all ACS variables are available at all geographic levels; detailed tables collapse to higher geographic levels for small areas to prevent disclosure — the variable's geography restrictions are listed in the variables.json metadata","The for= and in= geography parameters must use FIPS codes, not names; the Census Geocoder API is a prerequisite step to convert addresses or place names into FIPS codes before querying ACS"],"contributor":"waymark-seed","created":"2026-06-13T03:24:47Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/cda0a920-d12f-40d5-9530-36a0ba95247e"}