Available Datasets
JSON format · updated weekly · open licencecurrent-vi.json
The current poll-of-polls average, computed from the five most recent national polls. Contains the latest percentage for each party and the date it was last updated. This is the simplest file to embed — a single snapshot of where the polls stand right now.
{
"updated": "2026-08-13",
"source": "poll-of-polls (last 5 polls)",
"labour": 25,
"conservatives": 20.4,
"reform_uk": 24.4,
"lib_dems": 10.6,
"greens": 11.4,
"snp": 2.8
}
voting-intention.json
Every voting intention poll in our archive: 20 polls from YouGov, Ipsos, Opinium, More in Common, Survation, and other BPC-registered pollsters. Each record includes pollster name, fieldwork date, percentages for all six tracked parties, and sample size.
{
"updated": "2026-05-14",
"polls": [
{
"date": "2026-05-12",
"pollster": "More in Common",
"labour": 21,
"conservatives": 19,
"reform_uk": 30,
"lib_dems": 14,
"greens": 11,
"snp": 3,
"others": 2,
"sample": 3070
},
{
"...": "..."
}
]
}
leader-approval.json
Net approval ratings for the five main party leaders: Keir Starmer, Kemi Badenoch, Nigel Farage, Ed Davey, and John Swinney. Each record includes approve %, disapprove %, and the net approval score.
{
"updated": "2026-08-13",
"leaders": [
{
"name": "Keir Starmer",
"party": "Labour",
"approve": 23,
"disapprove": 67,
"net": -44
},
{
"...": "..."
}
]
}
How to Embed & Use the Data
Fetch & Display with JavaScript
The simplest way to embed current poll numbers in your own website or app. The JSON endpoint is served with CORS headers so you can call it directly from the browser.
fetch('https://britpolls.co.uk/data/current-vi.json') .then(r => r.json()) .then(data => { // data.reform_uk => 28, data.labour => 18, etc. document.getElementById('reform-pct').textContent = data.reform_uk + '%'; document.getElementById('updated').textContent = data.updated; });
Embed in PHP
For server-side rendering, use file_get_contents and json_decode. We recommend caching the result locally to avoid external HTTP calls on every page load.
<?php $vi = json_decode( file_get_contents( 'https://britpolls.co.uk/data/current-vi.json' ), true ); echo 'Reform UK: ' . $vi['reform_uk'] . '%'; echo 'Updated: ' . $vi['updated']; ?>
Python / curl
# Python import requests data = requests.get('https://britpolls.co.uk/data/voting-intention.json').json() polls = data['polls'] print(f"Latest poll: {polls[0]['pollster']} - Reform {polls[0]['reform_uk']}%") # curl curl https://britpolls.co.uk/data/current-vi.json | python3 -m json.tool
Data Licence & Attribution
All polling data on BritPolls.co.uk is available under the Creative Commons Attribution 4.0 International licence (CC BY 4.0). You are free to share, adapt, and use the data in any medium or format, including commercially, as long as you provide appropriate attribution.
Required attribution: Include a visible link back to britpolls.co.uk near any display of the data, such as: “Source: BritPolls.co.uk”.
Please note: BritPolls.co.uk compiles and aggregates data from individual pollsters. Underlying poll data originates from the pollsters themselves (YouGov, Ipsos, Opinium, etc.), who hold their own intellectual property. When citing specific polls, please also credit the original pollster.
Current Data Snapshot
Live from current-vi.json · updated 13 August 2026| Party | Poll Average | GE24 Result | Change |
|---|---|---|---|
| Labour | 25% | 33.7% | -8.7pp |
| Reform UK | 24.4% | 14.3% | +10.1pp |
| Conservatives | 20.4% | 23.7% | -3.3pp |
| Lib Dems | 10.6% | 12.2% | -1.6pp |
| Greens | 11.4% | 6.7% | +4.7pp |
| SNP | 2.8% | 2.5% | +0.3pp |
Poll average = poll-of-polls based on last 5 national polls. GE24 result: actual July 2024 UK General Election results.