ShopBack Scraper & Affiliate Network Detector avatar

ShopBack Scraper & Affiliate Network Detector

Pricing

Pay per event

Go to Apify Store
ShopBack Scraper & Affiliate Network Detector

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

Automation Craft

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

2

Monthly active users

16 days ago

Last modified

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 runboth mode reuses a single page load to return affiliate and details together.

How to use it

  1. Open the Input tab.
  2. Choose a mode: affiliate, details, or both.
  3. Add targets — each input is either a company domain (2xu.com) or a ShopBack URL (shopback.com.au/2xu). Add an optional brand to improve resolution and a rowNumber to map results back to a spreadsheet row.
  4. For affiliate / both modes, paste a ShopBack session cookie (shopbackSessionCookie) — ShopBack's click-out only exists when you're logged in. See Session cookie below. details mode needs no cookie.
  5. Pick your region (au by default).
  6. Click Start. Download results from the Output tab as JSON, CSV, Excel, or HTML, or read them via the API.

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:

  1. Log in to ShopBack in your browser.
  2. Export the shopback.com.au cookies with a browser extension like Cookie-Editor (use "Export → JSON").
  3. Paste the JSON into the encrypted shopbackSessionCookie input. It must include the sbrefresh cookie — 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

ModeLoads pageFires click-outReturnsRelative cost
detailsyesnodetailscheapest
affiliateyesyesaffiliatetier-dependent
bothyes (once)yesaffiliate + detailsaffiliate

Input

FieldTypeDescription
modestringaffiliate (default), details, or both.
targetsarrayEach item: { input, brand?, rowNumber? }. input = company domain or ShopBack URL.
shopbackSessionCookiestringRequired for affiliate/both. Cookie-Editor JSON of your ShopBack session (must include sbrefresh). Encrypted; never logged.
regionstringau (default), sg, my, global.
maxConcurrencyintegerParallel targets (default 5).
forceBrowserbooleanSkip 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

  • outcomeresolved or not_on_shopback.
  • affiliate.statusnetwork_identified | generic_affiliate | shopback_direct | click_out_failed | auth_expired (session cookie no longer valid — re-paste shopbackSessionCookie).
  • resolvedViashopback_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 fresh shopbackSessionCookie (include sbrefresh). 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.