API & MCP
Free and without keys during the preview. Every response carries dataset_version, so you can cite exactly what you read.
MCP
Streamable HTTP, stateless: https://electionindex.org/mcp. Tools: upcoming_elections, election_status, when_final, check_question, resolution_sources, dataset_health.
claude mcp add --transport http electionindex https://electionindex.org/mcp
REST
| Endpoint | Returns |
|---|---|
/v1/elections?from=2026-10-01&to=2026-12-31 | Elections in range (filters: country, from, to, status; full=1 for races) |
/v1/elections/latvia-parliamentary-2026 | One election with races, stage windows, sources, staleness |
/v1/elections/brazil-general-2026/races/president/when?stage=final-result | The expected window for one stage |
/v1/elections/sweden-general-2026/races/riksdag/sources?resolvable=1 | Classified sources; resolvable=1 for results pages and feeds only |
/v1/check?election=latvia-parliamentary-2026&stage=final-result&ask_at=2026-10-04T12:00:00Z | Is a question answerable at that time? verdict, settle_after, sources |
/v1/authorities · /v1/countries · /v1/discovered · /v1/health | Registries and dataset health |
Corrections
Report a mistake with the URL that proves it: POST /v1/corrections with JSON {"claim": "...", "evidence": "https://...", "election": "optional-id", "race": "optional"}, the MCP tool submit_correction, or the form. Every report and its outcome is public at /v1/corrections. At most 5 reports per hour per client.
Licence and attribution
Data is CC BY 4.0. Credit Election Index and link to electionindex.org (or the election's page) where you show or republish it, and say if you changed it.