skip to content

Every Election


It's got everything!

It would be pretty useful to know when elections are happening. So useful, that you’d have thought someone would already maintain some kind of database of elections.

But no, any national-level data there is — remember, elections are managed by 300+ local authorities and there’s no national body in charge — is in closed databases held by political parties, academics and businesses that sell this information.

Some public-spirited volunteers (hat-tips to Andrew Teale and Keith Edkins) maintain websites that are helpful for humans, but we need something that’s helpful to machines. That is, we need data that computer programs can use. Data on elections needs to be open, machine and human-readable. And because there’s no central authority that runs elections, the database needs to be added to by the crowd.

Democracy Club is an example of an organisation that needs this information. We exist to make democracy work better for everyone. We’ve chosen to start with the elections bit of democracy, because that’s when lots of people engage and seek out information. We want to help people learn about candidates — it’s the most asked question at election time — but those candidates are only candidates because there is an election. So if we want to know about every candidate, we need to know about every election. It’s the starting point from which all the other democracy goodness follows.

So we’re building the infrastructure that will:

(a) allow everyone to add to a database of elections; and

(b) allow anyone (or any application) to take information (via an API) to make useful things that help people take part in democracy.

Step one.

As of today, the first part of Every Election looks like this: the ID creator.

Test out the election ID creator

Play with it — try an election to see what the unique election identifier will look like. (Don’t worry, we’re not adding anything to any database yet — so you can make up anything you like.) Is there anything missing?

If you’re already maintaining your own database of elections, then please, adopt these election IDs! Or tell us if there are any problems with it.

Step two.

Next, we’ll connect this election ID generator with an actual database and invite anyone to start adding elections.

To understand what the database should look like — and which fields it should contain, we’ve been working on a shared spreadsheet here.

We’ve used the elections list from Keith Edkins and then we’ve added fields that we think should be recorded. For example, the nationality or age requirements and the voting system. This is interesting for humans, but again, will be really important for the API, when people build programs or applications that want to help people find out if they are eligible to vote, for example.

Please have a look at the database — are there any fields you think we’re missing? What other information should go into a canonical source of elections?

Step three.

Then we’ll build in a moderation stage that allows a core team to check the data coming into the spreadsheet. The actual checking should be relatively easy if we make sure people upload a source for their assertion that an election is happening — as we do when we’ve crowdsourced information on candidates previously.

At this point, we should be able to publish a live UK election database that humans can read.

Step four.

Then it will be time for the API. This will mean that programs or applications will be able to read the live database, and to do fun things with it. Most immediately, for example, Democracy Club will set up our candidate crowdsourcer to automatically create a page every time a new election is verified; so as soon as we know there is an election, we can start collecting information on candidates.

So that’s the theory. We’d love your feedback on the work so far — and welcome suggestions for the next steps. And expect a song and dance once it’s live.


Image credit: wackystuff CC-BY-SA

Get in touch:

Jump into the online chat in Slack, tweet us, or email