Shopee Affiliate Products Finder
Pricing
Pay per event
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
Pay per event
Rating
0.0
(0)
Developer
viralanalyzer
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
25 minutes 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 |
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,"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)
❓ 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: 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.0 (Current, 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