API access
Your AI client reaches FCC Fixed Broadband Availability through one ParcelOps MCP endpoint, so there is no separate key to hold for it and no per-source client to write. Reaching it takes no credentials of your own.
Where it came from
Freshness and coverage
What this source cannot tell you
- ⚠ Anything outside United States (nationwide, all states), District of Columbia, and Puerto Rico and the United States territories. A request past that edge comes back empty rather than approximated.
- ⚠ Anything from before 2021-06-30.
- ⚠ Anything after 2021-06-30.
- ⚠ Anything Federal Communications Commission, Form 477 fixed broadband deployment, June 2021 status does not publish. ParcelOps returns this source as it stands and never fills a blank field from a different one.
- ⚠ This is the FCC final Form 477 fixed broadband collection and reflects deployment as of June 30, 2021. It is not the current National Broadband Map. Networks built, upgraded, retired, or resold since that date are not in this data.
- ⚠ Current location level availability lives in the FCC Broadband Data Collection. Its public data API answers 401 without an FCC issued username and key, and the broadband serviceable location fabric underneath it carries a licence that forbids redistribution, so ParcelOps deliberately does not read it. Treat a Form 477 answer as a floor and confirm anything current with the provider.
- ⚠ A provider that reports deployment of a particular technology and bandwidth in a particular census block may not necessarily offer that particular service everywhere in the census block.
- ⚠ One served location makes the whole block reported as served. Rural census blocks can span several square miles, so a large block reading as served is the single most common way this data overstates what reaches a specific parcel.
- ⚠ Speeds are maximum advertised and self reported by the filer, not measured and not a service level guarantee. The FCC rounds them on publication and caps any figure at or above 1000 Mbps at 1000, so a 1000 Mbps row is a ceiling rather than a reading.
- ⚠ Satellite filers report nearly every populated block, so a total provider count is almost never zero. Read the terrestrial counts, not the total, when the question is whether a parcel has wired or fixed wireless service.
- ⚠ A reported provider is not a quote, a drop at the property, or confirmed capacity. Confirm serviceability, install timeline, and any construction charge with the named provider.
- ⚠ Block codes here are 2010 census blocks. The point lookup asks the FCC census block service for the 2010 vintage on purpose, because a 2020 block code does not join to this data.
- ⚠ Fixed service only. Mobile 4G LTE and 5G coverage is a separate FCC collection, is not in this dataset, and cannot be inferred from anything returned here.
- ⚠ Area summary figures are 2010 census population counts by number of providers, not household or premises counts. Each area is split into urban and rural parts and tribal and non tribal parts, so the parts must be summed before describing a whole area.
- ⚠ The number of providers in a census block does not purport to measure competition, and it does not reflect the number of choices available to any particular household or business location in that block.
Methods (4)
A method is one call your agent can make against this source.
getBroadbandAtPoint
readWhich internet providers reported fixed service at a coordinate, and over which technology.
What you must providelatitudelongitudeRecords returnedbroadband_availabilityHow to get more resultsoffset (offsetField: offset, limitField: limit)UnitsmaxAdvertisedDownloadMbps: Mbps · maxAdvertisedUploadMbps: MbpsCoordinate systemEPSG:4326FreshnessStatic (source-level)Input schema
{ "type": "object", "properties": { "latitude": { "type": "number", "minimum": -90, "maximum": 90, "description": "WGS84 latitude." }, "longitude": { "type": "number", "minimum": -180, "maximum": 180, "description": "WGS84 longitude (negative in the United States)." }, "technologies": { "type": "array", "description": "Keep only these technology families. Defaults to every family the block reports.", "minItems": 1, "maxItems": 8, "uniqueItems": true, "items": { "type": "string", "enum": [ "fiber", "cable", "dsl", "fixed-wireless", "satellite", "copper", "power-line", "other" ] } }, "minDownloadMbps": { "type": "number", "minimum": 0, "maximum": 1000, "description": "Keep only rows whose maximum advertised download is at least this many Mbps." }, "serviceType": { "type": "string", "enum": [ "any", "residential", "business" ], "description": "Which market the provider reported serving in the block. Defaults to any." }, "limit": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Maximum provider rows to return. Defaults to 100." }, "offset": { "type": "integer", "minimum": 0, "maximum": 5000, "description": "Provider rows to skip, for paging. Defaults to 0." } }, "required": [ "latitude", "longitude" ], "additionalProperties": false }- ⚠ The coordinate is resolved to one 2010 census block, so a parcel that straddles a block boundary can have a different answer at its other corner.
- ⚠ A coordinate outside the United States returns zero rows with a caveat rather than an error.
Read the terrestrial counts, not the total: satellite is nearly everywhere.
getBroadbandInCensusBlock
readProviders, technologies, and advertised speeds reported in one 2010 census block.
What you must provideblockCodeRecords returnedbroadband_availabilityHow to get more resultsoffset (offsetField: offset, limitField: limit)UnitsmaxAdvertisedDownloadMbps: Mbps · maxAdvertisedUploadMbps: MbpsFreshnessStatic (source-level)Input schema
{ "type": "object", "properties": { "blockCode": { "type": "string", "pattern": "^[0-9]{15}$", "description": "15 digit 2010 census block FIPS code, for example 484530018491007." }, "technologies": { "type": "array", "description": "Keep only these technology families. Defaults to every family the block reports.", "minItems": 1, "maxItems": 8, "uniqueItems": true, "items": { "type": "string", "enum": [ "fiber", "cable", "dsl", "fixed-wireless", "satellite", "copper", "power-line", "other" ] } }, "minDownloadMbps": { "type": "number", "minimum": 0, "maximum": 1000, "description": "Keep only rows whose maximum advertised download is at least this many Mbps." }, "serviceType": { "type": "string", "enum": [ "any", "residential", "business" ], "description": "Which market the provider reported serving in the block. Defaults to any." }, "limit": { "type": "integer", "minimum": 1, "maximum": 500, "description": "Maximum provider rows to return. Defaults to 100." }, "offset": { "type": "integer", "minimum": 0, "maximum": 5000, "description": "Provider rows to skip, for paging. Defaults to 0." } }, "required": [ "blockCode" ], "additionalProperties": false }- ⚠ The dataset publishes no block roster, so an unfiled block and a nonexistent block return the same empty answer.
A 2020 block code returns a confident empty. Use the 2010 vintage.
getAreaBroadbandSummary
readHow much of an area had no provider at a speed tier, split urban, rural, and tribal.
What you must provideareaTypeRecords returnedbroadband_availabilityHow to get more resultsnoneUnitspopulationWithNoProvider: people · populationCovered: peopleFreshnessStatic (source-level)Input schema
{ "type": "object", "properties": { "areaType": { "type": "string", "enum": [ "nation", "state", "county", "place", "cbsa", "cd", "tribal" ], "description": "Which published area geography to read." }, "areaId": { "type": "string", "pattern": "^[0-9A-Za-z]{1,12}$", "description": "Published area identifier, for example 48453 for a county or 48 for a state. Optional for nation." }, "speedTier": { "type": "string", "enum": [ "0.2", "4", "10", "25", "100", "250", "1000" ], "description": "Download side of the published download and upload pairing. Defaults to 25, meaning 25/3 Mbps." }, "areaTechnologies": { "type": "array", "description": "Technology letters to count together: a ADSL, c cable, f fiber, o other, s satellite, w wireless. Defaults to acfow, which excludes satellite.", "minItems": 1, "maxItems": 6, "uniqueItems": true, "items": { "type": "string", "enum": [ "a", "c", "f", "o", "s", "w" ] } } }, "required": [ "areaType" ], "additionalProperties": false }- ⚠ Population is from the 2010 census, so it is a distribution key rather than a current count.
Population counts, not households. Sum the urban and rural parts.
getServiceInfo
readDataset inventory, technology and speed vocabulary, coverage, and the gate on current data.
FreshnessStatic (source-level)Input schema
{ "type": "object", "properties": {}, "required": [], "additionalProperties": false }Also names the FCC surfaces this connector deliberately does not read.
Where this source is used
- Land research
Parcel records, ground conditions, and what reaches the property line, for raw and rural land.
- Data center siting
Power, water, transport, airspace, and hazard screening for a site before anyone signs anything.
- Which internet providers reported service at this address?
