Psephology.AI

    Election data API and downloads

    Every election, result, candidate, area and insight we hold, from 1889 to 2026, as JSON or CSV. Start free with a registered key.

    Get a free API key · OpenAPI spec · Data terms

    Plans

    Prices exclude VAT. A yearly plan costs the same as 10 months.

    PlanPriceCallsWhat's included
    Free£02,000 a month, 100 a day, 10 a minuteAll results, elections, areas and candidates; Headline insight figures; Credit to Psephology.ai required
    Starter£29/month or £290/year25,000 a month, 60 a minuteEverything in Free; Candidate histories with person IDs; All insight endpoints in full; Current ONS boundaries
    Pro£99/month or £990/year150,000 a month, 300 a minuteEverything in Starter; By-election tracker alerts; Bulk endpoints (500 rows a page); Monthly full-archive CSV
    Business£299/month or £2,990/year750,000 a month, 1000 a minuteEverything in Pro; Right to redistribute data and insights in your own products; Priority capacity on results days
    EnterpriseFrom £5,000/yearCustomLive results-night feed, SLA, custom licence. Ask for a quote.

    Discounts: 50% off for registered charities, students and unpaid individuals. Journalists and academics get Starter free. Apply from your dashboard; we check each application by hand.

    Getting started

    1. Create an account and a key on your dashboard. We show the key once, so copy it then.
    2. Send it in the x-api-key header on every request.
    curl -H "x-api-key: psk_your_key" \
      "https://psephology.ai/api/public/v1/elections?year=2024&limit=5"
    
    curl -H "x-api-key: psk_your_key" \
      "https://psephology.ai/api/public/v1/areas?type=ward&q=Shepshed"

    Base address: https://psephology.ai/api/public/v1

    Endpoints

    RequestWhat it returnsPlan
    GET /elections?type=&year=List elections, newest first.Free
    GET /elections/{slug}One election with seat and vote totals by party and council.Free
    GET /elections/{slug}/results?council=&ward=Every result row, optionally narrowed to a council or ward.Free (person IDs on Starter+)
    GET /areas?type=ward|council|constituency&q=Search areas.Free
    GET /areas/{slug}One area with its parent and children, plus boundary start and end dates.Free
    GET /areas/{slug}/historyEvery contest held in an area, with turnout and margin.Free
    GET /candidates?q=Search candidates.Free
    GET /candidates/{slug}A candidate's results. Starter+ gets the full person-level history across name variants, with person ID.Free / Starter+
    GET /parties and /parties/{slug}Parties and a party's record.Free
    GET /insights/local-election-proxy/{constituency}Local-election estimate for a Westminster seat.Headline free, full Starter+
    GET /insights/bucking-the-trend/{council}Where a council moved against the national swing.Headline free, full Starter+
    GET /insights/byelections?days=90By-election tracker: average share and change by party.Headline free, rows Starter+
    GET /boundaries/{area}Current boundary as GeoJSON.Starter+

    Areas, elections, candidates and parties can be named by their slug (as in our page addresses) or their ID. Lists take ?limit (up to 100, or 500 on Pro and Business) and ?cursor; use the next_cursor from one page to get the next.

    Limits

    Limits apply per account across all its keys. Going over returns HTTP 429 with a plain message saying which limit was hit and a link to upgrade. There are no surprise overage charges. Each response tells you how much of this month's allowance you've used (x-ratelimit-used-month).

    Credit

    Every response includes a credit field, and every CSV starts with the same line:

    Data: Psephology.ai (psephology.ai). Includes data from Democracy Club (CC BY 4.0) and other public sources.

    Please show it wherever you use the data. We don't serve candidate photos or party logos through the API.

    CSV downloads

    DownloadPrice
    A single contest, or one election's summary tableFree, no account
    Council history pack (every election in one council)£19
    Election pack (every result in one election)£49, or £29 if over 10 years old
    Full archive, 1889 to 2026 (one file per year)£499 one organisation, or £1,499/year with redistribution rights

    Look for "Download CSV" on election and council pages. Pro and Business plans include the full archive.