ReppedStart Here‹ Map
Help
← Repped API for developers

How our data is verified

"Who represents this address?" is only worth paying for if the answer is right. This page is the methodology behind every value the Repped API returns — including the parts that aren't finished, because a coverage claim without its gaps is marketing, not methodology.

Coverage, as of July 2026

7,900+

federal & state officials indexed

5,500+

municipalities with verified local officials

50

states with local coverage

3

district layers per lookup (CD, state upper, state lower)

The pipeline

  1. Authoritative sources first. Federal officials come from Congress.gov; state legislators from the states' own rosters (via Open States and state sources); districts from Census TIGER boundaries. These sources are re-pulled on a schedule, not scraped once.
  2. Verbatim verification for local officials. A mayor enters the dataset only if their name and title appear verbatim on the municipality's own official website. Software may locate a candidate value, but code confirms the exact string on the official page before it's kept — anything unconfirmed is routed to human review instead of published.
  3. The elected-executive gate. Appointed city managers and administrators are not mayors. Titles are checked against an elected-executive whitelist; appointed staff are excluded rather than mislabeled — even though that lowers our coverage number.
  4. Provenance travels with the data. Every field in an API response carries fieldProvenance: the source, a verification status, and the timestamp it was last checked. You never have to take a value on faith — you can see exactly how fresh it is.
  5. Scheduled refresh. Datasets are refreshed by automated jobs; officials carry an updatedAt, and stale values are re-checked rather than assumed.

What provenance looks like

"fieldProvenance": {
  "name":  { "source": "congress.gov", "status": "verified", "checkedAt": "2026-06-09T19:29:10Z" },
  "party": { "source": "congress.gov", "status": "verified", "checkedAt": "2026-06-09T19:29:10Z" }
}

Known gaps (the honest section)

Found something wrong? Every record has a report path — email the error and it gets fixed at the source, not patched over.

Audit it yourself

The free tier is 1,000 lookups/month. Run your own address list through it and check the provenance on every field that comes back.

Get a free API key →