Shopee Affiliate Products Finder
Pricing
from $0.50 / 1,000 product discovereds
Shopee Affiliate Products Finder
Discover viral Shopee products with commission rates and generate trackable short links (subIds) via the official Shopee Affiliate Open API (GraphQL + HMAC-SHA256).
Pricing
from $0.50 / 1,000 product discovereds
Rating
5.0
(1)
Developer
viralanalyzer
Maintained by CommunityActor stats
0
Bookmarked
52
Total users
3
Monthly active users
2 months ago
Last modified
Categories
Share
🛒 Shopee Affiliate Open API — Multi-Mode Discovery (BR)
🔗 View on Apify Store | 🇺🇸 English | 🇧🇷 Português
Pull Shopee Brazil affiliate data straight from the official Shopee Affiliate Open Platform GraphQL API. Discover products, shops, and campaigns; pull your conversion reports; download bulk catalog feeds; and generate trackable short links with sub-IDs — all from a single actor in 5 operation modes. Built for performance-marketing pipelines with real commission data, not scraped prices.
✨ Features
- 🎯 5 operation modes —
products·shops·campaigns·conversions·feeds(pick one per run) - 💸 Real commission rates —
commissionRate,commission(BRL),sellerCommissionRate,shopeeCommissionRatestraight from Open API - 🔗 Trackable short links — Optional
subIdsTemplatetriggersgenerateBatchShortLinkto create attribution-ready links (max 5 sub-IDs per link with tokens like{{date}},{{shopId}},{{itemId}},{{keyword}}) - 📊 Conversion reporting — Pull your own affiliate sales (
conversionReportquery) for DW / analytics pipelines - 📦 Bulk catalog feeds —
listItemFeedsreturns full Shopee data feeds (FULL / DELTA) instead of paginating product-by-product - 🏪 Shop discovery with differentiated commission —
shopOfferV2finds shops paying above-baseline rates - 🛡️ HMAC-SHA256 signature — Pure HTTP + official auth, no scraping, no anti-bot games
- 🔒 Secret credential handling —
appSecretstored encrypted via Apify input-secret - 🇧🇷 Brazil-native — Endpoint
open-api.affiliate.shopee.com.br/graphql(BR catalog, BRL pricing)
⚙️ Requirements
You need a Shopee Affiliate Open Platform account with API credentials:
- Apply for the affiliate program at affiliate.shopee.com.br (manual review, ~5-15 days)
- After approval, open the Open API section in your affiliate dashboard
- Copy App ID (numeric) and App Secret (long string)
- Paste into the actor input (
appId+appSecret)
📥 Input
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
appId | string | ✅ | — | Shopee Affiliate App ID |
appSecret | string (secret) | ✅ | — | Shopee Affiliate App Secret (encrypted) |
mode | enum | ✅ | products | products · shops · campaigns · conversions · feeds |
keywords | string[] | conditional | — | Required for products and shops modes. 1-20 terms. |
maxResults | integer | ❌ | 50 | Cap on entities returned (1-500). Each = 1 PPE event. |
sortType | integer | ❌ | 5 | 1=Relevance · 2=Sales · 3=Price High→Low · 4=Price Low→High · 5=Commission High→Low |
minSales | integer | ❌ | 0 | Client-side: drop products with fewer sales (mode=products only) |
minRating | number | ❌ | 0 | Client-side: drop products below this rating (0-5) |
minCommissionRate | number | ❌ | 0 | Client-side: drop entities below this commission % |
subIdsTemplate | string[] | ❌ | [] | Up to 5 templates. Non-empty triggers generateBatchShortLink. Tokens: {{date}}, {{shopId}}, {{itemId}}, {{keyword}} |
conversionTimeRangeDays | integer | ❌ | 30 | Look-back window for mode=conversions (1-90) |
feedMode | string | ❌ | "" | FULL or DELTA for mode=feeds; empty lists all available feeds |
proxyConfiguration | object | ❌ | none | Open API doesn't require proxy; enable only if Apify IP gets rate-limited (error 10030) |
Input examples
Mode products (most common):
{"appId": "18384911047","appSecret": "<your-secret>","mode": "products","keywords": ["fone bluetooth", "tênis casual"],"maxResults": 50,"sortType": 5,"minCommissionRate": 5,"subIdsTemplate": ["viral", "tiktok", "{{date}}", "{{shopId}}", "{{itemId}}"]}
Mode conversions (pull your sales report):
{"appId": "18384911047","appSecret": "<your-secret>","mode": "conversions","conversionTimeRangeDays": 30,"maxResults": 500}
Mode feeds (bulk catalogs):
{"appId": "18384911047","appSecret": "<your-secret>","mode": "feeds","feedMode": "FULL"}
📤 Output
Every record has a unified schema with _entityType discriminating the mode (product · shop · campaign · conversion · feedItem).
Core fields (always present when applicable):
| Field | Type | Description |
|---|---|---|
_entityType | string | product / shop / campaign / conversion / feedItem |
itemId / shopId | number | Shopee IDs |
name | string | Product / shop / campaign name |
url | string | Canonical Shopee URL |
offerLink | string | Long affiliate link with built-in tracking (returned by Open API) |
shortLink | string | Shortlink from generateBatchShortLink (when subIdsTemplate is set) |
price / priceMin / priceMax | number | BRL |
discountPct | number | 0-100 |
sales | number | Total historical sales |
rating | number | 0-5 |
commissionRate | number | Affiliate commission rate (decimal, 0.05 = 5%) |
commission | number | Estimated commission in BRL (price × commissionRate) |
sellerCommissionRate / shopeeCommissionRate | number | Breakdown of who pays what |
appNewRate / appExistRate | number | Commission for NEW / EXISTING buyers via the Shopee app |
webNewRate / webExistRate | number | Commission for NEW / EXISTING buyers via web |
opportunityScore | number | Heuristic 0-100 ranking of how attractive a product is to promote (demand × payout × quality × deal). Not a count of competing affiliates — see FAQ |
shopName / shopType / isOfficialShop | mixed | Seller info (shopType: 1=Mall, 2=Star) |
periodStartTime / periodEndTime | string | ISO 8601 — offer validity window |
categoryIds | number[] | Shopee category hierarchy |
discoveredVia | string | The keyword (or feed name) that surfaced this entity |
_dataQuality | string | full or partial |
scrapedAt | string | ISO 8601 fetch timestamp |
Mode conversions adds: conversionId, purchaseTime, orderStatus, totalCommission, device, utmContent, attributionType.
Output example (mode=products)
{"itemId": 23398164028,"shopId": 933390061,"name": "Fone De Ouvido Bluetooth TWS Pro 6","url": "https://shopee.com.br/product/933390061/23398164028","imageUrl": "https://cf.shopee.com.br/file/br-...","offerLink": "https://s.shopee.com.br/2qRLhfwL03","shortLink": "https://s.shopee.com.br/2abc...","price": 49.99,"priceMin": 49.99,"priceMax": 53.99,"discountPct": 37,"currency": "BRL","sales": 272,"rating": 5.0,"shopName": "RK_IMPORTS","shopType": 2,"isOfficialShop": false,"_entityType": "product","commissionRate": 0.38,"commission": 18.99,"sellerCommissionRate": 0.35,"shopeeCommissionRate": 0.03,"appNewRate": 0.38,"appExistRate": 0.38,"webNewRate": 0.38,"webExistRate": 0.38,"opportunityScore": 76.0,"periodStartTime": "2026-04-27T03:00:00+00:00","periodEndTime": "2026-06-01T02:59:59+00:00","discoveredVia": "fone bluetooth","platform": "shopee_br","_dataQuality": "full","scrapedAt": "2026-05-12T14:10:38.584Z"}
📋 Use cases
- 🤝 Affiliate marketing — Find high-commission products, generate tracked links, ship to TikTok/Instagram/YouTube
- 📊 Attribution analytics — Pull
conversionReportinto your DW; close the loop on which sub-ID generated revenue - 📈 Trend detection — Filter by
sortType=2(sales) +minCommissionRateto find products you can actually profit from - 🛍️ Catalog enrichment —
feedsmode delivers Shopee's full catalog with commission rates pre-computed - 🏪 Shop research —
shopsmode surfaces sellers offering differentiated commission (key sellers)
✅ Capabilities & Limits
Stated up front, so you do not pay a run to find out.
Built here: in mode=products and mode=shops, maxResults counts per keyword, not per run. The counter resets inside the keyword loop, so 20 keywords at maxResults=500 can emit up to 10,000 deduplicated records - and the same number of pay-per-event charges - in one run.
| Input / feature | Supported | Notes |
|---|---|---|
| Shopee Affiliate credentials | ⚠️ Required | appId + appSecret from the Shopee Affiliate Open Platform. You must already be an approved Shopee affiliate — there is no public mode |
| Mode | ✅ | mode — required: products, shops, campaigns, conversions, feeds |
| Keyword search | ✅ | keywords — ignored for campaigns, conversions and feeds |
| Result volume | ⚠️ | Shopee's Open API pages at 500; maxResults drives pagination beyond that |
| Filters | ✅ | minSales, minRating, minCommissionRate — products mode only |
| Tracked short links | ✅ | subIdsTemplate calls generateBatchShortLink for each product found |
| Your own conversions | ✅ | mode=conversions with conversionTimeRangeDays |
| Affiliate competition count | ❌ | Shopee's Open API does not expose it. We verified the live productOfferV2 schema — no such field exists, so no tool built on the official API can return it, and we will not invent one. Use opportunityScore instead |
| Proxy | ⚠️ | not needed — the Open API is not IP-gated. Enable only if rate-limited |
❓ FAQ
Q: Do I need Shopee Affiliate API credentials? A: Yes. Unlike scraping actors, this one uses the official Open Platform. Apply at affiliate.shopee.com.br → wait for approval → grab App ID + App Secret from the Open API panel.
Q: How is the signature computed?
A: SHA256(appId + timestamp + payload + secret). Header format: Authorization: SHA256 Credential={appId}, Timestamp={ts}, Signature={sig}. Timestamp is Unix seconds (not ms); window is ~5 minutes.
Q: What's the difference between offerLink and shortLink?
A: offerLink is the long pre-tracked URL returned by Open API automatically. shortLink is a shortened version generated via generateBatchShortLink — only when you provide subIdsTemplate. Use sub-IDs to track which channel/creative drove each conversion.
Q: Why are numeric fields returned as decimals (e.g., commissionRate: 0.38)?
A: That's how Open API encodes them. 0.38 = 38% commission. Our actor parses the API's String! representation into float for you.
Q: What does error code 10030 mean? A: Shopee Open API rate limit. The actor implements exponential backoff (up to 3 retries). If it persists, enable Apify Proxy (datacenter US) to rotate IP.
Q: Can I run all 5 modes in one run?
A: No. Each run = one mode (it determines the PPE event charged). To pull products + conversions, run the actor twice with different mode values.
Q: Can I get the "affiliate competition" of a product (how many affiliates promote it)?
A: No — Shopee's Open API does not expose that. We verified the live productOfferV2 schema by introspection: it has no "number of affiliates" / competition field, so no tool built on the official API can return it (and we won't fabricate a number). What we do give you is opportunityScore — a transparent 0-100 heuristic combining real demand (sales), payout (commissionRate + new/returning-buyer rates), quality (rating), and deal strength (discountPct) — to rank which products are actually worth promoting.
Q: What is opportunityScore and how is it computed?
A: A heuristic 100 × (0.40·demand + 0.35·payout + 0.15·quality + 0.10·deal), where demand = log10(sales+1)/5, payout = commission%/25, quality = rating/5, deal = discount/50 (each capped at 1.0). Higher = more attractive to promote. It is not a competition/saturation metric.
Q: Does this actor scrape Shopee? A: No. Pure REST/GraphQL via the official Open Platform. No browsers, no fingerprinting, no anti-bot games. Just signed HTTP calls.
💰 Pricing
This actor uses Pay Per Event (PPE) pricing across 6 event types and 6 plan tiers:
| Event (mode) | FREE | BRONZE | SILVER | GOLD | PLATINUM | DIAMOND |
|---|---|---|---|---|---|---|
product-discovered (products) | $0.0009 | $0.0008 | $0.0007 | $0.0005 | $0.0003 | $0.0002 |
shop-discovered (shops) | $0.0012 | $0.0010 | $0.0008 | $0.0007 | $0.0004 | $0.0002 |
campaign-discovered (campaigns) | $0.0014 | $0.0012 | $0.0010 | $0.0008 | $0.0005 | $0.0003 |
conversion-pulled (conversions) | $0.0023 | $0.0020 | $0.0017 | $0.0013 | $0.0008 | $0.0004 |
feed-item-discovered (feeds) | $0.0007 | $0.0006 | $0.0005 | $0.0004 | $0.0002 | $0.0001 |
short-link-generated (add-on) | $0.0018 | $0.0015 | $0.0012 | $0.0010 | $0.0006 | $0.0003 |
Example: A BRONZE-plan user running mode=products with maxResults=100 and subIdsTemplate set pays roughly 100 × $0.0008 + 100 × $0.0015 = $0.23 for a full discovery + attribution batch.
🔗 Related actors
- AliExpress Product Discovery — Cross-border sourcing via Dropshipping API
- Awin Multi-Merchant Affiliate — Hundreds of BR + global brands via Awin Publisher REST
- Mercado Livre Scraper — ML BR products
- Amazon Brazil Intelligence — Amazon BR product data
- TikTok Viral Scanner — Validate trends before promoting
📝 Changelog
v4.1 (Current, 2026-06-30)
- +4 commission fields (
appNewRate,appExistRate,webNewRate,webExistRate) — new vs returning buyer × app vs web, surfaced fromproductOfferV2(were dropped before) - +
opportunityScore— transparent 0-100 heuristic ranking how attractive a product is to promote (demand × payout × quality × deal) - FAQ: clarified that Shopee's Open API does not expose "affiliate competition" (verified via live schema introspection)
v4.0 (2026-05-12)
- Migrated to Shopee Affiliate Open Platform (official GraphQL API) — no more scraping
- HMAC-SHA256 signature authentication
- 5 operation modes via
modeinput: products / shops / campaigns / conversions / feeds - 6 PPE events with 6-tier pricing (FREE → DIAMOND)
generateBatchShortLinkintegration with sub-ID templating- Anti-hallucination guardrails (BANNED_PATTERNS) + zero-NULL contract preserved
- Owner-skip for internal ViralAnalyzer runs
v3.0 (Legacy, deprecated)
- Curl-cffi scraping of frontend API v4 — blocked by anti-bot
🛒 Shopee Affiliate Open API — Descoberta Multi-Modo (BR)
🔗 Ver na Apify Store | 🇺🇸 English | 🇧🇷 Português
Extraia dados de afiliado da Shopee Brasil diretamente da API oficial GraphQL do Open Platform. Descubra produtos, lojas e campanhas; puxe relatórios de conversão; baixe data feeds em bulk; e gere shortlinks rastreáveis com sub-IDs — tudo em um único actor com 5 modos de operação. Pensado para pipelines de marketing de performance com comissão real, não preço scrapado.
✨ Funcionalidades
- 🎯 5 modos de operação —
products·shops·campaigns·conversions·feeds - 💸 Taxas de comissão reais —
commissionRate,commission(BRL), comissão do vendedor + subsídio Shopee - 🔗 Shortlinks rastreáveis — Opcional via
subIdsTemplate(até 5 sub-IDs com tokens{{date}},{{shopId}},{{itemId}},{{keyword}}) - 📊 Relatório de conversão —
conversionReportpara fechar o loop de atribuição no DW - 📦 Data feeds bulk —
listItemFeedstraz o catálogo Shopee inteiro - 🛡️ Assinatura HMAC-SHA256 — HTTP puro + auth oficial, sem scraping
- 🔒 Segredos criptografados —
appSecretvia Apify input-secret - 🇧🇷 Nativo do Brasil — Endpoint
open-api.affiliate.shopee.com.br/graphql
⚙️ Requisitos
Você precisa de uma conta no Shopee Affiliate Open Platform:
- Solicite no affiliate.shopee.com.br (revisão manual, ~5-15 dias)
- Após aprovado, abra a aba Open API no seu dashboard
- Copie App ID (numérico) e App Secret (string longa)
- Cole no input do actor (
appId+appSecret)
📥 Entrada (campos principais)
Veja tabela completa em inglês acima. Campos obrigatórios: appId, appSecret, mode. Os modos products e shops exigem keywords. Os modos conversions e feeds ignoram keywords.
Exemplo (mode=products):
{"appId": "18384911047","appSecret": "<seu-secret>","mode": "products","keywords": ["fone bluetooth", "tênis casual"],"maxResults": 50,"sortType": 5,"minCommissionRate": 5,"subIdsTemplate": ["viral", "tiktok", "{{date}}", "{{shopId}}", "{{itemId}}"]}
📤 Saída
Schema unificado com discriminador _entityType (product / shop / campaign / conversion / feedItem). Veja tabela completa em inglês. Campos-chave: itemId, shopId, name, offerLink, shortLink, commissionRate, commission, sales, rating, discountPct, periodStartTime/End.
📋 Casos de uso
- 🤝 Marketing de afiliados — Achar produtos de alta comissão + gerar links rastreáveis + distribuir em TikTok/Instagram
- 📊 Atribuição —
conversionReportno seu DW; saber qual sub-ID gerou receita - 📈 Detecção de tendência — Filtrar por
sortType=2(vendas) +minCommissionRatepara achar produtos lucrativos - 🛍️ Enriquecimento de catálogo —
feedstraz catálogo completo com comissão pré-calculada - 🏪 Pesquisa de lojas —
shopsrevela vendedores com comissão diferenciada
❓ Perguntas Frequentes
P: Preciso de credenciais Open API da Shopee? R: Sim. Diferente de actors de scraping, este usa Open Platform oficial. Solicite em affiliate.shopee.com.br → aguarde aprovação → pegue App ID + Secret.
P: Como é a assinatura?
R: SHA256(appId + timestamp + payload + secret). Header: Authorization: SHA256 Credential={appId}, Timestamp={ts}, Signature={sig}. Timestamp em segundos Unix (não ms); janela ~5 min.
P: Diferença entre offerLink e shortLink?
R: offerLink é o link longo já com tracking, retornado pela API. shortLink é gerado via generateBatchShortLink apenas se você passar subIdsTemplate. Use sub-IDs para rastrear canal/criativo.
P: Por que commissionRate: 0.38 em vez de 38?
R: É como a Open API codifica. 0.38 = 38% de comissão. Convertemos a String! da API para float automaticamente.
P: O que é o erro 10030? R: Rate limit da Shopee. O actor faz backoff exponencial (3 retries). Se persistir, ative Apify Proxy (datacenter US).
P: Posso rodar 5 modos numa execução? R: Não. Cada run = um modo (define o evento PPE cobrado). Rode 2x se quiser produtos + conversões.
P: Este actor faz scraping da Shopee? R: Não. REST/GraphQL puro via Open Platform. Sem browser, sem fingerprint, sem anti-bot. Só HTTP assinado.
💰 Preços
Veja tabela completa em inglês. PPE em 6 eventos × 6 tiers (FREE → DIAMOND). Exemplo BRONZE: rodar mode=products com maxResults=100 + shortlinks custa ~$0.23 (100 × $0.0008 produto + 100 × $0.0015 shortlink).
🔗 Actors Relacionados
- AliExpress Product Discovery
- Awin Multi-Merchant Affiliate
- Mercado Livre Scraper
- Amazon Brazil Intelligence
- TikTok Viral Scanner
📝 Changelog
v4.0 (Atual, 2026-05-12)
- Migrado para Shopee Affiliate Open Platform (GraphQL oficial) — fim do scraping
- Assinatura HMAC-SHA256
- 5 modos via input
mode: products / shops / campaigns / conversions / feeds - 6 eventos PPE × 6 tiers (FREE → DIAMOND)
generateBatchShortLinkintegrado com template de sub-IDs- Guardrails anti-placeholder + zero-NULL contract preservados
- Owner-skip para runs internos ViralAnalyzer
v3.0 (Legacy, descontinuado)
- Scraping da API v4 via curl-cffi — bloqueado por anti-bot