Open data
Every draw we hold, as JSON or CSV, on request. 8,508 draws across 15 games in 7 countries, each one validated against the matrix in force on the date it was drawn.
The archive is available on request. Pick a format below and we will send it over.
| Game | Draws | From | To | Download |
|---|---|---|---|---|
| UK Lotto United Kingdom | 54 | 2026-03-14 | 2026-09-19 | · |
| EuroMillions United Kingdom | 53 | 2026-03-17 | 2026-09-18 | · |
| Thunderball United Kingdom | 106 | 2026-03-14 | 2026-09-19 | · |
| Set For Life United Kingdom | 53 | 2026-03-16 | 2026-09-17 | · |
| US Powerball United States | 1,404 | 2015-10-07 | 2026-09-19 | · |
| Mega Millions United States | 928 | 2017-10-31 | 2026-09-18 | · |
| Lotto 6/49 Canada | 12 | 2026-08-12 | 2026-09-19 | · |
| Lotto Max Canada | 11 | 2026-08-14 | 2026-09-18 | · |
| Irish Lotto Ireland | 32 | 2026-06-10 | 2026-09-19 | · |
| La Primitiva Spain | 1,318 | 2016-01-02 | 2026-09-14 | · |
| Bonoloto Spain | 3,501 | 2016-01-01 | 2026-09-16 | · |
| El Gordo Spain | 549 | 2016-01-03 | 2026-09-13 | · |
| Loto 6 Japan | 109 | 2025-09-01 | 2026-09-17 | · |
| Loto 7 Japan | 53 | 2025-09-05 | 2026-09-11 | · |
| Mega-Sena Brazil | 325 | 2024-06-11 | 2026-09-17 | · |
What is in a record
One object per draw, with the date, the operator's draw number where it publishes one, and the numbers for that draw. One row is one draw.
Every record carries the formatId of the number matrix in force on its own
date. That is the field most people will not expect and the one that matters most: a
game's matrix changes, and a statistic computed across a change is wrong in a way that
still looks plausible.
The columns
Every CSV has the same shape. The number of n columns and the names of the
extra-ball columns follow each game's own matrix, so a 5-from-69 game has
n1 to n5 and a powerball, and UK Lotto has
n1 to n6 and a bonus.
| Column | Meaning |
|---|---|
date | The draw date, ISO 8601, in the operator's own local date. |
drawNumber | The operator's own draw number, where it publishes one. Empty where it does not, and not unique across years for every operator — Spain restarts its numbering each year. |
formatId | The number matrix in force on this date. Join on it; never compute across two. |
n1 | Main number 1 of the line, sorted ascending. |
n2 | Main number 2 of the line, sorted ascending. |
n3 | Main number 3 of the line, sorted ascending. |
n4 | Main number 4 of the line, sorted ascending. |
n5 | Main number 5 of the line, sorted ascending. |
n6 | Main number 6 of the line, sorted ascending. |
bonus | Bonus, drawn from the same drum as the main numbers, so it can never repeat one. |
machine | The physical machine that drew it, where the operator publishes one. Only the UK does. |
ballSet | The set of balls loaded into that machine, same caveat. |
jackpot | The advertised jackpot, in the currency below. Empty means unpublished, never zero. |
currency | ISO 4217 code for the jackpot column. |
jackpotWinners | How many tickets matched the jackpot line. Empty means unpublished; 0 means it rolled over. |
source | Which of our sources this row came from. Space-separated where more than one agrees. |
One row per draw, not per draw. A game that runs more than one draw on a night repeats its date and draw number across the rows, exactly as the operator's own export does. Flattening them would either lose a draw or give a column two different meanings on different rows.
An empty cell means the operator did not publish that figure for that draw. It never means zero — a jackpot of nothing and a jackpot nobody published are different facts, and merging them would put a number in the archive that nobody ever announced.
The JSON carries the same information with the draws nested rather than flattened, plus the licence and every format record the game's draws are scored against.
What we do not include
Prize breakdowns below the jackpot, ticket sales, and winner locations. We hold some of those for some games and they are inconsistent between operators, so publishing them would imply a completeness we do not have.
Where a second source exists
2 of our 15 games are checked against a second, independent source rather than trusted from one. Where two sources disagree about a published result, nothing is written and somebody looks — we do not pick a winner between them.
| Game | Sources | Draws compared | Disagreements | Checked through |
|---|---|---|---|---|
| US Powerball | NY open data and Texas Lottery export | 1,403 | 0 | Wednesday 16 September 2026 |
| Mega Millions | NY open data and Louisiana Lottery export | 927 | 0 | Tuesday 15 September 2026 |
The other 13 are held on one source. That is stated here rather than left to be assumed, because "reconciled against a second source" reads as a property of the archive when it is a property of one game in it. Draws after the date in that last column are also held on one source until the comparison is taken again.
How current it is
The collectors run twice a day and the files are rebuilt after every successful run. Each game's page states where its archive begins and why. Several of our sources publish only a rolling window, so those archives start when we started collecting rather than when the game did — that is stated plainly on each game rather than buried here.
If you find an error
Tell us which game and which date and we will check it against the operator's own published result. Contact.