canonical: https://jentic.com/apis/googleapis.com/civicinfo

# Google Civic Information API

The Google Civic Information API provides US-focused civic data - elected officials, polling locations, election information, and political divisions - keyed by postal address or OCD division identifier. It is widely used by civic-tech apps, voter-engagement tools, and journalism projects to surface representatives and ballot information for a given address. The API is small (six endpoints) but covers the main lookups needed for representative info and election day support.

## For AI agents

Look up US elected officials, polling places, and election information by address or OCD division identifier.

## Scope

Does not handle voter registration submissions, non-US elections, or candidate fundraising data - use for US representative, division, and election lookups only.

## Capabilities

- Look up federal, state, and local elected officials representing a US address
- Retrieve representative info for a specific OCD division (Open Civic Data identifier)
- Search and list political divisions matching a query string
- Convert an address to its set of political divisions
- Return upcoming election information including polling places and contests
- Surface ballot and election-day details for a registered voter address

## Use cases

### Voter Engagement Tooling

Civic-tech and advocacy apps power 'find your representative' and 'find your polling place' features by calling the representatives.representativeInfoByAddress and elections.voterInfoQuery endpoints with the user's home address. The responses include officials by office, contact channels, polling place details, and the contests on the ballot. Most apps cache responses for the duration of an election cycle.

Example prompt: Call /civicinfo/v2/representatives?address=1600+Pennsylvania+Ave+Washington+DC and return the names and contact channels of all federal officials returned.

### Newsroom Election Day Support

Newsrooms and political journalism projects use elections.electionQuery and elections.voterInfoQuery to power election-day live tools - lookup widgets that show readers what's on their ballot and where to vote. The API returns structured contest, candidate, and polling-location data, which feeds into custom rendering on newsroom sites.

Example prompt: Call /civicinfo/v2/voterinfo?address=350+5th+Ave+New+York+NY for the next election and return the polling location and the list of contests.

### Address-to-Division Resolution

Civic data products map a postal address to the full set of political divisions it falls into - federal congressional district, state legislative districts, county, municipality - using divisions.queryDivisionByAddress. This is the resolution layer that powers 'who represents me' tools and constituent-services CRMs. Each response is a single API call.

Example prompt: Call /civicinfo/v2/divisionsByAddress?address=1600+Amphitheatre+Pkwy+Mountain+View+CA and return the OCD division ids of every division covering the address.

### AI Agent Civic Assistant via Jentic

An AI agent through Jentic acts as a civic assistant - taking a street address and returning a plain-language summary of the user's representatives, the next election, and the polling place. Jentic isolates the API key so the agent never holds the raw key string.

Example prompt: Through Jentic, search civicinfo_representative_info_by_address, load schema, and execute it for the supplied address returning a list of officials by level.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /civicinfo/v2/representatives | Look up officials representing a US address |
| GET | /civicinfo/v2/representatives/{ocdId} | Look up officials by OCD division id |
| GET | /civicinfo/v2/divisions | Search civic divisions by query |
| GET | /civicinfo/v2/divisionsByAddress | Resolve divisions covering an address |
| GET | /civicinfo/v2/elections | List upcoming elections |
| GET | /civicinfo/v2/voterinfo | Retrieve voter info and polling place |

## Key resources

- **Representatives** — Look up elected officials by address or OCD division id
- **Divisions** — Search and resolve political divisions by query or address
- **Elections** — List upcoming elections and retrieve voter and ballot info

## Why Jentic

- **Setup:** Wiring the Google Civic Information API by hand means provisioning a Google Cloud API key, appending it to each request, and shaping representative, division, and election lookups yourself. Through Jentic you install once, import the Google Civic Information API from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** These are read-only US civic lookups where the query travels in the request parameters, so scope the agent to the operations it needs, such as representatives lookup, divisionsByAddress, or voterinfo. You choose those operations, and any not in that set are not included unless you add them.
- **Credential handling:** Your Google Cloud API key is stored once, encrypted, by your own Jentic One instance and injected at execution time. The raw key string never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find my US representative by address', and Jentic returns the representatives lookup operation with its parameter schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Google Places API** — Resolve and validate addresses or look up nearby polling places by location.
- **Google Custom Search API** — Free-text search across the web rather than structured civic data.
- **YouTube Data API** — Surface candidate and elected official video content alongside Civic Info data.

## FAQ

### What authentication does the Civic Information API use?

It uses a Google Cloud API key passed as the key query parameter. No OAuth is required because the data is public US civic information. Through Jentic, the API key is stored encrypted in your Jentic One instance and the agent calls the API without ever holding the raw key value.

### Can I look up a representative by address?

Yes. GET /civicinfo/v2/representatives?address=<address> returns officials at federal, state, and local levels along with contact channels (phones, urls, email, social handles). The address must be a US address; international addresses are not supported.

### What are the rate limits for the Civic Information API?

Google enforces a default of 25,000 queries per day per project on civicinfo. Higher quota can be requested via the Google Cloud console. Most applications cache representative lookups by address since the underlying data changes only between elections.

### How do I get voter info for an address through Jentic?

Use the Jentic search query "google civic voter information" to discover the elections.voterInfoQuery operation, load its schema, and execute it with the address and optionally an electionId. Run pip install jentic to get started.

### Does the API cover non-US elections?

No. The Civic Information API covers only United States civic data - federal, state, and local. For other countries, this API is not the right source.

### Is the Civic Information API free?

Yes, the API is free within the default project quota. The underlying civic data is sourced from public records and partner providers and made available without charge.

### Can I limit what my agent is allowed to do with the Google Civic Information API?

Yes. Because these are read-only US civic lookups where the query travels in the request parameters, your self-hosted Jentic One instance lets you decide which operations the agent may call and restrict it to just those. You can, for example, allow the representatives lookup and divisionsByAddress but exclude voterinfo or elections, and any operation you do not include stays off limits until you add it. Your own rules also govern which stored credentials the agent may use, so the Google Cloud API key is only ever applied to the operations you have permitted.
