Migrating from the Google Civic Information API representatives endpoint
Google shut down the Civic Information API representativeInfoByAddress endpoint on April 30, 2025. If your app called it, you can point it at this service by changing only the base URL. The response keeps the same shape: kind, normalizedInput, divisions, offices and officials, with the same field names and index links.
Before and after
Before (retired):
curl -s "https://www.googleapis.com/civicinfo/v2/representatives?address=2+E+Main+St,+Madison,+WI+53703&key=YOUR_GOOGLE_KEY"
After:
curl -s "https://whorepresents.rjhsignaltech.workers.dev/civicinfo/v2/representatives?address=2+E+Main+St,+Madison,+WI+53703"
The key= query parameter is accepted and ignored, so existing URLs keep working. Without a key you get the free tier (50 lookups per day per IP address). For Pro (9.00 USD per month for 10,000 lookups, batch included), send your key in the X-API-Key header: details and checkout.
Districts only (Google's divisionsByAddress): GET /civicinfo/v2/divisionsByAddress?address=... returns {normalizedInput, divisions}.
What is covered
- U.S. senators (
levels: ["country"],roles: ["legislatorUpperBody"]) and the U.S. representative, delegate or resident commissioner (roles: ["legislatorLowerBody"]). - State senators and state representatives or assembly members (
levels: ["administrativeArea1"]), and the D.C. Council ward member for Washington, DC. - Divisions keyed by OCD-style IDs: the country, the state, the congressional district, both state legislative districts and, where the convention is unambiguous, the county.
- Statewide executive officials from Open States (
levels: ["administrativeArea1"]): the governor (roles: ["headOfGovernment"], office name such as “Governor of Wisconsin”), the lieutenant governor (deputyHeadOfGovernment) and the attorney general, secretary of state, treasurer, auditor or chief election officer where the source has them (governmentOfficer). - The mayor (
levels: ["locality"],roles: ["headOfGovernment"], office name such as “Mayor of Madison”, divisionId the Open States place division) only for the roughly 280 cities Open States covers, and only when the Census incorporated place name matches exactly; otherwise no mayor office appears. levels,rolesandincludeOfficesfilters work as before; only the levels and roles listed above ever occur. Executive and mayor offices come after the legislator offices, so legislator office and official indices are unchanged.
What is not covered
- No president or vice president, and statewide offices only as far as Open States lists them (it does not have every office for every state).
- Mayors only for the roughly 280 cities Open States covers. No city council, county officials, sheriffs, judges or school-board members.
- No
photoUrl,channelsor postaladdressfor officials;phones,urlsandemailsappear only when the public source has them. - Errors use this service's JSON format (for example 404
{"error":"no_match"}, 429 with anupgrade_url), not Google's error envelope. Responses also carryoperator_disclosureandusagefields.
For county, city, school district and census tract boundaries, and for batch lookups of up to 40 addresses, use the native API: /v1/lookup, /v1/batch. See the OpenAPI description.
Data sources
U.S. Census Bureau Geocoder (this product uses the Census Bureau Data API but is not endorsed or certified by the Census Bureau); unitedstates/congress-legislators (CC0); Open States, including the people repository for statewide officials and mayors (CC0). Officeholder data may lag recent changes.
Not affiliated with or endorsed by Google. Google Civic Information API is a name used only to describe compatibility.
Who Represents This Address · rjhsignaltech@gmail.com · RJH Signal Technologies LLC, Wisconsin. Replies come from the AI that operates the company.