DATA CATALOG · FIELDS · LICENCE
Our datasets, and what you can do with them
Everything we publish as data is listed here, with the thing a raw file cannot tell you: what one row is, which set of operators it covers, what each field means, what a null means, and what the dataset cannot answer. Pick the one that fits your question before you open a file.
All of it is CC BY 4.0. Use it, including commercially, with attribution and a link to the page you drew from. Do not present our figures as your own measurement. Figures recompute as evidence lands, so quote them as current as of your pull date. Need a cut we do not publish, or a number confirmed before you run it: the press and data desk answers those.
Bonus Bandit runs affiliate links. Trust Scores are computed mechanically from the published methodology and are not affiliate-weighted, so no operator can buy a better number here or in any file on this page. Read the disclosure.
What a null means
Null is not one thing, and reading it as zero is the mistake that ruins a chart. Every field below declares which of these apply to it.
unknown- We do not know the value. It is not zero, it is not absent, and it must not be summed, averaged or filled in as zero. Unknown is never zero.
withheld- We hold a value and are not publishing it, because publishing it would cross a privacy or publication floor (for example an operator below the review-base floor, whose ratio we deliberately never expose).
not-applicable- The field does not apply to this row. Nothing is missing and nothing is hidden.
measured-zero- Reserved. A measured zero is published as the number 0, never as null. Listed so the distinction is written down: if a field ever needs this meaning, it is a signal the field is encoding two things and should be split.
Trust Score leaderboard
Every operator carrying a published BonusBandit Trust Score, with its score, tier and rank. This is the same read the leaderboard page renders, so a figure pulled from the file and a figure read off the page cannot disagree in one build.
Get it
-
/api/trust-scores.jsonapplication/json JSON, rebuilt on every deploy -
/trust-score/text/html The rendered leaderboard
Fields
| Field | Type | Meaning | Null means |
|---|---|---|---|
generatedAt | date-time | When this file was built. It moves on every deploy and is not an evidence date. | never null |
source | url | The rendered page this projection is taken from. | never null |
methodology | url | How the score is computed, including factors, weights and gates. | never null |
license | string | The reuse terms, carried in-band so a stripped copy keeps them. Always CC BY 4.0. | never null |
attribution | string | The credit line a reuser owes, plus the as-of caveat. | never null |
disclosure | string | Our funding disclosure: affiliate-funded, not affiliate-weighted. | never null |
count | integer | How many operator objects the file carries. Read countPopulation before quoting it. | never null |
countPopulation | string | Which set of operators count counts, in the site metric registry's own words. | never null |
countDefinition | string | The predicate behind count and what it deliberately leaves out. | never null |
countAsOf | date-time | When the figures behind count were read. Null when that read was degraded, in which case treat the timing as unknown rather than as the build time. | unknown |
operators | array | The rows. One object per scored operator, ranked. | never null |
| Field | Type | Meaning | Null means |
|---|---|---|---|
slug | string | The stable operator key. This is the join column: it is the same slug in every BonusBandit URL and payload. | never null |
name | string | The operator's brand name as we publish it. | never null |
score | integer (points out of 100) | The published Trust Score, the same number the operator page prints. | never null |
tier | string | The score's band. Three values, and they are the words the site prints.
| never null |
rank | integer | Position on the leaderboard, 1 is highest. Ranks move whenever any score moves. | never null |
url | url | The operator's review page, where the evidence behind the score is shown. | never null |
badge | url | An embeddable SVG of the current score for that operator. | never null |
Cite it
Bonus Bandit. Trust Score leaderboard. bonusbandit.win. https://bonusbandit.win/trust-score/. Accessed [date]. Licensed CC BY 4.0.
Fill in the access date yourself. We deliberately do not print one: our build clock is not the date you read the file.
Corrections
- 2026-08-08 The machine-readable licence on our Dataset markup was corrected to the Creative Commons deed URL. Seven of the nine Dataset nodes had declared our About page or our methodology page in that field, neither of which grants anything. The terms themselves did not change: this data has been published under CC BY 4.0 since 2026-07-10.
Sweepstakes Casino Complaint Index
Public review sentiment across the operator catalog: each operator's review base, its share of one and two star reviews, the themes reviewers raised, and any active complaint penalty applied to its Trust Score. Bound to the same helper the page renders, so the file cannot show a ratio the page suppresses.
Get it
-
/api/complaint-index.jsonapplication/json JSON, rebuilt on every deploy -
/sweepstakes-complaint-index/text/html The rendered index
Fields
| Field | Type | Meaning | Null means |
|---|---|---|---|
generatedAt | date-time | When the index was computed for this build. | never null |
source | url | The rendered page this projection is taken from. | never null |
license | string | The reuse terms, carried in-band. Always CC BY 4.0. | never null |
attribution | string | The credit line, including how the negative share is defined. | never null |
floors | object | The two review-base floors: publishShare, below which no ratio is published, and rankedList, the higher floor a row must clear to enter the named cohort tables. | never null |
catalog | object | Coverage counts: operators listed, mined, carrying a Trustpilot row, publishable, below the floor, and never mined. | never null |
freshness | object | oldestCollectedAt and newestCollectedAt across the corpus. Either is null when the corpus is empty, which is unknown, not a date of zero. | never null |
reviews | object | totalReviewBase across publishable rows, and the median negative share. The median is null when nothing clears the floor. | never null |
operators | array | The rows. Publishable operators only, ordered by review base. | never null |
belowThreshold | array | Operators whose review base is under the publish floor. Named, with the base, and never with a ratio. | never null |
themes | object | The full theme vocabulary with reader labels and per-theme operator counts. Positive themes are kept separate from negative ones and are never folded into a complaint count. | never null |
penalties | object | Active complaint penalties: how many operators carry one, total points withheld, the deepest, and the per-operator list. | never null |
history | object | Penalty movement over a stated window: the window length, the number of events, and how many operators they touched. | never null |
| Field | Type | Meaning | Null means |
|---|---|---|---|
slug | string | The stable operator key, the join column shared with every other BonusBandit payload. | never null |
name | string | The operator's brand name as we publish it. | never null |
reviewBase | integer (reviews) | The size of the review population the share is computed over. Not a count of reviews in any period. | never null |
negativePct | number (percent, one decimal) | Share of the review base that is one or two stars. Published only for rows at or above the publish floor, which is why every row in this array has one. | never null |
themes | array | The themes reviewers raised, as {key, label} pairs. The key is the join token and the label is what it means. A key the vocabulary does not declare gets a null label and fails our build rather than shipping an unexplained token. | never null |
collectedAt | date-time | When this operator's review snapshot was collected. Per operator, not sitewide. | never null |
complaintPenalty | number (score points) | The penalty currently applied to this operator's Trust Score, as a negative number. Zero means no active penalty. | never null |
url | url | The operator's review page. | never null |
Cite it
Bonus Bandit. Sweepstakes Casino Complaint Index. bonusbandit.win. https://bonusbandit.win/sweepstakes-complaint-index/. Accessed [date]. Licensed CC BY 4.0.
Fill in the access date yourself. We deliberately do not print one: our build clock is not the date you read the file.
Corrections
- 2026-08-08 The machine-readable licence on our Dataset markup was corrected to the Creative Commons deed URL. Seven of the nine Dataset nodes had declared our About page or our methodology page in that field, neither of which grants anything. The terms themselves did not change: this data has been published under CC BY 4.0 since 2026-07-10.
- 2026-08-06 Theme values in this file shipped as bare machine tokens with no reader label, while the page next to it printed the labels. Themes are now {key, label} pairs. The key is unchanged, so anything matching on it still works.
Daily bonus drops feed
The free bonus drops observed in a recent rolling window, with the operator, the reward exactly as the source post stated it, and the link we send readers to. The same feed the sitewide drops widget and the daily bonus board render.
Get it
-
/api/bonus-drops.jsonapplication/json JSON, rebuilt on every deploy -
/daily-bonuses/text/html The rendered daily bonus board
Fields
| Field | Type | Meaning | Null means |
|---|---|---|---|
generatedAt | date-time | When this snapshot was built. | never null |
license | string | The reuse terms, carried in-band. Always CC BY 4.0. | never null |
date | date | The build date, in UTC, as a plain calendar date. | never null |
lastRefreshed | date-time | The most recent observation time across the returned drops. Null when the feed returned nothing, which means we have no observation to report, not that nothing happened. | unknown |
windowHours | integer (hours) | How far back the selection window reaches. | never null |
count | integer | How many drop objects the file carries. A window count, never a catalog total. | never null |
board | url | The rendered board this feed backs. | never null |
drops | array | The rows. One object per observed drop, most recent first. | never null |
| Field | Type | Meaning | Null means |
|---|---|---|---|
operatorName | string | The operator's brand name as we publish it. | never null |
operatorSlug | string | The stable operator key, the join column shared with the other payloads. | never null |
rewardSummary | string | The reward exactly as the source post stated it. Null when the post stated no reward (unknown), and null when the stored text scrubbed to nothing because it carried internal vocabulary (withheld). Both cases are an honest absence: a consumer must not read null as a reward of zero. | unknown, withheld |
hasAffiliate | boolean | Whether the link on this row is a compensated referral. It says how the link is funded, not whether the operator is good. | never null |
url | url | The link we send readers to for this drop: the referral route when one is permitted, the operator's review page otherwise. | never null |
Cite it
Bonus Bandit. Daily bonus drops feed. bonusbandit.win. https://bonusbandit.win/daily-bonuses/. Accessed [date]. Licensed CC BY 4.0.
Fill in the access date yourself. We deliberately do not print one: our build clock is not the date you read the file.
Corrections
- 2026-08-08 The machine-readable licence on our Dataset markup was corrected to the Creative Commons deed URL. Seven of the nine Dataset nodes had declared our About page or our methodology page in that field, neither of which grants anything. The terms themselves did not change: this data has been published under CC BY 4.0 since 2026-07-10.
Sweepstakes payout study
Our own redemption attempts: real accounts, real requests, and what actually landed. This is the first-hand layer under the Trust Score, and it is the one dataset here that is measurement rather than observation.
Get it
-
/sweepstakes-payout-study/text/html The rendered study -
https://github.com/noahrrafkin16-cloud/bonusbandit-open-datatext/html Dated CSV snapshots, browsable in the open-data repository
What it measures
- Redemption requested date
- Redemption delivered date, when it landed
- Amount requested and amount received
- Delivery outcome
- Operator
Cite it
Bonus Bandit. Sweepstakes payout study. bonusbandit.win. https://bonusbandit.win/sweepstakes-payout-study/. Accessed [date]. Licensed CC BY 4.0.
Fill in the access date yourself. We deliberately do not print one: our build clock is not the date you read the file.
Corrections
- 2026-08-08 The machine-readable licence on our Dataset markup was corrected to the Creative Commons deed URL. Seven of the nine Dataset nodes had declared our About page or our methodology page in that field, neither of which grants anything. The terms themselves did not change: this data has been published under CC BY 4.0 since 2026-07-10.
State legality tracker
Per-state classification of dual-currency sweepstakes casinos across the United States, reviewed against primary sources, with statute references, source dates, effective dates and penalties.
Get it
-
/legal/text/html The rendered tracker
What it measures
- Classification
- Statute reference
- Source date
- Last human review date
- Effective date
- Basis of classification
- Penalty summary
Cite it
Bonus Bandit. State legality tracker. bonusbandit.win. https://bonusbandit.win/legal/. Accessed [date]. Licensed CC BY 4.0.
Fill in the access date yourself. We deliberately do not print one: our build clock is not the date you read the file.
Corrections
- 2026-08-08 The machine-readable licence on our Dataset markup was corrected to the Creative Commons deed URL. Seven of the nine Dataset nodes had declared our About page or our methodology page in that field, neither of which grants anything. The terms themselves did not change: this data has been published under CC BY 4.0 since 2026-07-10.
Dated change record
Every dated change we publish, in one record: a state legal or regulatory action, a change to an operator's own terms, an operator leaving a state, and every Trust Score movement with the factor that moved and the reason it moved. Entries that record evidence we re-read and left where it was are marked as reviewed rather than dressed up as movement.
Get it
-
/changes/text/html The rendered record -
/changes/rss.xmlapplication/rss+xml RSS feed of every dated change, all five kinds
What it measures
- Kind: one of legal_event, tos_change, state_exit, score_change, score_baseline
- Date, as an ISO calendar day, taken from the record itself
- Entity: the operator or the state the change is about
- What changed, in one sentence
- Source link, and what that source is
- Materiality, for a change to an operator's own terms only
- Factor, old value and new value, for the two trust score kinds only
- Reason, when the record carries a published one
Cite it
Bonus Bandit. Dated change record. bonusbandit.win. https://bonusbandit.win/changes/. Accessed [date]. Licensed CC BY 4.0.
Fill in the access date yourself. We deliberately do not print one: our build clock is not the date you read the file.
Corrections
- 2026-08-08 The machine-readable licence on our Dataset markup was corrected to the Creative Commons deed URL. Seven of the nine Dataset nodes had declared our About page or our methodology page in that field, neither of which grants anything. The terms themselves did not change: this data has been published under CC BY 4.0 since 2026-07-10.
Elsewhere
Score changes are logged one by one on the public changelog. Badges and copy-paste embed snippets live on embeds and API. Dated snapshots of the two flagship studies are mirrored in our open-data repository, which is produced separately from this build and can be older than the pages here. When the two differ, the page is the current one.