FCC Census Block Conversions API
Free FCC API with no key: convert any latitude and longitude to its US Census block FIPS code, county, state and 2020 block population. Tested curl example and live response.
Endpoint tested and returned HTTP 200 on 2026-08-21
What is the FCC Census Block Conversions API?
The FCC Area API converts a latitude and longitude into the US Census block containing it, returning the 15-digit block FIPS code, county and state FIPS codes and names, the block's 2020 population and a set of FCC service area identifiers. It needs no API key.
Census block FIPS codes are the join key for a huge amount of American public data — broadband availability, demographics, redistricting, health statistics — and this endpoint is the cleanest free way to obtain one from coordinates. The 15-digit `block_fips` is hierarchical: the first two digits are the state, the next three the county, the next six the census tract and the last four the block, so you can truncate it to whatever geography level your other dataset uses without a second lookup.
What makes it more useful than a plain geocoder is the extra baggage. Alongside the census identifiers you get FCC service area codes — `bea`, `bta`, `cma`, `mta`, `pea`, `rea` and friends — which are the market areas used in spectrum licensing and telecom filings. If you have ever tried to reconcile an FCC licence record with a street address, those codes are the missing link. The `bbox` gives the block's bounding box, and `block_pop_2020` gives its population, so you can spot whether a coordinate lands somewhere essentially uninhabited.
Quick facts
- Base URL
https://geo.fcc.gov/api/census- Authentication
- No API key and no registration. The FCC publishes this as a public geographic conversion service.
- Rate limit
- No published limit. Cache results — census block boundaries change only with the decennial census.
- Pricing
- Free. US government works are in the public domain.
- CORS
- Enabled — callable directly from browser JavaScript
- Official docs
- Read the docs
How to use the FCC Census Block Conversions API
Every request below was executed against the live API on 2026-08-21, and the response shown is the real body it returned — not an illustration.
1. Convert coordinates to a US Census block
GET https://geo.fcc.gov/api/census/area?lat=40.0150&lon=-105.2705&format=json
curl 'https://geo.fcc.gov/api/census/area?lat=40.0150&lon=-105.2705&format=json'const res = await fetch("https://geo.fcc.gov/api/census/area?lat=40.0150&lon=-105.2705&format=json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);import requests
res = requests.get("https://geo.fcc.gov/api/census/area?lat=40.0150&lon=-105.2705&format=json", timeout=20)
res.raise_for_status()
print(res.json()){
"input": {
"lat": 40.015,
"lon": -105.2705,
"censusYear": "2020"
},
"results": [
{
"block_fips": "080130122061017",
"bbox": [
-105.27256,
40.014588,
-105.27022,
40.015414
],
"county_fips": "08013",
"county_name": "Boulder County",
"state_fips": "08",
"state_code": "CO",
"state_name": "Colorado",
"block_pop_2020": 83,
"amt": "AMT010",
"bea": "BEA141",
"bta": "BTA110",
"cma": "CMA019",
"eag": "EAG005",
"ivm": "IVM019",
"mea": "MEA033",
"mta": "MTA022",
"pea": "PEA020",
"rea": "REA005",
"rpc": "RPC004",
"vpc": "VPC025"
}
]
}Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
lat | query | Required | Latitude in decimal degrees. 40.0150 |
lon | query | Required | Longitude in decimal degrees. Negative for the western hemisphere. -105.2705 |
format | query | Optional | `json`, `xml` or `jsonp`. Defaults to XML, so set it explicitly. json |
censusYear | query | Optional | Census vintage to resolve against. Defaults to 2020. 2020 |
Response fields
inputobject- Echo of the coordinates and census year used, useful for confirming the vintage.
results[].block_fipsstring- 15-digit block FIPS. Truncate to 2, 5 or 11 digits for state, county or tract.
results[].bboxarray- Bounding box of the block as `[west, south, east, north]`.
results[].county_fips / county_namestring- County identifier and name.
results[].state_fips / state_code / state_namestring- State FIPS, two-letter code and full name.
results[].block_pop_2020integer- Population of the block at the 2020 census. Zero means uninhabited.
results[].bea / bta / cma / mta / pea / reastring- FCC market and service area codes used in spectrum licensing.
What you can build with the FCC Census Block Conversions API
- Join an address to census demographic or broadband data
- Derive county and state FIPS codes from coordinates
- Look up FCC market areas for a telecom filing
- Validate that a coordinate falls inside the United States
- Aggregate points to census tracts for choropleth mapping
Common errors and how to fix them
XML when you expected JSON
The default response format is XML.
Fix: Always pass `format=json` explicitly.
Empty results array
The coordinate falls outside US census geography.
Fix: Check the sign on the longitude — a missing minus puts a US point in central Asia.
FIPS code loses its leading zero
It was parsed as a number.
Fix: Treat every FIPS value as a string; block codes routinely begin with zero.
Codes do not match another dataset
The census vintage differs.
Fix: Set `censusYear` to match the vintage of the dataset you are joining to — 2010 and 2020 block boundaries are not the same.
FCC Census Block Conversions API — frequently asked questions
Is the FCC Area API free?
Yes, with no key and no registration. The FCC publishes it as a public geographic conversion service.
What is a census block FIPS code?
A 15-digit hierarchical identifier for the smallest US census geography. The first two digits are the state, the next three the county, the next six the tract and the last four the block, so it can be truncated to any level you need.
What are the bea, cma and pea codes for?
They are FCC market and service areas used in spectrum licensing and telecom regulatory filings. Having them alongside the census codes is what makes this more than an ordinary reverse geocoder.
Should I use 2010 or 2020 census boundaries?
Match whichever dataset you are joining to. Block boundaries were redrawn for 2020, so mixing vintages silently produces mismatches — set `censusYear` explicitly rather than relying on the default.
Tools that pair with this API
Coordinate Converter
Convert GPS coordinates between decimal degrees, degrees-minutes-seconds and decimal minutes instantly. Paste any format like 40°26'46"N and copy the result.
Geohash Encoder
Convert latitude and longitude to a geohash at any precision from 1 to 12 characters, with the ground size of each cell shown alongside.
JSON to CSV Converter
Convert a JSON array of objects to CSV online. Automatic column headers from the union of all keys, delimiter choice and proper quoting — all in-browser.
FCC Census Block Conversions is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-21; always check the official documentation before relying on this API in production, as terms and limits can change.