NY Scratch-Off Prize Status & Changes
Pricing
from $0.85 / 1,000 prize status delivereds
NY Scratch-Off Prize Status & Changes
Collect official New York scratch-off paid, unpaid and total prize counts. Compare complete snapshots to track observed changes, with source revision and game-level filtering.
Get official New York scratch-off prize counts for industry research, data feeds and prize-status content. Each result preserves the game number, game name, original prize label and the provider's paid, unpaid and total counts. Supply an earlier complete snapshot to see which prize records changed between observations.
The source is the New York State Gaming Commission daily prize-status dataset. This independent tool is not affiliated with the Commission or NY Lottery. It does not place bets, validate tickets, predict results or recommend purchases.
Quick start
{"gameNumbers":["1606"]}
Use the NY game number, not the game name. The example selects game 1606; if that game disappears from the current feed, the result may be empty. Use {"gameNumbers":[]} or {} for all current games. You can select up to 50 unique numbers as strings. No API key, proxy or source URL is required.
The source is a current observation. It does not supply historical daily snapshots through this Actor. Save your own complete snapshots to build a history.
Results
Dataset rows with recordType: "scratch_prize_status" contain:
| Field | Meaning |
|---|---|
gameNumber, gameName | Original NY game identifier and title |
prizeLabel | Original prize-level label, including annuities |
prizeAmountCents | Plain cash amount in USD cents; null for annuity or other non-cash labels |
paid, unpaid, total | Reported counts; paid + unpaid must equal total |
id | Stable digest of game number and literal prize label |
source | Official URL, dataset ID, publisher, provider revision and observation time |
billing | Whether a result event was requested for this row |
Rows are sorted by numeric game number and literal prize label. Do not infer prize value ordering from that order. Diagnostic rows have a different recordType, a code and no requested result event.
The OUTPUT record describes the outcome, coverage, delivered rows and confirmed result events. SNAPSHOT contains the complete normalized observation, game filter, timestamps, source URLs, revision and digest. It is saved only after complete current delivery.
Compare two observations
- Run the Actor and download the complete
SNAPSHOTJSON. - On a later run, use the same
gameNumbersand setpreviousSnapshotto a JSON string containing that snapshot. With an API client, useJSON.stringify(snapshot). - Download
COMPARISON. It recordsnewly_observed,changedandno_longer_observedrows, before/after values, and paid/unpaid/total deltas.unchangedcounts identical rows.
Changing a literal prize label creates a different identity. Game renames are reported as field changes. An empty current observation may make all previous rows no longer observed; this does not establish closure. Comparisons report provider revision order and flag changed facts under an unchanged revision.
Both snapshots must have the same filter, valid counts and a verified structure. Observation windows must not overlap. Previous JSON is limited to 4 MiB in UTF-8; comparisons to 9 MiB. A digest detects consistency errors, but does not authenticate a buyer-supplied snapshot.
Pricing and run limits
The initial FREE-tier price is $0.001 per delivered prize-status row, plus $0.005 per Actor start; the current Pricing tab is authoritative and account-tier discounts may apply. A game usually has multiple prize levels. A run with 10 delivered levels therefore requests 10 result events, not one game event. Current rows are charged on every run, including when their values are unchanged. The comparison adds no separate event.
Set Max total charge in run options to bound paid delivery. A verified unset limit permits delivery up to this Actor's source and size bounds. An explicit zero prevents prize delivery. The platform start charge may still apply even if the run returns no prize rows or fails. Diagnostic rows request no result event.
If the remaining budget cannot cover another prize row, the Actor stops with budget_stopped. Already delivered rows remain, but the full snapshot and comparison are withheld. A confirmed event counter is the settlement evidence; the billing field on a Dataset row records intent at write time and is not a receipt.
A storage or charging acknowledgement can fail after a write was applied. The Actor stops without retrying that row. A failed run may contain rows and charges but no OUTPUT, or may contain earlier exports before a later error. Inspect the Dataset, status message and settled run counters. Automatic resurrection/replay of the same run is deliberately unsupported to avoid duplicate delivery.
Source checks and limitations
The Actor verifies required source columns, reconciles rows against a count query with the same filter and checks that the provider revision did not change during collection. It rejects duplicate identities, inconsistent counts, more than 10,000 rows, or an oversized response. Each request has a 20-second timeout and a 5 MiB decoded-response limit. Provider errors or a changing feed produce no paid prize observation from that collection; retry as a new run after investigating the diagnostic.
Unpaid prizes are not available ticket inventory. Counts and count changes cannot establish current winning odds, ticket sales, expected returns or proof that a particular prize was claimed. Provider corrections may increase unpaid counts, decrease paid counts or alter totals. The source revision is not a transactional snapshot guarantee, and absence of a game or prize does not prove it closed. This version covers New York only.