LTE Discovery Coverage Intelligence API

Coverage API quickstart

Authenticate with one header, query measured LTE and 5G NR coverage by coordinate, H3 cell or bounding box, and pull extracts as JSON, GeoJSON or files. The full contract is in the OpenAPI 3.1 specification.

1. Get a key

Start the 14-day evaluation from the dashboard: no card, one showcase metro, 500 units. Free test keys (prefix lted_test_) return real data inside the San Francisco sandbox at no unit cost, so you can wire up your integration first.

2. Authenticate

Send the key in the X-API-Key header on every request to https://ltediscovery.app/api/partner/v1. Keep keys server-side; self-service licenses cover internal use.

3. Make a first request

curl "https://ltediscovery.app/api/partner/v1/lookup?lat=37.7749&lon=-122.4194&res=8" \
  -H "X-API-Key: $LTED_API_KEY"

The response lists what was measured at the point by carrier, band and generation with RSRP, RSRQ and SINR statistics and reading counts, or insufficient_evidence when there are not enough readings. That is not a no-coverage claim.

Endpoints

MethodEndpointBillable unitOutput
GET / POST/api/partner/v1/lookupInput locationCoverage and RF evidence by coordinate
GET / POST/api/partner/v1/coverage/h3Input H3 cellCoverage and RF evidence by H3 cell id
GET/api/partner/v1/coverage100 returned rows (5 on evaluation)H3 JSON or GeoJSON extract
GET/api/partner/v1/cells10 returned rows (5 on evaluation)Per-cell PCI/TAC/PLMN/GCI, band, EARFCN/NR-ARFCN, RSRP stats (no position)
GET/api/partner/v1/band-deployment100 returned rows (5 on evaluation)Carrier × generation × band footprint
GET/api/partner/v1/measurements10 returned rows, paid plans onlyRaw readings with exact time and position
GET/api/partner/v1/network-benchmark10 units / bounded requestPaired-cell carrier RF comparison
GET/api/partner/v1/catalogFreeMachine-readable schemas and evidence contract

Cells are selected by market, county, CBSA or state and never carry a position: the roster is cell identity and channel data, not site locations. Raw measurements are available on paid plans, up to 31 days per request.

Extracts and pagination

import os, requests

res = requests.get(
    "https://ltediscovery.app/api/partner/v1/coverage",
    params={"bbox": "-122.45,37.76,-122.40,37.79", "res": 8, "format": "geojson"},
    headers={"X-API-Key": os.environ["LTED_API_KEY"]},
)
res.raise_for_status()
print(res.headers["X-Usage-Units"], len(res.json()["features"]))

Coverage, cells, band deployment and lookups page with an opaque cursor when you pass limit: follow next_cursor while has_more is true. Use an export for an exact snapshot.

Usage you can see

X-Usage-UnitsUnits this request cost. Failed requests cost 0.
X-Usage-RemainingUnits left in the billing period.
X-RateLimit-RemainingRequests left in the current minute.
X-Data-Refreshed-AtWhen the data behind the response was last rebuilt.

Plans include a monthly unit budget and stop at the limit: no automatic overages. Compare plans.

Files, feeds and webhooks

Exports deliver CSV, Parquet, GeoParquet or GeoJSON files. Scale and Enterprise plans can schedule feeds, and webhooks notify your endpoint when an export or feed is ready.

See the data before you integrate

The free San Francisco sample shows the same measured hexagons, bands and methodology.