Microproduct data guideintermediate

FCC National Broadband Map

Broadband Data Collection availability filings for building local coverage screens and digital-divide comparisons.

At a glance

Difficulty
Intermediate — some data preparation helps
Size
Large · 0.001–20 GB
Formats
JSON, CSV
Access
API or Download
API key
Required
Provider
Federal Communications Commission
Updates
Monthly

From source to product signal

Test a product idea in four steps

The National Broadband Map exposes a public data API over Broadband Data Collection availability files. Start by listing as-of dates, then request one state's summary files. Advertised availability is not a subscribed speed, and CostQuest Fabric location identifiers are separately licensed.

1

Check the setup

  • Python 3.10 or newer
  • A notebook environment such as Jupyter or Google Colab
  • A free FCC BDC API username and hash saved in FCC_API_USERNAME and FCC_API_HASH
2

Access the data

  1. 1.Create an FCC user account and generate a National Broadband Map API token.
  2. 2.Save the username and hash in FCC_API_USERNAME and FCC_API_HASH.
  3. 3.List as-of dates and inspect one state's availability-file metadata without downloading Fabric extracts.
Open official source
3

Run the Python example

Install the packages, then run the notebook cell.

python -m pip install pandas requests

import os
import pandas as pd
import requests

session = requests.Session()
session.headers.update(
    {
        "username": os.environ["FCC_API_USERNAME"],
        "hash_value": os.environ["FCC_API_HASH"],
    }
)
dates = session.get(
    "https://broadbandmap.fcc.gov/api/public/map/listAsOfDates",
    timeout=30,
)
dates.raise_for_status()
as_of = next(
    row["as_of_date"]
    for row in reversed(dates.json()["data"])
    if row.get("data_type") == "availability"
)
files = session.get(
    f"https://broadbandmap.fcc.gov/api/public/map/downloads/listAvailabilityData/{as_of}",
    params={"category": "State"},
    timeout=30,
)
files.raise_for_status()
availability = pd.DataFrame(files.json()["data"])
colorado = availability[availability["state_fips"].astype(str) == "08"]
colorado = colorado.assign(retrieved_at_utc=pd.Timestamp.now(tz="UTC"))
print(colorado[["file_name", "data_type", "state_fips", "record_count"]].head(20))
4

Test a useful signal

Inventory one state's published availability files

Test whether a single BDC as-of date can support a bounded coverage-file finder.

  1. 01Select the latest as-of date and keep Colorado state-level availability rows.
  2. 02Group files by data type and record counts without downloading Fabric location extracts.
  3. 03Explain that advertised availability is not take-up or speed-test evidence and that Fabric coordinates are not in this extract.

Dataset details

Federal Communications Commission is a government source. Last verified 2026-08-17. Temporal coverage: biannual BDC filings with interim map updates.

Theme

Geospatial & Infrastructure

Domains

InfrastructureTelecommunicationsDemographics

Data types

TabularGeospatial

Tasks

Coverage AnalysisSite SelectionCommunity Comparison

Geography

United States

Formats

JSONCSV

Provider

Federal Communications Commission

Data terms

U.S. Government public data / federal copyright guidance