Every page on this site is rendered from the files below, so a program (or an AI assistant) can read the same numbers people do. One file per state, rewritten each morning after the lottery's figures are in. Prize counts, printed odds, ticket price and the share of tickets left; nothing else.
Fetch a file with a plain GET; no key, no sign-up. Each file carries its own updated
date, and the numbers are the lottery's own published counts as of that morning. They change
daily, so keep the date with the number.
The files are published under the Creative Commons Attribution 4.0 license (CC BY 4.0): use them for anything, commercial work included, as long as you credit SmartScratcher and link the state or game page the numbers came from. Please don't hit a file more than a few times a day: it changes once in the morning (the Fast Play and pull tab files twice).
What is not here: the SmartScratcher Score, the estimated ticket value, and the value rankings. Those are the app's math and live in the app. The rankings on this site order games by the printed overall odds, the lottery's own figure.
AI readers: /llms.txt lists every page family and file in plain text.
Each file: state, state_name, updated (the data day),
generated (when the file was written), and games, a list where every game
has n (the lottery's game number), name, cost (ticket price in
dollars), odds (printed overall odds, 1 in N), img (ticket art),
left_pct (share of tickets still unsold, by our count) and prizes, one entry
per prize level with amt (dollars; -1 means a free ticket), left
(prizes unclaimed) and total (prizes printed). A game also carries ended_shipping
(a date) when the lottery's data says it stopped shipping the game to stores; it is still listed because
prizes are still being claimed. A game that leaves the lottery's data
leaves the file; its page stays up, marked ended.
The share of tickets still unsold, by our count, for every day we have tracked a game: the
same left_pct as the games file (prizes unclaimed over prizes printed, every prize
level), kept since the day we started tracking the game, which may be after it went on sale.
Each file: state, state_name, updated, generated
and games, keyed by game number, each with since (the first day) and
points, a list of [date, left_pct] pairs: one a day for the first 90 days
of tracking, one a week after that, and always the latest day. A step up is a reorder: the lottery
printed more tickets. This is what the chart on every game page is drawn from.
The raw counts behind the trends: prizes still unclaimed and prizes printed, every prize level
summed, for every day we have tracked a game. Each file: state, state_name,
updated, generated and games, keyed by game number, each with
name, cost, odds, since and points,
a list of [date, unclaimed, printed]: one a day for the most recent 180 days and one a
week before that. Tickets sold between two days is the drop in unclaimed prizes times the printed
odds; a jump in printed prizes is a reorder, not negative sales. This is what the tickets-sold
chart on every game page is drawn from.
| File | Games | Data as of | Pages |
|---|---|---|---|
| /data/fast-play/ks.json | 24 | Nov 4, 2026 | Kansas Fast Play |
| /data/pull-tabs/ks.json | 3 | Nov 4, 2026 | Kansas Pull Tabs |
| /data/fast-play/md.json | 28 | Nov 4, 2026 | Maryland Fast Play |
| /data/pull-tabs/mi.json | 49 | Nov 4, 2026 | Michigan Pull Tabs |
| /data/fast-play/ok.json | 18 | Nov 4, 2026 | Oklahoma Fast Play |
Same shape as the scratcher files, counted twice a day, plus per game a jackpot
block (value today, start, left and total
jackpot tickets), a jackpot_log of the amounts we have seen, and a history
of the share left. pooled at the top says whether the jackpots are shared across
games at a price (Oklahoma) or belong to one game each (Maryland, Kansas).
/data/site_stats.json holds the totals behind By the numbers: games tracked, prizes and prize money remaining, million-dollar prizes still out there, and the biggest jackpots left, per state and overall, as of Nov 5, 2026.
Prize counts are just the start. SmartScratcher turns them into a ticket value, a 0–100 score, and a straight answer for every game — so you skip the picked-clean ones and play the good ones.
Download on App Store→ Get it on Google Play→