RepsContact

Help people reach their representatives.

Free tools for campaigns, advocacy sites, and civic apps. Embed a lookup widget, call the free API, or just link to our page. No signup, no API key.

Data updated · No API key required

What makes us different

We get every district right.

About one in ten US zip codes crosses two or three congressional districts. Most other lookup tools just pick one district and hope they're right. We don't.

When a zip code is ambiguous, we ask for a street address or use the visitor's location, so your supporters always reach the right representative, not a guess.

  • Clear zip code? Results appear instantly.
  • Ambiguous zip? We ask for an address.
  • Or let visitors share their location for one-tap accuracy.

Add the widget to your site

Paste this one line of HTML anywhere. Works on any site, framework, or CMS.

<iframe src="https://repscontact.com/embed/widget"
  width="100%" height="600"
  style="border:none; max-width:700px;">
</iframe>
See all embed options & live preview →

Or call the API from your app

Send a zip, address, or coordinates. Get JSON back. No API key required.

GET /api/reps?zip=98101
GET /api/reps?address=123+Main+St,+Denver
GET /api/reps?lat=38.9&lng=-77.0
Full API docs →

Why not just use…

The Census Geocoder

Returns FIPS codes and district numbers, not representatives. You still need to cross-reference against a separate legislator dataset, handle FIPS-to-state mapping, and filter by current term dates. RepsContact does all of that for you.

Google Civic Information API

Requires an API key, a Google Cloud project, and is being deprecated. RepsContact needs none of that.

congress.gov / GovTrack

Great for research, but no zip-to-representative lookup. You can browse by name or state, but there's no "who represents this address?" endpoint.

5Calls

Excellent for individual callers with call scripts and issue tracking. But no embeddable widget or API for your site. RepsContact is built for integration into your campaign's web presence.