Independent. Non-partisan. Publicly accessible.

Data & research

Public records. Ready to reuse.

Free CSV and JSON downloads, without an account. For analysis and presentation, explore our county research packs.

Explore research packs →

Packaged snapshot: 2026-09-11. This is the archive release date, not the original sources’ publication date. CSV: import geography codes as text to keep leading zeros.

Free · CSV / JSON · 6,069 contests

Historical election results

Available races in 2013, 2017 and 2022; August and October 2017 ballots are separate.

Coverage varies by office and year. Candidate votes may be missing. CSV contains one candidate per row; contest totals repeat and must not be summed across candidates.

Sources and coverage

Free · CSV / JSON · 47 counties

County register and presidential results

All 47 counties, 2022 register and presidential declaration.

Register and declaration register are separate fields. Excludes user-supplied demographic estimates and projections.

Sources and coverage

Free · CSV / JSON · 290 constituencies

Constituency register

290 constituencies, with county codes and the 2022 register.

Codes are text. These are registered voter counts, not votes cast.

Sources and coverage

Free · CSV / JSON · 1,450 wards

Ward register

1,450 wards, with constituency and county codes and the 2022 register.

Geography is the packaged 2022 register; it is not a claim about future boundaries.

Sources and coverage

Free · CSV / JSON · 39 contests

By-election records

By-elections currently included in the archive, with form links and extraction status.

Preserves extraction status. Missing or unextracted forms are not zero-vote results.

Sources and coverage

Sources, reuse and corrections

Credit Kura254 and the named original sources. Retain source, coverage and verification notes. Original source terms continue to apply; no exclusive rights to public records are sold.

Empty fields mean unavailable, not zero. A source reference can be a URL or page number; consult Sources and coverage for the parent document. JSON retains nested candidates and metadata. By-election CSV keeps candidates in a JSON column. Free downloads and paid reports use the same underlying archive.