ShopBack Scraper & Affiliate Network Detector
Pricing
Pay per event
ShopBack Scraper & Affiliate Network Detector
Detect a brand's active affiliate network via ShopBack click-out, and/or scrape ShopBack merchant page details (cashback rates, terms, vouchers). Mode-selectable per run.
Pricing
Pay per event
Rating
5.0
(3)
Developer
Automation Craft
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
16 days ago
Last modified
Categories
Share
ShopBack Scraper & Affiliate Network Detector pulls two kinds of data from ShopBack merchant pages: the brand's currently-active affiliate network (Commission Factory, Partnerize, Impact, AWIN, CJ, Rakuten, Amazon Associates…) and the merchant page details (cashback rates, upsized boosts, terms, vouchers, categories). Pick what you want per run with a single mode setting. Run it on the Apify platform for API access, scheduling, proxy rotation, and integrations with Make, Zapier, Google Sheets, and more.
What does this Actor do?
Instead of scraping a brand's own website for affiliate tags (brittle, and it surfaces stale/legacy tags the brand no longer uses), this Actor reads the network out of ShopBack's click-out redirect. ShopBack is a major cashback publisher that only earns when it tracks through the brand's live program — so the network in its click-out is the brand's real, current affiliate provider. It can't be a stale tag, because a stale tag wouldn't pay ShopBack.
It can also extract the structured details ShopBack shows on each merchant page, so the same run can power cashback-rate monitoring and competitive research.
Why use it?
- Accurate affiliate attribution — current, not legacy. No misallocation from old tags.
- Honest outcomes — a brand that genuinely isn't on ShopBack returns
not_on_shopback, not a vague failure. - Cost-aware — a two-axis escalation ladder (HTTP → browser; direct → datacenter → residential proxy) pays for expensive residential proxy only when a site actually blocks cheaper tiers.
- Two products, one run —
bothmode reuses a single page load to return affiliate and details together.
How to use it
- Open the Input tab.
- Choose a mode:
affiliate,details, orboth. - Add targets — each
inputis either a company domain (2xu.com) or a ShopBack URL (shopback.com.au/2xu). Add an optionalbrandto improve resolution and arowNumberto map results back to a spreadsheet row. - For
affiliate/bothmodes, paste a ShopBack session cookie (shopbackSessionCookie) — ShopBack's click-out only exists when you're logged in. See Session cookie below.detailsmode needs no cookie. - Pick your region (
auby default). - Click Start. Download results from the Output tab as JSON, CSV, Excel, or HTML, or read them via the API.
Session cookie (affiliate / both modes)
ShopBack shows the "Shop Now" click-out — the redirect that reveals the live affiliate network — only to logged-in users. The Actor doesn't automate login (it's protected by Cloudflare Turnstile + OTP). Instead you supply your own session once:
- Log in to ShopBack in your browser.
- Export the
shopback.com.aucookies with a browser extension like Cookie-Editor (use "Export → JSON"). - Paste the JSON into the encrypted
shopbackSessionCookieinput. It must include thesbrefreshcookie — that's the long-lived refresh token that keeps the session alive.
The session is sliding: ShopBack issues a fresh short-lived access token from your refresh token, and the Actor writes the freshest cookies back to its key-value store after every run. So as long as you run the Actor on a schedule, you paste once and basically forget. If the session ever truly dies, the run returns auth_expired and you re-paste.
Modes
| Mode | Loads page | Fires click-out | Returns | Relative cost |
|---|---|---|---|---|
details | yes | no | details | cheapest |
affiliate | yes | yes | affiliate | tier-dependent |
both | yes (once) | yes | affiliate + details | ≈ affiliate |
Input
| Field | Type | Description |
|---|---|---|
mode | string | affiliate (default), details, or both. |
targets | array | Each item: { input, brand?, rowNumber? }. input = company domain or ShopBack URL. |
shopbackSessionCookie | string | Required for affiliate/both. Cookie-Editor JSON of your ShopBack session (must include sbrefresh). Encrypted; never logged. |
region | string | au (default), sg, my, global. |
maxConcurrency | integer | Parallel targets (default 5). |
forceBrowser | boolean | Skip the HTTP fast path (reserved). |
{"mode": "both","region": "au","targets": [{ "input": "2xu.com", "brand": "2XU", "rowNumber": 137 },{ "input": "shopback.com.au/nike", "brand": "Nike" }]}
Output
One dataset item per target:
{"input": "2xu.com","brand": "2XU","rowNumber": 137,"mode": "both","shopbackUrl": "https://www.shopback.com.au/2xu","cleanDomain": "2xu.com","resolvedVia": "search","outcome": "resolved","affiliate": {"network": "Rakuten Advertising","status": "network_identified","matchedHost": "click.linksynergy.com","redirectChain": ["https://www.shopback.com.au/2xu","https://www.shopback.com.au/sboc/redirects/01jq8w85tnwyesa2y0tv2ssyvj","https://click.linksynergy.com/deeplink?id=...&mid=44490&murl=https%3a%2f%2f2xu.com%2f","https://2xu.com/?utm_source=Rakuten&ranMID=44490..."]},"details": {"merchantName": "2XU","headlineRate": "3%","rates": [{ "category": "General", "tier": "Standard", "rate": "3%", "description": "Standard Cashback 3%" }],"ratesUpdatedAt": "2026-03-27T05:50:44.571Z","cashbackTerms": [{ "question": "Exclusions?", "answer": "You won't get Cashback on…" }],"categories": ["General"],"scrapedAt": "2026-06-23T09:00:00Z"},"tierUsed": "datacenter","method": "browser","costTelemetry": { "proxyBytes": 184320, "computeMs": 4200 },"error": null}
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Outcome fields
outcome—resolvedornot_on_shopback.affiliate.status—network_identified|generic_affiliate|shopback_direct|click_out_failed|auth_expired(session cookie no longer valid — re-pasteshopbackSessionCookie).resolvedVia—shopback_url|candidate|search(how the merchant URL was found).
Pricing & cost
This Actor uses pay-per-event pricing. A cheap page-details event covers detail extraction; per-tier affiliate-direct / affiliate-datacenter / affiliate-residential events price the click-out by the proxy tier that was actually needed (residential is charged only when cheaper tiers are blocked); not-on-shopback is a minimal charge. details runs are the cheapest, both adds the most value per run. Free-plan usage is supported within Apify's limits.
Tips
- Pass a domain (not a ShopBack URL) and let the Actor resolve it — it cleans to the registrable domain and confirms the match, so you don't have to construct ShopBack URLs.
- Batch many targets in one run rather than one run per target.
- Use
mode: "details"when you only need rates/terms — it stays on the cheapest tiers.
FAQ & support
- Is this legal? The Actor reads publicly visible ShopBack pages and their click-out redirects. Respect ShopBack's Terms of Service and applicable laws; use the data responsibly.
- A brand returns
not_on_shopback— it has no ShopBack merchant page for the selected region. click_out_failed— the page loaded but the click-out didn't fire after all escalation; retry on a later run.auth_expired— your ShopBack session cookie is no longer valid. Re-export and paste a freshshopbackSessionCookie(includesbrefresh). Running on a schedule keeps the session alive and avoids this.- Found a bug or need a custom variant (other cashback sources, full category crawl)? Use the Issues tab.
