Open data: all winning numbers as CSV & JSON
This page collects the complete draw archives of every lottery on this site for download: one CSV file and one JSON file per game, each holding every draw from the first to the latest. The files are regenerated whenever the site is rebuilt, which happens shortly after each draw.
The data comes from the operators' own publications (WestLotto, FDJ, Loterie Romande/Swisslos, Camelot/Allwyn, the Multi-State Lottery Association, Ithuba, Magnum/Singapore Pools and others) and is checked on import for completeness and value ranges. Historical gaps show up as missing rows, never as estimated values.
| Lottery | Draws | Period | CSV | JSON |
|---|---|---|---|---|
| Da Ma Cai 1+3D | 3,661 | 2005-01-01 – 2026-10-25 | ⬇ CSV 462 kB | JSON |
| Daily Lotto | 2,779 | 2019-03-10 – 2026-10-24 | ⬇ CSV 80 kB | JSON Payouts (JSON) |
| EuroDreams | 310 | 2023-11-06 – 2026-10-22 | ⬇ CSV 10 kB | JSON Payouts (JSON) |
| Eurojackpot | 997 | 2012-03-23 – 2026-10-23 | ⬇ CSV 33 kB | JSON Payouts (JSON) |
| EuroMillions | 1,992 | 2004-02-13 – 2026-10-23 | ⬇ CSV 67 kB | JSON Payouts (JSON) |
| KENO | 7,971 | 2004-02-02 – 2026-10-25 | ⬇ CSV 593 kB | JSON |
| Keno FDJ | 19,489 | 1993-09-16 – 2026-10-24 | ⬇ CSV 1481 kB | JSON |
| Korea Lotto 6/45 | 1,247 | 2002-12-07 – 2026-10-24 | ⬇ CSV 43 kB | JSON Payouts (JSON) |
| Loto | 1,091 | 2019-11-06 – 2026-10-24 | ⬇ CSV 34 kB | JSON Payouts (JSON) |
| Lotto 6 aus 45 | 3,695 | 1986-09-07 – 2026-10-21 | ⬇ CSV 128 kB | JSON |
| Lotto 6/49 | 4,462 | 1982-06-12 – 2026-10-24 | ⬇ CSV 155 kB | JSON |
| LOTTO 6aus49 | 6,572 | 1955-10-09 – 2026-10-24 | ⬇ CSV 228 kB | JSON Payouts (JSON) |
| Lotto Belgique | 3,530 | 1992-03-28 – 2026-10-24 | ⬇ CSV 122 kB | JSON Payouts (JSON) |
| Lotto italiano | 77,352 | 1939-01-07 – 2026-10-24 | ⬇ CSV 2205 kB | JSON |
| Lotto Max | 1,281 | 2009-09-25 – 2026-10-23 | ⬇ CSV 48 kB | JSON |
| Lotto Plus 1 | 1,230 | 2015-01-03 – 2026-10-24 | ⬇ CSV 43 kB | JSON Payouts (JSON) |
| Magnum 4D | 6,832 | 1985-04-25 – 2026-10-25 | ⬇ CSV 861 kB | JSON |
| Mega Millions | 2,551 | 2002-05-17 – 2026-10-23 | ⬇ CSV 82 kB | JSON |
| MillionDAY | 3,182 | 2018-02-07 – 2026-10-24 | ⬇ CSV 93 kB | JSON |
| Powerball | 2,016 | 2010-02-03 – 2026-10-24 | ⬇ CSV 65 kB | JSON |
| PowerBall XTRA | 1,135 | 2015-12-01 – 2026-10-23 | ⬇ CSV 36 kB | JSON Payouts (JSON) |
| Québec 49 | 3,034 | 1997-10-01 – 2026-10-24 | ⬇ CSV 105 kB | JSON |
| SA Lotto | 1,230 | 2015-01-03 – 2026-10-24 | ⬇ CSV 43 kB | JSON Payouts (JSON) |
| SA PowerBall | 1,230 | 2015-01-02 – 2026-10-23 | ⬇ CSV 39 kB | JSON Payouts (JSON) |
| Set For Life | 695 | 2020-02-27 – 2026-10-22 | ⬇ CSV 22 kB | JSON |
| Singapore 4D | 2,554 | 2010-04-18 – 2026-10-25 | ⬇ CSV 322 kB | JSON |
| SuperEnalotto | 4,290 | 1997-12-03 – 2026-10-24 | ⬇ CSV 151 kB | JSON Payouts (JSON) |
| Swiss Lotto | 1,439 | 2013-01-12 – 2026-10-24 | ⬇ CSV 49 kB | JSON Payouts (JSON) |
| Thunderball | 3,997 | 1999-06-12 – 2026-10-24 | ⬇ CSV 125 kB | JSON |
| TOTO | 1,234 | 2014-10-09 – 2026-10-22 | ⬇ CSV 43 kB | JSON Payouts (JSON) |
| UK Lotto | 3,218 | 1994-11-19 – 2026-10-24 | ⬇ CSV 112 kB | JSON |
Everything at once
All CSV and JSON files in one ZIP archive (4.0 MB): ⬇ lottochaos-draws.zip
Licence and usage
The files are released under CC BY 4.0: you may copy, modify and use them, including commercially, as long as you credit “lottochaos.com” as the source, ideally with a link to this page. File URLs are stable, so you can load them straight from scripts or spreadsheets (CORS is open). Please do not automate more than one download per hour; the data only changes after a draw.
File format
CSV: UTF-8, comma-separated, header row, one draw per line in ascending chronological order. ISO dates (YYYY-MM-DD), numbers without leading zeros.
JSON: an array of objects {"date", "numbers", "bonus"} for number lotteries; KENO, Italian Lotto and the 4D games use more compact arrays (date plus a digit string). For prize payouts, most number lotteries also have <game>_q.json with the payout per prize tier and draw.
Columns per game
- Da Ma Cai 1+3D (
/data/dmc.csv): date, first, second, third, starter_1…starter_10, consolation_1…consolation_10 (4 digits each) - Daily Lotto (
/data/za_daily.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order - EuroDreams (
/data/ed.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (D) - Eurojackpot (
/data/ej.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order, b1…b2 (EZ) - EuroMillions (
/data/em.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order, b1…b2 (★) - KENO (
/data/keno.csv): date, n1…n20 ascending, plus5 (5-digit Plus 5 number) - Keno FDJ (
/data/keno_fr.csv): date, slot (midi/soir, old formula only), n1…n20 ascending, multiplier, joker - Korea Lotto 6/45 (
/data/kr_lotto.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (B) - Loto (
/data/loto.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order, b1…b1 (C) - Lotto 6 aus 45 (
/data/at_lotto.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (Zz) - Lotto 6/49 (
/data/ca649.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (B) - LOTTO 6aus49 (
/data/lotto.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (SZ), flag (A/B = two draws on the same day) - Lotto Belgique (
/data/be_lotto.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (B) - Lotto italiano (
/data/it_lotto.csv): date, ruota (BA, CA, FI, GE, MI, NA, PA, RO, TO, VE, RN), n1…n5 in draw order – one row per wheel - Lotto Max (
/data/lottomax.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n7 in ascending order, b1…b1 (B) - Lotto Plus 1 (
/data/za_lp1.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (B) - Magnum 4D (
/data/mg4d.csv): date, first, second, third, starter_1…starter_10, consolation_1…consolation_10 (4 digits each) - Mega Millions (
/data/us_mm.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order, b1…b1 (MB) - MillionDAY (
/data/it_md.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order - Powerball (
/data/us_pb.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order, b1…b1 (PB) - PowerBall XTRA (
/data/za_pbx.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order, b1…b1 (PB) - Québec 49 (
/data/q49.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (C) - SA Lotto (
/data/za_lotto.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (B) - SA PowerBall (
/data/za_pb.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order, b1…b1 (PB) - Set For Life (
/data/uk_sfl.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order, b1…b1 (L) - Singapore 4D (
/data/sg4d.csv): date, first, second, third, starter_1…starter_10, consolation_1…consolation_10 (4 digits each) - SuperEnalotto (
/data/it_se.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (J) - Swiss Lotto (
/data/ch_lotto.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (GZ) - Thunderball (
/data/uk_tb.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n5 in ascending order, b1…b1 (TB) - TOTO (
/data/toto.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (A) - UK Lotto (
/data/uk_lotto.csv): date (YYYY-MM-DD), weekday (mon…sun), n1…n6 in ascending order, b1…b1 (B)
Example: loading in Python
With pandas the files load in two lines; frequencies, sums or gaps can then be analysed directly:
import pandas as pd
df = pd.read_csv("https://lottochaos.com/data/ej.csv", parse_dates=["date"])
print(df.tail())
print(df.filter(regex=r"^n\d").stack().value_counts().head(10)) # most frequent numbers
The same files open in Excel (Data → From Text/CSV), LibreOffice or R (read.csv(url)).
For research, teaching and journalism
If you reuse the data in a paper, an article or a dataset (Kaggle, GitHub…), we would love to hear about it via Telegram or Instagram, and we are happy to link back. The site itself stays purely descriptive: every combination has the same chance in every draw, and no statistic derived from this data changes that.
FAQ
May I use the data commercially?
Yes. The CC BY 4.0 licence allows any use, including commercial use, as long as you credit lottochaos.com as the source.
How current are the files?
The site is rebuilt automatically after every draw, usually within one or two hours of the official publication. The files then contain the new draw.
Is there an API?
Not a classic API, but the files sit at fixed URLs and may be fetched directly (CORS open). For most purposes one download per day is enough.
Do the files include prize payouts?
The CSV files contain winning numbers only. For Eurojackpot, EuroMillions, Powerball, UK Lotto and other games there is an additional JSON file with the payout per prize tier (file name ending in _q.json), linked in the table where available.
A number differs from the official site. What now?
Please report it via Telegram or Instagram. Imports are checked, but transcription errors at the sources do happen; reported errors are fixed in the next update.