BYTETOOLS

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.

No API key requiredCORS enabledHTTPSFree tier

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
curl 'https://geo.fcc.gov/api/census/area?lat=40.0150&lon=-105.2705&format=json'
JavaScript (fetch)
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);
Python (requests)
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())
Response — HTTP 200
{
  "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

ParameterTypeRequiredDescription
latqueryRequiredLatitude in decimal degrees. 40.0150
lonqueryRequiredLongitude in decimal degrees. Negative for the western hemisphere. -105.2705
formatqueryOptional`json`, `xml` or `jsonp`. Defaults to XML, so set it explicitly. json
censusYearqueryOptionalCensus 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

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.