API Documentation Alpha
This is an alpha release of the Broadband Map API. It's in a very early stage with just a few public endpoints. Request formats, response schemas, and rate limits may change.
The API lets you look up broadband providers and cellular signal strength at any US location specified by a latitude and longitude.
No API key needed (for now, at least). Rate limits are tight during the alpha (60 requests per hour per IP). Please get in touch if you'd like to make a higher volume of requests.
Internet Providers at a Location
GET /api/v1/location/internet?lat={lat}&lng={lng}
Returns internet providers available at the given coordinates.
Parameters
| Name | Required | Description |
|---|---|---|
lat | Yes | Latitude, -90 to 90 |
lng | Yes | Longitude, -180 to 180 |
service_type | No | residential (default) or business |
Example Request
curl "https://broadbandmap.com/api/v1/location/internet?lat=40.758&lng=-73.985"
Example Response
{
"lat": 40.758,
"lng": -73.985,
"h3_hex": "882a100d65fffff",
"h3_resolution": 8,
"service_type": "residential",
"count": 3,
"providers": [
{
"name": "Verizon",
"technology": "Fiber",
"technology_code": 50,
"max_download_mbps": 940,
"max_upload_mbps": 880,
"provider_id": 131425
},
{
"name": "Altice USA",
"technology": "Cable",
"technology_code": 40,
"max_download_mbps": 1000,
"max_upload_mbps": 50,
"provider_id": 130403
},
{
"name": "T-Mobile",
"technology": "Fixed Wireless",
"technology_code": 70,
"max_download_mbps": 245,
"max_upload_mbps": 31,
"provider_id": 130403
}
]
}
Cellular Signal Strength at a Location
GET /api/v1/location/cell?lat={lat}&lng={lng}
Returns cell coverage data for networks at the given coordinates, including signal strength in dBm and a human-readable signal level.
Parameters
| Name | Required | Description |
|---|---|---|
lat | Yes | Latitude, -90 to 90 |
lng | Yes | Longitude, -180 to 180 |
network | No | Filter to one network. Options: att, verizon, t-mobile, us-cellular, dish, gci, cellcom, c-spire |
tech | No | Filter by generation: 4g, 5g |
Example Request
curl "https://broadbandmap.com/api/v1/location/cell?lat=40.758&lng=-73.985"
Example Response
{
"lat": 40.758,
"lng": -73.985,
"h3_hex": "892a100d657ffff",
"h3_resolution": 9,
"count": 6,
"coverage": [
{
"network": "T-Mobile",
"network_slug": "t-mobile",
"technology": "5G NR",
"technology_code": 500,
"rsrp_dbm": -85.2,
"signal_level": "Strong"
},
{
"network": "T-Mobile",
"network_slug": "t-mobile",
"technology": "4G LTE",
"technology_code": 400,
"rsrp_dbm": -88.7,
"signal_level": "Strong"
},
{
"network": "AT&T",
"network_slug": "att",
"technology": "5G NR",
"technology_code": 500,
"rsrp_dbm": -92.1,
"signal_level": "Good"
},
{
"network": "Verizon",
"network_slug": "verizon",
"technology": "4G LTE",
"technology_code": 400,
"rsrp_dbm": -97.5,
"signal_level": "Good"
}
]
}
Rate Limits & Errors
During the alpha, the API is limited to 60 requests per hour per IP address. There's also an alpha-period global cap of 1,000 requests per hour across all users. These will loosen up over time. If you hit either limit you'll get a 429:
{
"error": "Rate limit exceeded. Please slow down."
}
Validation errors return 400 with a description of the problem:
{
"error": "lat and lng parameters are required"
}
{
"error": "Unknown network \"sprint\". Valid options: att, c-spire, cellcom, dish, gci, t-mobile, us-cellular, verizon"
}
OpenAPI Spec
A machine-readable OpenAPI 3.0 specification is available for download:
Data
The data served by this API starts with the FCC's Broadband Data Collection (BDC) program but goes through Broadband Map's processing pipeline before it gets to you.
Internet availability data is cleaned, corrected, and lightly supplemented. ISPs report their service areas to the FCC roughly every six months.
Cell coverage is more heavily transformed. The FCC publishes network-reported signal strength predictions based on radio-frequency modeling, and these tend to be overly optimistic. Broadband Map uses crowdsourced real-world measurements to get a general sense of how well each network's modeled coverage corresponds to on-the-ground coverage.
Both endpoints use the H3 hexagonal grid system, which means results at nearby coordinates within the same H3 hexagon will be identical.