Serveur MCP

Election Index

org.electionindex/elections
Recherche et exploration Public et accessible MCP 2026-07-28

Ce que fait ce MCP

Provides sourced election calendars, upcoming election dates, count-stage timing, result status, finalization windows, resolution sources, and correction reporting.

check_question
Check a question
Is a question about a given count stage answerable at a given time? Returns verdict ok / too-early / inside-window / too-late, settle_after, and the resolvable sources. Built to stop questions that read the provisional count when they mean the final one.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['election'], 'properties': {'race': {'type': 'string', 'description': 'Race id, e.g. "president"; optional when the election has one race'}, 'stage': {'enum': ['exit-poll', 'election-night', 'media-call', 'intermediate-count', 'final-result', 'court-validation', 'government'], 'type': 'string', 'description': 'Default final-result'}, 'ask_at': {'type': 'string', 'description': 'ISO date-time; default now'}, 'election': {'type': 'string', 'description': 'Election id, e.g. "brazil-general-2026"; list ids with upcoming_elections'}}}
Schéma de sortie
{'type': 'object', 'required': ['result', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['dataset_version', 'licence'], 'properties': {'docs': {'type': 'string', 'description': 'Documentation URL'}, 'licence': {'type': 'string', 'description': 'Licence and required credit'}, 'built_at': {'type': 'string', 'description': 'When the dataset was built'}, 'generated_at': {'type': 'string', 'description': 'When this answer was generated'}, 'dataset_version': {'type': 'string', 'description': 'Dataset version'}}, 'description': 'What this answer was built from; cite dataset_version'}, 'result': {'type': 'object', 'required': ['election', 'race', 'verdict'], 'properties': {'race': {'type': 'string', 'description': 'Race id'}, 'stage': {'type': 'string', 'description': 'Count stage asked about'}, 'ask_at': {'type': 'string', 'description': 'Time the question would be asked (ISO)'}, 'detail': {'type': 'string', 'description': 'Explanation'}, 'window': {'type': ['object', 'null'], 'properties': {'by': {'type': ['string', 'null'], 'description': 'Latest expected time (ISO)'}, 'from': {'type': ['string', 'null'], 'description': 'Earliest expected time (ISO)'}, 'stage': {'type': 'string', 'description': 'Count stage id'}, 'source': {'type': ['string', 'null'], 'description': 'Source of a stage published outside the authority page'}, 'citation': {'type': 'string', 'description': 'Basis for the window'}, 'confidence': {'type': 'string', 'description': 'announced (law or authority), precedent (last election) or estimate'}, 'observedAt': {'type': ['string', 'null'], 'description': 'When the authority actually published it; null until observed'}, 'replacedAt': {'type': ['string', 'null'], 'description': 'When a later stage replaces it on the authority page'}, 'observedSource': {'type': ['string', 'null'], 'description': 'URL that proves the observation'}}, 'description': 'Expected window for one count stage'}, 'verdict': {'type': 'string', 'description': 'ok, too-early, inside-window, too-late or no-window'}, 'election': {'type': 'string', 'description': 'Election id'}, 'replaced_at': {'type': ['string', 'null'], 'description': 'When a later stage replaces this one'}, 'settle_after': {'type': ['string', 'null'], 'description': 'Earliest time the question can be settled'}, 'resolution_sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Source URL'}, 'kind': {'type': 'string', 'description': 'race_results, feed, results_index, emb_home, directory or media'}, 'role': {'type': 'string', 'description': 'What the page is for'}, 'check': {'type': ['object', 'null'], 'description': 'Latest link check'}, 'origin': {'type': 'string', 'description': 'race, stage or authority'}, 'kindReason': {'type': 'string', 'description': 'Why it was classified that way'}, 'resolvable': {'type': 'boolean', 'description': 'Can this page answer a results question?'}}}}}}}}
dataset_health
Dataset health
Coverage, stale records, races still lacking a results page, and publisher-gate warnings, as counts with the first 20 of each (full report at /v1/health). Use to judge how far to trust an answer.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {}}
Schéma de sortie
{'type': 'object', 'required': ['result', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['dataset_version', 'licence'], 'properties': {'docs': {'type': 'string', 'description': 'Documentation URL'}, 'licence': {'type': 'string', 'description': 'Licence and required credit'}, 'built_at': {'type': 'string', 'description': 'When the dataset was built'}, 'generated_at': {'type': 'string', 'description': 'When this answer was generated'}, 'dataset_version': {'type': 'string', 'description': 'Dataset version'}}, 'description': 'What this answer was built from; cite dataset_version'}, 'result': {'type': 'object', 'required': ['elections', 'races'], 'properties': {'races': {'type': 'integer', 'description': 'Races'}, 'stale': {'type': 'array', 'items': {'type': 'object'}, 'description': 'First 20 stale records'}, 'warnings': {'type': 'array', 'items': {'type': 'object'}, 'description': 'First 20 publisher-gate warnings'}, 'elections': {'type': 'integer', 'description': 'Profiled elections'}, 'authorities': {'type': 'integer', 'description': 'Counting authorities'}, 'full_report': {'type': 'string', 'description': 'URL of the full report with every warning'}, 'stale_total': {'type': 'integer', 'description': 'All stale records'}, 'links_checked': {'type': 'integer', 'description': 'Links checked by the Auditor'}, 'races_without': {'type': 'array', 'items': {'type': 'string'}, 'description': 'First 20 races lacking one'}, 'warnings_total': {'type': 'integer', 'description': 'All publisher-gate warnings'}, 'warnings_by_level': {'type': 'object', 'description': 'Warning count per level'}, 'races_without_total': {'type': 'integer', 'description': 'All races lacking one'}, 'discovered_unprofiled': {'type': 'integer', 'description': 'Found, not yet profiled'}, 'races_with_resolvable_results_source': {'type': 'integer', 'description': 'Races with a page that can answer a results question'}}}}}
election_status
Election status
Full record of one election: races, polls-close times, every count stage window (exit poll, election night, intermediate count, final result, government) with confidence and citation, the authority, sources, recorded vote counts, and whether the record is stale.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['election'], 'properties': {'election': {'type': 'string', 'description': 'Election id, e.g. "latvia-parliamentary-2026"'}}}
Schéma de sortie
{'type': 'object', 'required': ['result', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['dataset_version', 'licence'], 'properties': {'docs': {'type': 'string', 'description': 'Documentation URL'}, 'licence': {'type': 'string', 'description': 'Licence and required credit'}, 'built_at': {'type': 'string', 'description': 'When the dataset was built'}, 'generated_at': {'type': 'string', 'description': 'When this answer was generated'}, 'dataset_version': {'type': 'string', 'description': 'Dataset version'}}, 'description': 'What this answer was built from; cite dataset_version'}, 'result': {'type': 'object', 'required': ['id', 'country', 'date', 'status', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Election id'}, 'url': {'type': 'string', 'description': 'Page on electionindex.org'}, 'date': {'type': 'string', 'description': 'Polling day (YYYY-MM-DD)'}, 'kind': {'type': 'string', 'description': 'Kind of election'}, 'level': {'type': 'string', 'description': 'national or regional'}, 'races': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Race id'}, 'name': {'type': 'string', 'description': 'Race name'}, 'stages': {'type': 'array', 'items': {'type': ['object', 'null'], 'properties': {'by': {'type': ['string', 'null'], 'description': 'Latest expected time (ISO)'}, 'from': {'type': ['string', 'null'], 'description': 'Earliest expected time (ISO)'}, 'stage': {'type': 'string', 'description': 'Count stage id'}, 'source': {'type': ['string', 'null'], 'description': 'Source of a stage published outside the authority page'}, 'citation': {'type': 'string', 'description': 'Basis for the window'}, 'confidence': {'type': 'string', 'description': 'announced (law or authority), precedent (last election) or estimate'}, 'observedAt': {'type': ['string', 'null'], 'description': 'When the authority actually published it; null until observed'}, 'replacedAt': {'type': ['string', 'null'], 'description': 'When a later stage replaces it on the authority page'}, 'observedSource': {'type': ['string', 'null'], 'description': 'URL that proves the observation'}}, 'description': 'Expected window for one count stage'}}, 'status': {'type': 'string', 'description': 'Race status'}, 'results': {'type': 'array', 'items': {'type': 'object', 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'party': {'type': ['string', 'null'], 'description': 'Party, where recorded'}, 'seats': {'type': ['integer', 'null'], 'description': 'Seats or electoral votes won'}, 'share': {'type': ['number', 'null'], 'description': 'Percent of total votes'}, 'votes': {'type': 'integer', 'description': 'Votes'}, 'colour': {'type': ['string', 'null'], 'description': 'Party colour (#RRGGBB, from Wikidata)'}, 'winner': {'type': 'boolean', 'description': 'Most votes in this count'}, 'party_id': {'type': ['string', 'null'], 'description': 'Wikidata QID of the party'}, 'candidate': {'type': 'string', 'description': 'Candidate or list'}}}}, 'stage': {'type': 'string', 'description': 'Count stage of this version, e.g. final-result'}, 'source': {'type': 'string', 'description': 'File or page the numbers were copied from'}, 'licence': {'type': 'string', 'description': 'Licence of the numbers'}, 'turnout': {'type': ['number', 'null'], 'description': 'Percent of registered voters who cast a ballot'}, 'publisher': {'type': 'string', 'description': 'Who published the count'}, 'electorate': {'type': ['integer', 'null'], 'description': 'Registered voters'}, 'total_votes': {'type': 'integer', 'description': 'Total votes cast in the race'}, 'published_at': {'type': ['string', 'null'], 'description': 'When the publisher released it'}}}, 'description': 'Published counts we hold, oldest first (empty until a count is recorded)'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Source URL'}, 'kind': {'type': 'string', 'description': 'race_results, feed, results_index, emb_home, directory or media'}, 'role': {'type': 'string', 'description': 'What the page is for'}, 'check': {'type': ['object', 'null'], 'description': 'Latest link check'}, 'origin': {'type': 'string', 'description': 'race, stage or authority'}, 'kindReason': {'type': 'string', 'description': 'Why it was classified that way'}, 'resolvable': {'type': 'boolean', 'description': 'Can this page answer a results question?'}}}}, 'expected_stage_now': {'type': ['string', 'null'], 'description': 'Count stage expected on the authority page now'}}}}, 'stale': {'type': 'boolean', 'description': 'Not re-verified recently, or a stage is overdue'}, 'status': {'type': 'string', 'description': 'Where the election is now: scheduled, counting, finalising, final-expected, ...'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2'}, 'timezone': {'type': 'string', 'description': 'IANA time zone'}, 'date_status': {'type': 'string', 'description': 'declared, scheduled or tentative'}, 'subdivision': {'type': ['string', 'null'], 'description': 'ISO 3166-2 code of the state or region, if the election belongs to one'}, 'country_name': {'type': 'string', 'description': 'Country name'}, 'stale_reason': {'type': ['string', 'null'], 'description': 'Why it is stale'}, 'last_verified_at': {'type': 'string', 'description': 'When the record was last checked against its sources'}, 'subdivision_name': {'type': ['string', 'null'], 'description': 'Name of that state or region'}}}}}
next_election
Next election in a country
The next elections in one country, however far ahead: polling day and whether it is declared, scheduled or still tentative, what is elected, the counting authority, and when results are expected. Answers "When is the next election in Austria?" or "When are the US midterms?". National elections by default; level "regional" answers "When are the next state elections in Germany?". Covers 312 elections in 62 countries, 2023–2030, including 23 of the 27 EU member states, the 2026 US midterms in all 50 states and the certified 2024 US presidential result, with vote counts, in all 50 states and DC.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['country'], 'properties': {'count': {'type': 'integer', 'maximum': 10, 'minimum': 1, 'description': 'How many upcoming elections to return, soonest first; default 3'}, 'level': {'enum': ['national', 'regional', 'all'], 'type': 'string', 'description': 'national: the country votes; regional: a state, region or autonomous community elects its own parliament or head (German Länder, Spanish autonomous communities, Italian regions). Default national; the answer also counts upcoming regional elections'}, 'country': {'type': 'string', 'description': 'Country name or ISO 3166-1 alpha-2 code, e.g. "Austria" or "AT", "United States" or "US"'}}}
Schéma de sortie
{'type': 'object', 'required': ['result', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['dataset_version', 'licence'], 'properties': {'docs': {'type': 'string', 'description': 'Documentation URL'}, 'licence': {'type': 'string', 'description': 'Licence and required credit'}, 'built_at': {'type': 'string', 'description': 'When the dataset was built'}, 'generated_at': {'type': 'string', 'description': 'When this answer was generated'}, 'dataset_version': {'type': 'string', 'description': 'Dataset version'}}, 'description': 'What this answer was built from; cite dataset_version'}, 'result': {'type': 'object', 'required': ['country', 'elections'], 'properties': {'note': {'type': 'string', 'description': 'Set when nothing is listed yet'}, 'level': {'type': 'string', 'description': 'national, regional or all'}, 'country': {'type': 'string', 'description': 'ISO code'}, 'elections': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'country', 'date', 'status', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Election id'}, 'url': {'type': 'string', 'description': 'Page on electionindex.org'}, 'date': {'type': 'string', 'description': 'Polling day (YYYY-MM-DD)'}, 'kind': {'type': 'string', 'description': 'Kind of election'}, 'level': {'type': 'string', 'description': 'national or regional'}, 'races': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Race id'}, 'name': {'type': 'string', 'description': 'Race name'}, 'stages': {'type': 'array', 'items': {'type': ['object', 'null'], 'properties': {'by': {'type': ['string', 'null'], 'description': 'Latest expected time (ISO)'}, 'from': {'type': ['string', 'null'], 'description': 'Earliest expected time (ISO)'}, 'stage': {'type': 'string', 'description': 'Count stage id'}, 'source': {'type': ['string', 'null'], 'description': 'Source of a stage published outside the authority page'}, 'citation': {'type': 'string', 'description': 'Basis for the window'}, 'confidence': {'type': 'string', 'description': 'announced (law or authority), precedent (last election) or estimate'}, 'observedAt': {'type': ['string', 'null'], 'description': 'When the authority actually published it; null until observed'}, 'replacedAt': {'type': ['string', 'null'], 'description': 'When a later stage replaces it on the authority page'}, 'observedSource': {'type': ['string', 'null'], 'description': 'URL that proves the observation'}}, 'description': 'Expected window for one count stage'}}, 'status': {'type': 'string', 'description': 'Race status'}, 'results': {'type': 'array', 'items': {'type': 'object', 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'party': {'type': ['string', 'null'], 'description': 'Party, where recorded'}, 'seats': {'type': ['integer', 'null'], 'description': 'Seats or electoral votes won'}, 'share': {'type': ['number', 'null'], 'description': 'Percent of total votes'}, 'votes': {'type': 'integer', 'description': 'Votes'}, 'colour': {'type': ['string', 'null'], 'description': 'Party colour (#RRGGBB, from Wikidata)'}, 'winner': {'type': 'boolean', 'description': 'Most votes in this count'}, 'party_id': {'type': ['string', 'null'], 'description': 'Wikidata QID of the party'}, 'candidate': {'type': 'string', 'description': 'Candidate or list'}}}}, 'stage': {'type': 'string', 'description': 'Count stage of this version, e.g. final-result'}, 'source': {'type': 'string', 'description': 'File or page the numbers were copied from'}, 'licence': {'type': 'string', 'description': 'Licence of the numbers'}, 'turnout': {'type': ['number', 'null'], 'description': 'Percent of registered voters who cast a ballot'}, 'publisher': {'type': 'string', 'description': 'Who published the count'}, 'electorate': {'type': ['integer', 'null'], 'description': 'Registered voters'}, 'total_votes': {'type': 'integer', 'description': 'Total votes cast in the race'}, 'published_at': {'type': ['string', 'null'], 'description': 'When the publisher released it'}}}, 'description': 'Published counts we hold, oldest first (empty until a count is recorded)'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Source URL'}, 'kind': {'type': 'string', 'description': 'race_results, feed, results_index, emb_home, directory or media'}, 'role': {'type': 'string', 'description': 'What the page is for'}, 'check': {'type': ['object', 'null'], 'description': 'Latest link check'}, 'origin': {'type': 'string', 'description': 'race, stage or authority'}, 'kindReason': {'type': 'string', 'description': 'Why it was classified that way'}, 'resolvable': {'type': 'boolean', 'description': 'Can this page answer a results question?'}}}}, 'expected_stage_now': {'type': ['string', 'null'], 'description': 'Count stage expected on the authority page now'}}}}, 'stale': {'type': 'boolean', 'description': 'Not re-verified recently, or a stage is overdue'}, 'status': {'type': 'string', 'description': 'Where the election is now: scheduled, counting, finalising, final-expected, ...'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2'}, 'timezone': {'type': 'string', 'description': 'IANA time zone'}, 'date_status': {'type': 'string', 'description': 'declared, scheduled or tentative'}, 'subdivision': {'type': ['string', 'null'], 'description': 'ISO 3166-2 code of the state or region, if the election belongs to one'}, 'country_name': {'type': 'string', 'description': 'Country name'}, 'stale_reason': {'type': ['string', 'null'], 'description': 'Why it is stale'}, 'last_verified_at': {'type': 'string', 'description': 'When the record was last checked against its sources'}, 'subdivision_name': {'type': ['string', 'null'], 'description': 'Name of that state or region'}}}}, 'country_name': {'type': 'string', 'description': 'Country name'}, 'total_upcoming': {'type': 'integer', 'description': 'All upcoming elections we list for this country at this level'}, 'regional_upcoming': {'type': 'integer', 'description': 'Upcoming regional elections in this country (with level national); ask again with level "regional"'}}}}}
resolution_sources
Resolution sources
Every known source URL for a race, classified (race_results, feed, results_index, emb_home, directory, media). Only race_results and feed can answer a results question; homepages never can.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['election'], 'properties': {'race': {'type': 'string', 'description': 'Race id, e.g. "president"; optional when the election has one race'}, 'election': {'type': 'string', 'description': 'Election id, e.g. "brazil-general-2026"; list ids with upcoming_elections'}, 'resolvable_only': {'type': 'boolean', 'description': 'Only sources that can answer a results question (race_results, feed); default false'}}}
Schéma de sortie
{'type': 'object', 'required': ['result', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['dataset_version', 'licence'], 'properties': {'docs': {'type': 'string', 'description': 'Documentation URL'}, 'licence': {'type': 'string', 'description': 'Licence and required credit'}, 'built_at': {'type': 'string', 'description': 'When the dataset was built'}, 'generated_at': {'type': 'string', 'description': 'When this answer was generated'}, 'dataset_version': {'type': 'string', 'description': 'Dataset version'}}, 'description': 'What this answer was built from; cite dataset_version'}, 'result': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Source URL'}, 'kind': {'type': 'string', 'description': 'race_results, feed, results_index, emb_home, directory or media'}, 'role': {'type': 'string', 'description': 'What the page is for'}, 'check': {'type': ['object', 'null'], 'description': 'Latest link check'}, 'origin': {'type': 'string', 'description': 'race, stage or authority'}, 'kindReason': {'type': 'string', 'description': 'Why it was classified that way'}, 'resolvable': {'type': 'boolean', 'description': 'Can this page answer a results question?'}}}}}}
submit_correction
Submit a correction
Report a mistake or a missing election, with a URL that proves it (ideally the official authority page). The report is public and is checked like any other claim; it never changes the data by itself. Returns the report id; follow it at https://electionindex.org/corrections.
Schéma d’entrée
{'type': 'object', 'required': ['claim', 'evidence'], 'properties': {'race': {'type': 'string', 'description': 'Race id within that election, if the report is about one race'}, 'claim': {'type': 'string', 'description': 'What is wrong and what is right, 10 to 2000 characters'}, 'election': {'type': 'string', 'description': 'Election id, if the report is about a listed election'}, 'evidence': {'type': 'string', 'description': 'http(s) URL of the page that proves it'}}}
Schéma de sortie
{'type': 'object', 'required': ['result', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['dataset_version', 'licence'], 'properties': {'docs': {'type': 'string', 'description': 'Documentation URL'}, 'licence': {'type': 'string', 'description': 'Licence and required credit'}, 'built_at': {'type': 'string', 'description': 'When the dataset was built'}, 'generated_at': {'type': 'string', 'description': 'When this answer was generated'}, 'dataset_version': {'type': 'string', 'description': 'Dataset version'}}, 'description': 'What this answer was built from; cite dataset_version'}, 'result': {'type': 'object', 'required': ['id', 'status', 'url'], 'properties': {'at': {'type': 'string', 'description': 'Filed at (ISO)'}, 'id': {'type': 'string', 'description': 'Report id'}, 'url': {'type': 'string', 'description': 'Where to follow the report'}, 'claim': {'type': 'string', 'description': 'The report'}, 'status': {'type': 'string', 'description': 'open until checked'}, 'evidence': {'type': 'string', 'description': 'Evidence URL'}}}}}
upcoming_elections
Upcoming elections
List elections by date range and/or country, soonest first, with each race's expected count stage right now. Answers "Which elections are in Europe this autumn?", "Which elections are this month?" or "What elections does Germany have coming up?". Without dates it starts today; with a country and no end date it covers every future election of that country, otherwise the next 365 days. Covers 312 elections in 62 countries, 2023–2030, including 23 of the 27 EU member states, the 2026 US midterms in all 50 states and the certified 2024 US presidential result, with vote counts, in all 50 states and DC.
Lecture seule
Schéma d’entrée
{'type': 'object', 'properties': {'to': {'type': 'string', 'description': 'End date YYYY-MM-DD; default +365 days, or no end when a country is given'}, 'from': {'type': 'string', 'description': 'Start date YYYY-MM-DD; default today'}, 'level': {'enum': ['national', 'regional', 'all'], 'type': 'string', 'description': 'national: the country votes; regional: a state, region or autonomous community elects its own parliament or head (German Länder, Spanish autonomous communities, Italian regions). Default all'}, 'limit': {'type': 'integer', 'maximum': 200, 'minimum': 1, 'description': 'Most elections to return, soonest first; default 25, max 200. Narrow with from/to or country for more.'}, 'country': {'type': 'string', 'description': 'Country name or ISO 3166-1 alpha-2 code, e.g. "Austria" or "AT", "United States" or "US"'}, 'include_discovered': {'type': 'boolean', 'description': 'Also list elections found on Wikidata but not yet verified by Election Index'}}}
Schéma de sortie
{'type': 'object', 'required': ['result', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['dataset_version', 'licence'], 'properties': {'docs': {'type': 'string', 'description': 'Documentation URL'}, 'licence': {'type': 'string', 'description': 'Licence and required credit'}, 'built_at': {'type': 'string', 'description': 'When the dataset was built'}, 'generated_at': {'type': 'string', 'description': 'When this answer was generated'}, 'dataset_version': {'type': 'string', 'description': 'Dataset version'}}, 'description': 'What this answer was built from; cite dataset_version'}, 'result': {'type': 'object', 'required': ['elections'], 'properties': {'total': {'type': 'integer', 'description': 'Elections matching the filters'}, 'returned': {'type': 'integer', 'description': 'Elections in this answer (see limit)'}, 'elections': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'country', 'date', 'status', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Election id'}, 'url': {'type': 'string', 'description': 'Page on electionindex.org'}, 'date': {'type': 'string', 'description': 'Polling day (YYYY-MM-DD)'}, 'kind': {'type': 'string', 'description': 'Kind of election'}, 'level': {'type': 'string', 'description': 'national or regional'}, 'races': {'type': 'array', 'items': {'type': 'object', 'properties': {'id': {'type': 'string', 'description': 'Race id'}, 'name': {'type': 'string', 'description': 'Race name'}, 'stages': {'type': 'array', 'items': {'type': ['object', 'null'], 'properties': {'by': {'type': ['string', 'null'], 'description': 'Latest expected time (ISO)'}, 'from': {'type': ['string', 'null'], 'description': 'Earliest expected time (ISO)'}, 'stage': {'type': 'string', 'description': 'Count stage id'}, 'source': {'type': ['string', 'null'], 'description': 'Source of a stage published outside the authority page'}, 'citation': {'type': 'string', 'description': 'Basis for the window'}, 'confidence': {'type': 'string', 'description': 'announced (law or authority), precedent (last election) or estimate'}, 'observedAt': {'type': ['string', 'null'], 'description': 'When the authority actually published it; null until observed'}, 'replacedAt': {'type': ['string', 'null'], 'description': 'When a later stage replaces it on the authority page'}, 'observedSource': {'type': ['string', 'null'], 'description': 'URL that proves the observation'}}, 'description': 'Expected window for one count stage'}}, 'status': {'type': 'string', 'description': 'Race status'}, 'results': {'type': 'array', 'items': {'type': 'object', 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'party': {'type': ['string', 'null'], 'description': 'Party, where recorded'}, 'seats': {'type': ['integer', 'null'], 'description': 'Seats or electoral votes won'}, 'share': {'type': ['number', 'null'], 'description': 'Percent of total votes'}, 'votes': {'type': 'integer', 'description': 'Votes'}, 'colour': {'type': ['string', 'null'], 'description': 'Party colour (#RRGGBB, from Wikidata)'}, 'winner': {'type': 'boolean', 'description': 'Most votes in this count'}, 'party_id': {'type': ['string', 'null'], 'description': 'Wikidata QID of the party'}, 'candidate': {'type': 'string', 'description': 'Candidate or list'}}}}, 'stage': {'type': 'string', 'description': 'Count stage of this version, e.g. final-result'}, 'source': {'type': 'string', 'description': 'File or page the numbers were copied from'}, 'licence': {'type': 'string', 'description': 'Licence of the numbers'}, 'turnout': {'type': ['number', 'null'], 'description': 'Percent of registered voters who cast a ballot'}, 'publisher': {'type': 'string', 'description': 'Who published the count'}, 'electorate': {'type': ['integer', 'null'], 'description': 'Registered voters'}, 'total_votes': {'type': 'integer', 'description': 'Total votes cast in the race'}, 'published_at': {'type': ['string', 'null'], 'description': 'When the publisher released it'}}}, 'description': 'Published counts we hold, oldest first (empty until a count is recorded)'}, 'sources': {'type': 'array', 'items': {'type': 'object', 'properties': {'url': {'type': 'string', 'description': 'Source URL'}, 'kind': {'type': 'string', 'description': 'race_results, feed, results_index, emb_home, directory or media'}, 'role': {'type': 'string', 'description': 'What the page is for'}, 'check': {'type': ['object', 'null'], 'description': 'Latest link check'}, 'origin': {'type': 'string', 'description': 'race, stage or authority'}, 'kindReason': {'type': 'string', 'description': 'Why it was classified that way'}, 'resolvable': {'type': 'boolean', 'description': 'Can this page answer a results question?'}}}}, 'expected_stage_now': {'type': ['string', 'null'], 'description': 'Count stage expected on the authority page now'}}}}, 'stale': {'type': 'boolean', 'description': 'Not re-verified recently, or a stage is overdue'}, 'status': {'type': 'string', 'description': 'Where the election is now: scheduled, counting, finalising, final-expected, ...'}, 'country': {'type': 'string', 'description': 'ISO 3166-1 alpha-2'}, 'timezone': {'type': 'string', 'description': 'IANA time zone'}, 'date_status': {'type': 'string', 'description': 'declared, scheduled or tentative'}, 'subdivision': {'type': ['string', 'null'], 'description': 'ISO 3166-2 code of the state or region, if the election belongs to one'}, 'country_name': {'type': 'string', 'description': 'Country name'}, 'stale_reason': {'type': ['string', 'null'], 'description': 'Why it is stale'}, 'last_verified_at': {'type': 'string', 'description': 'When the record was last checked against its sources'}, 'subdivision_name': {'type': ['string', 'null'], 'description': 'Name of that state or region'}}}}, 'discovered_unverified': {'type': 'array', 'items': {'type': 'object'}, 'description': 'Found on Wikidata, not verified'}}}}}
when_final
When is the result final?
When will a race's final (certified) result exist? Returns the expected window, its confidence (announced / precedent / estimate) and basis, how many days the final took last time, and the final count itself once we hold it. Use this before asking or settling any "final result" question.
Lecture seule
Schéma d’entrée
{'type': 'object', 'required': ['election'], 'properties': {'race': {'type': 'string', 'description': 'Race id, e.g. "president"; optional when the election has one race'}, 'election': {'type': 'string', 'description': 'Election id, e.g. "brazil-general-2026"; list ids with upcoming_elections'}}}
Schéma de sortie
{'type': 'object', 'required': ['result', 'meta'], 'properties': {'meta': {'type': 'object', 'required': ['dataset_version', 'licence'], 'properties': {'docs': {'type': 'string', 'description': 'Documentation URL'}, 'licence': {'type': 'string', 'description': 'Licence and required credit'}, 'built_at': {'type': 'string', 'description': 'When the dataset was built'}, 'generated_at': {'type': 'string', 'description': 'When this answer was generated'}, 'dataset_version': {'type': 'string', 'description': 'Dataset version'}}, 'description': 'What this answer was built from; cite dataset_version'}, 'result': {'type': 'object', 'required': ['election', 'race', 'observed'], 'properties': {'race': {'type': 'string', 'description': 'Race id'}, 'basis': {'type': 'string', 'description': 'Legal or historical basis'}, 'election': {'type': 'string', 'description': 'Election id'}, 'observed': {'type': 'boolean', 'description': 'True once the authority has published the final result'}, 'last_time': {'type': ['object', 'null'], 'properties': {'act': {'type': ['string', 'null'], 'description': 'What the final act was'}, 'days': {'type': 'integer', 'description': 'Days from polling day to the final act'}, 'source': {'type': ['string', 'null'], 'description': 'Page showing the date'}, 'election': {'type': 'string', 'description': 'That election, e.g. "Bundestag 2025"'}, 'final_on': {'type': 'string', 'description': 'Day of its official final act'}, 'polling_day': {'type': 'string', 'description': 'Its polling day'}, 'source_kind': {'type': 'string', 'description': 'authority or press'}}, 'description': 'How long the final result took the last time this kind of race was held here'}, 'confidence': {'type': ['string', 'null'], 'description': 'announced, precedent or estimate'}, 'final_result': {'type': ['object', 'null'], 'properties': {'rows': {'type': 'array', 'items': {'type': 'object', 'properties': {'party': {'type': ['string', 'null'], 'description': 'Party, where recorded'}, 'seats': {'type': ['integer', 'null'], 'description': 'Seats or electoral votes won'}, 'share': {'type': ['number', 'null'], 'description': 'Percent of total votes'}, 'votes': {'type': 'integer', 'description': 'Votes'}, 'colour': {'type': ['string', 'null'], 'description': 'Party colour (#RRGGBB, from Wikidata)'}, 'winner': {'type': 'boolean', 'description': 'Most votes in this count'}, 'party_id': {'type': ['string', 'null'], 'description': 'Wikidata QID of the party'}, 'candidate': {'type': 'string', 'description': 'Candidate or list'}}}}, 'stage': {'type': 'string', 'description': 'Count stage of this version, e.g. final-result'}, 'source': {'type': 'string', 'description': 'File or page the numbers were copied from'}, 'licence': {'type': 'string', 'description': 'Licence of the numbers'}, 'turnout': {'type': ['number', 'null'], 'description': 'Percent of registered voters who cast a ballot'}, 'publisher': {'type': 'string', 'description': 'Who published the count'}, 'electorate': {'type': ['integer', 'null'], 'description': 'Registered voters'}, 'total_votes': {'type': 'integer', 'description': 'Total votes cast in the race'}, 'published_at': {'type': ['string', 'null'], 'description': 'When the publisher released it'}}, 'description': 'The final count, when we hold it'}, 'final_expected_by': {'type': ['string', 'null'], 'description': 'Latest expected time of the final result'}, 'final_expected_from': {'type': ['string', 'null'], 'description': 'Earliest expected time of the final result'}}}}}
Modifié
when_final
2 October 2026 02:41
Modifié
election_status
2 October 2026 02:41
Modifié
upcoming_elections
2 October 2026 02:41
Modifié
next_election
2 October 2026 02:41
Modifié
upcoming_elections
30 September 2026 02:40
Modifié
next_election
30 September 2026 02:40
Ajouté
dataset_health
28 September 2026 02:40
Ajouté
submit_correction
28 September 2026 02:40
Ajouté
resolution_sources
28 September 2026 02:40
Ajouté
check_question
28 September 2026 02:40
Ajouté
when_final
28 September 2026 02:40
Ajouté
election_status
28 September 2026 02:40
Ajouté
upcoming_elections
28 September 2026 02:40
Ajouté
next_election
28 September 2026 02:40