Casino bonus checker avatar

Casino bonus checker

Pricing

from $6.40 / 1,000 pages

Go to Apify Store
Casino bonus checker

Casino bonus checker

See the casino bonus each affiliate and review site shows for your brands: offer, wagering, promo code, 18+ and safer-gambling notices, and the affiliate ID behind the link. Choose from eight countries. No login. $8 per 1,000 pages. Maintained by CleanScrape.

Pricing

from $6.40 / 1,000 pages

Rating

0.0

(0)

Developer

CleanScrape

CleanScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

See which bonus each affiliate and review site shows for your casino brands. The Actor searches Google in the United States, the United Kingdom and Canada (or the countries you choose), reads each page from a connection in that country, and saves one row per page with:

  • The offer: the main bonus as the page shows it ("100% up to £100 + 50 free spins"), match percent, bonus amount, currency, free spins, no-deposit flag, qualifying deposit or stake, wagering, minimum deposit, promo code, product (casino, sports or poker) and the other offers on the page.
  • Notices and wording: age notice (18+, 19+, 21+), safer-gambling links and helplines (BeGambleAware, GamCare, 1-800-GAMBLER, ConnexOntario and others), whether terms sit next to the offer, an ad or affiliate disclosure, and wording such as "risk-free" or "free money".
  • The casino link: the link the page sends visitors through, the affiliate system (Income Access, NetRefer, AppsFlyer, Impact, Cellxpert, MyAffiliates, Partnerize and others), the affiliate ID, how many redirects and where it lands.
  • Compared with your official offer (optional): whether the page matches it, and what differs ("bonus GBP 500 (official GBP 100)").

A second table gives a summary per brand and country: the offers shown and on how many pages, pages missing notices, the affiliate systems and IDs seen, and the promo codes. No login.

$8 per 1,000 saved pages (10 to 20% less on paid Apify plans). By default, only pages that show an offer are saved and billed. If Include pages without an offer is on, those saved pages use the same page price. Unreadable pages, skipped pages and brand summaries are free. Maintained by CleanScrape.

Watch the walkthrough

Let's use one brand in the United Kingdom as an example: which affiliate and review pages show its offer, and whether each page carries an age notice, safer-gambling links and terms next to the offer. The video names no casino; use your own brand.

Who uses it

  • Casino marketing and affiliate managers: find affiliates still showing last month's offer, a wrong promo code or a bonus that is not yours.
  • Compliance teams: pages promoting your brand without an age notice, a safer-gambling link or terms next to the offer, and pages using "risk-free" wording.
  • Affiliate program managers: which affiliate IDs and networks send traffic from which sites, and links that land somewhere other than your site.
  • Competitor research: the bonuses rival casinos run in each country and how widely affiliates promote them.
  • Researchers and journalists: how casino bonuses are advertised in each market.

Quick start

  1. Type your brands under Casino brands: names as players search for them (888casino, BetMGM Casino, Sky Vegas) or the casino's website.
  2. Pick Countries. The form starts with the United Kingdom. API requests that omit this field check the United States, the United Kingdom and Canada.
  3. Optional: add the offers you run now under Official offers, such as 888casino UK: 100% up to £100 + 50 free spins. Pages showing other numbers are marked. Only offers for the same product are compared: a poker or sports offer on the page is noted, not counted as different from a casino offer.
  4. Click Start.

The Offers view shows the main offer per page. The Notices and wording view shows the age notice, safer-gambling links and terms. The Affiliate links view shows where each casino link goes. The Brands table has the summary per brand and country.

Input for the API or a scheduled task:

{
"brands": ["888casino", "Sky Vegas"],
"countries": ["gb", "ca"],
"officialOffers": ["888casino UK: 100% up to £100 + 50 free spins", "Sky Vegas: 100 free spins"],
"maxPagesPerBrand": 30,
"watchName": "UK affiliate offers"
}

Choose a ready-to-run example

Each example opens with its input filled in. Change it and run.

ExampleWhat it does
Check casino affiliate pages for 18+ noticesPages promoting 888casino and Sky Vegas in Google UK, with their age notice, safer-gambling links, terms next to the offer and risky wording.
Compare affiliate bonuses with your official offerType the offer you run now and see which pages show other numbers, an old bonus or another promo code.
Find the affiliate IDs promoting a US online casinoEach page's casino link followed to the affiliate system, the affiliate ID and where it lands, for BetMGM Casino and DraftKings Casino.

Use it from the API

from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("cleanscrape/casino-bonus-checker").call(run_input={
"brands": ["888casino"],
"countries": ["gb"],
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["site"], item["mainOffer"], item["promoCode"], item["ageNotice"], item["affiliateId"])
# The summary per brand and country is in its own dataset:
brands = client.dataset(run["storageIds"]["datasets"]["brands"]).list_items().items

What you get

Pages (main table)

One row per page, brand and country.

FieldExample
brand, country, countryNameFanatics Casino, gb, United Kingdom
foundBy, googleRankGoogle: Fanatics Casino bonus code, 6
pageUrl, site, siteType, pageTitlehttps://www.actionnetwork.com/casino/fanatics-casino, actionnetwork.com, review or news site
mainOffer, mainOfferText, offerFoundIn1,000 free spins, "Get Up to 1,000 Bonus Spins (October 2026)", page title
product, matchPercent, maxBonus, currency, freeSpinscasino, null, null, $, 1000
goldCoins, sweepsCoinsUS sweepstakes casinos: 250000, 25 (coins, not money)
noDeposit, qualifyingAmount, wagering, minDeposit, promoCodefalse, null, null, null, ACTION26
otherOffers["1,500 free spins", "$1,000 + 1,000 free spins"]
officialOffer, matchesOfficialOffer, differencesFromOfficialwith official offers given
ageNotice, saferGamblingLinks21+, ["1-800-GAMBLER", "NCPG", "Gamblers Anonymous"]
builtWithJavaScripttrue when most of the page is built with JavaScript (some casinos' own sites build their footer that way), so a notice missing from the text may still be shown to visitors
termsNearOffer, adDisclosure, riskyWordingtrue, true, []
casinoLink, affiliateNetwork, affiliateIdthe page's link, AppsFlyer, bettercol6o_int
landingPage, landingSite, landsOnCasinoSite, redirectshttps://betfanatics.com/casino?..., betfanatics.com, true, 2
readFrom, checkedAt, notesUnited Kingdom, time of the check, plain-language notes

siteType is one of: casino site, casino help page, review or news site, site using the brand name (an address with the brand in it that is not the casino's own), forum or reviews, social media, app store, help page.

notes lists things worth a look in plain words, such as "No age notice (18+, 19+ or 21+) found on the page.", "Offer differs from the official one: bonus GBP 500 (official GBP 100).", "High wagering: 60x." or "The casino link leads to another-site.com, not the casino's own site."

With a Watch name, each row also has isNew, firstSeenAt, offerChanged and previousOffer.

Brands

One row per brand and country: pages naming the brand, pages with an offer, the most common offer and every offer with its page count, pages matching or differing from the official offer, pages without an age notice, without a safer-gambling link or without terms next to the offer, pages with risky wording, pages saying the casino is not available there, the affiliate systems and IDs seen, the promo codes and the number of sites.

How offers are found

  1. Google is searched in each country with {brand} bonus, {brand} bonus code and {brand} free spins (change these under Google searches per brand), and your own pages are added.
  2. Each page is read from a connection in the country it is checked for, because many sites show other offers to visitors from elsewhere: in our tests, one page in eight showed a different offer to a UK or Canadian visitor than to a US one.
  3. The offer is read from the page structure: the title and main heading, offer cards and comparison tables, promo-code boxes and text next to the brand name. In a table that lists several casinos, an offer counts for your brand only when it sits in your brand's row.
  4. Amounts that are not the bonus are left out: the deposit or stake needed to qualify ("Bet $10, get $30"), minimum deposits, the value of one spin, maximum wins and withdrawals, and calculator estimates.
  5. The page's casino link is followed through its redirects to name the affiliate system and ID and where it lands.

Brands that are ordinary words (Stake, Spin Casino, Sky Vegas) are matched only when written as a name, so "your stake" or "free spin casino bonuses" do not count.

Accuracy, checked by hand on 100 pages (US, UK and Canada): the main offer was exactly right on 86 to 88% of offer pages and right or acceptable (a correct offer, not the headline one) on all of them. Every promo code in the check belonged to the brand's offer.

Monitoring offers over time

Give the run a Watch name (for example UK affiliate offers) and schedule it daily or weekly. Each row then shows whether the page is new since earlier runs with that name (isNew), whether its offer changed (offerChanged) and what it showed before (previousOffer). The Watch (new and changed) view puts these first. The history stays in your Apify account for 180 days.

What is not available

  • Pages behind bot checks. Some sites refuse automated visits (bet365.com, oddschecker.com, casino.org and some bookmakers' own promotion pages often do). The Actor does not get around these checks. Such pages are listed in the run report with the reason and are not charged. Expect one page in five to two in five to be unreadable, more when many bookmakers' own sites are in the results.
  • Offers shown only after login or only inside the casino's app.
  • Legal judgments. The rows say what a page shows and what is missing from it. Whether that breaks a rule depends on the country, the state or province and who the page targets.
  • Offers in images or behind JavaScript. An offer that exists only as a banner image without text is not read. A page that shows its content only after JavaScript runs is listed in the run report as such. A page that builds most of its content with JavaScript is marked builtWithJavaScript, and is not counted as missing a notice in the Brands table.
  • Pages a site refuses to show in a country. A site that blocks visitors from the country checked (HTTP 451) is reported as such and is not read from another country, since it would show what visitors there cannot see.
  • Files and broken pages. PDFs and other files, pages that redirect in a loop, and servers that do not answer within about 50 seconds are listed in the run report with the reason, and are not charged.
  • Supported countries are the United States, United Kingdom, Canada, Ireland, Australia, New Zealand, South Africa and India; other countries are not supported.

Pricing

EventPrice
Saved page, including a page without an offer when you choose to save it$0.008
Skipped page without an offer; unreadable pagefree
Brand summary rowfree

Measured on 18 October 2026:

  • 1 brand in the UK (the input filled in when you open the Actor): 14 pages with an offer, about $0.11, in 1 to 2 minutes.
  • 8 brands in 3 countries, 12 pages each: 142 pages, about $1.14, in under 7 minutes.
  • 8 brands in 2 countries, 40 pages each: 208 pages, about $1.66, in about 5 minutes.

Set Maximum cost per run to cap spending. The run stops before it would go over the limit and keeps what it saved.

Speed and settings

A brand in one country takes 1 to 2 minutes. Eight brands in three countries take about 7 minutes. Google searches take from a few seconds up to a minute each, so most of the time goes to searching. The run stops cleanly before its timeout and keeps everything it saved. With a very short timeout (about a minute), nothing can be saved: the run then ends with a clear message and nothing is charged. Memory: 1024 MB (512 MB also works and reads fewer pages at once). Up to 25 brands per run.

Run report

Each run saves a readable summary (Output tab > Run summary) and the same as JSON (SUMMARY): the searches, pages read, pages without an offer, the sites that could not be read and why, and notes such as Google searches skipped to stay within the time limit.

Use it from an AI agent

This Actor works as a tool in Claude, Cursor and other AI assistants that support MCP, through Apify's MCP server. Add this server and sign in with your Apify account when asked:

https://mcp.apify.com?tools=cleanscrape/casino-bonus-checker

Then ask in plain words, for example: "Which UK sites show an 888casino bonus that differs from 100% up to £100, and which of them have no 18+ notice?" The price per result is the same as in Console.

Common questions

No. It only reads public pages, the same ones a player sees in Google, and follows the links on them to see where they land. It does not sign up, deposit or place bets.

Can I check pages I already know?

Yes. Paste them under Pages to check. To check only those pages, turn off Search Google.

Why does the same site show different offers in different countries?

Many affiliate sites change the offer by the visitor's country. Each page is read from a connection in the country you check, so the row shows what a player there sees (readFrom). If no connection in that country answers, the page is read from elsewhere and the row says so in notes.

How do I export the results to Excel or CSV?

Open the run's Output or Storage tab and click Export. Pick Excel, CSV or JSON. The Brands table exports from Storage > Dataset.

The Actor reads public pages that anyone can open without an account, at a gentle pace, and it does not get around bot checks. Check the rules that apply to how you use the data. Gambling advertising is regulated in many countries: the data shows what pages publish, and how you act on it is up to you.

More tools from CleanScrape

Support

Questions, a page read wrongly or a site that is missing: open an issue on the Actor's Issues tab or write to contact.cleanscrape@gmail.com.

This Actor is an independent tool. It is not affiliated with, endorsed by or sponsored by any casino, affiliate site or affiliate network named here.

If you already have the pages, add them under Pages to check and turn off Search Google. This mode reads those pages without using the Google search allowance. Page connections still need available Apify Proxy access. Blocked pages are listed in the run report, not replaced with guessed offers.