π¦ Open data
Everything on this site is built from official public data, and we publish our own tidied-up version of it back out as open data too.
What we publish
- Members and terms (Popolo JSON) - every MP, their parties and the parliamentary terms they held, in the Popolo open standard rather than a bespoke format.
- Vote events (Popolo JSON) - every vote we've parsed from Hansard, with each MP's Aye/No/Abstain.
- Hansard member IDs (CSV) - Hansard's own per-MP identifier, mapped to that MP's name and any alternative name we've confirmed for them (usually a nickname vs legal given name).
Generated by this project's own code (bin/rails popolo:generate /
popolo:generate_votes /
hansard_member_ids:generate), so it's only as current as our last
regenerate.
What we build it from
- Hansard - the official record of what's said and voted on in the House.
- Members of Parliament (data.govt.nz, Parliamentary Service, CC BY 4.0) - who's been an MP, their party and electorate, back to 1853.
- General election results (data.govt.nz, Electoral Commission, CC BY 3.0 NZ) - electorate winners and party vote results for 2008 and 2014. 2011 is catalogued but was never mirrored into a form we can pull from automatically.
- Electoral Commission CSVs for the 2023 election, downloaded by hand (see "Known gap" below) - every candidate's result in every electorate, party vote totals, and party votes by electorate.
Known gap
The Electoral Commission's own site, electionresults.govt.nz,
blocks every automated request we've tried against it (curl, a headless browser, even a
plain wget from a residential
connection) - it's a Cloudflare JS challenge only an actual browser tab can solve, not an
IP block. So for any year not already mirrored into data.govt.nz's own queryable API, the
only way in is a human opening the page in a real browser and saving the file - which is
how 2023's full candidate-level data got in. 2011, and 2017/2020 entirely, don't have that
yet - a member's page only shows an electorate they contested and lost (before entering on
the party list) for elections we have the full candidate file for.