Shopee Product & Review Scraper — SG MY TH ID PH VN
Pricing
Pay per usage
Shopee Product & Review Scraper — SG MY TH ID PH VN
Scrape Shopee product search, live prices, sold counts, ratings and reviews across Singapore, Malaysia, Thailand, Indonesia, Philippines and Vietnam. Pay-per-event JSON API for competitor price monitoring.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Technical Dost Solutions
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
2
Monthly active users
2 days ago
Last modified
Categories
Share
Scrape Shopee product search results, live item details and customer reviews across all major Southeast Asian marketplaces — Singapore, Malaysia, Thailand, Indonesia, the Philippines and Vietnam — with a single pay-per-event API call.
Built for SEA sellers doing competitor price monitoring and cross-border (跨境) sellers sourcing and benchmarking products.
Features
- Product search — full-text keyword search on any of 6 Shopee regional sites, up to 1,000 products per keyword.
- Rich item details — price, price range, sold count, stock, star rating, rating count, brand, categories, images, shop name and shop location.
- Reviews — optionally pull up-to-date customer reviews (username, rating, comment, time) for the top products of each search.
- Multi-region — one run can cover several Shopee regions at once; prices are normalized to real currency units.
- Pay-per-event pricing — you only pay for what you actually scrape. No monthly subscription, no start fee.
Supported regions
| Code | Marketplace |
|---|---|
sg | shopee.sg (Singapore) |
my | shopee.com.my (Malaysia) |
th | shopee.co.th (Thailand) |
id | shopee.co.id (Indonesia) |
ph | shopee.ph (Philippines) |
vn | shopee.vn (Vietnam) |
Input
| Field | Type | Default | Description |
|---|---|---|---|
keywords | array of strings | ["wireless earbuds"] | Search keywords, one search per keyword per region. |
regions | array of strings | ["sg"] | Region codes to search: sg, my, th, id, ph, vn. |
maxProductsPerKeyword | integer | 30 | Max products per keyword and region (1–1000). |
maxReviewsPerProduct | integer | 0 | 0 = skip reviews. If > 0, fetches up to this many reviews for each of the top 5 products per keyword. |
proxyConfiguration | object | — | Optional Apify proxy. See proxy advice below. |
Example input
{"keywords": ["wireless earbuds", "phone case"],"regions": ["sg", "my"],"maxProductsPerKeyword": 30,"maxReviewsPerProduct": 10,"proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["UNBLOCKER"]}}
Output
One dataset item per product:
| Field | Type | Description |
|---|---|---|
keyword | string | Search keyword that produced this product. |
region | string | Region code (sg, my, …). |
productId | number | Shopee item ID. |
shopId | number | Shopee shop ID. |
url | string | Canonical product URL. |
name | string | Product title. |
brand | string/null | Brand name. |
price | number/null | Current price (real currency units). |
priceMin / priceMax | number/null | Variant price range. |
currency | string | ISO currency code (SGD, MYR, …). |
sold | number/null | Total historical sold count. |
stock | number/null | Available stock. |
rating | number/null | Average star rating (0–5). |
ratingCount | number/null | Total number of ratings. |
shopName | string/null | Seller shop name. |
shopLocation | string/null | Shop location as listed by Shopee. |
images | array of strings | Full-size product image URLs. |
categories | array of strings | Category breadcrumb names. |
reviews | array | [{username, rating, comment, time}] — empty unless maxReviewsPerProduct > 0. |
scrapedAt | string | ISO 8601 timestamp. |
Pricing
Pay-per-event, no start fee:
- $1.50 per 1,000 products scraped
- $2.00 per 1,000 reviews scraped
A run scraping 1,000 products with 20 reviews on 5 products each (100 reviews) costs $1.70.
How it works
Shopee protects its API with aggressive anti-bot (TLS/JA3 fingerprinting + signed request headers), so plain HTTP clients are rejected outright. This actor drives real Chromium (Playwright), warms a session on the marketplace homepage, then navigates search and product pages while capturing the JSON responses fired by Shopee's own frontend — correctly signed by Shopee's own JavaScript. On an anti-bot wall the actor automatically relaunches the browser with a fresh proxy session (up to 3 relaunches per step).
Proxy advice
A proxy is effectively required. Shopee blocks datacenter IPs and flags heavily-used shared proxy pools.
- Best:
apifyProxyGroups: ["UNBLOCKER"]— Apify's anti-bot-solving proxy; in our platform tests it was the only option that loaded search pages without a verification wall. - Also try:
RESIDENTIALwithapifyProxyCountryset to the marketplace country (e.g.SG). - Shared residential pools are sometimes pre-flagged by Shopee; if a run returns 0 products or a
90309999error, switch groups or use dedicated/ISP proxies viaproxyConfiguration.proxyUrls.
Honest status: the full pipeline (search → details → reviews → schema) is end-to-end tested; live extraction depends on proxy quality, and Shopee's anti-bot is one of the toughest in e-commerce. Runs that get blocked fail loudly with a clear error instead of silently returning partial data.
Notes
- Prices returned by Shopee's API are scaled internally; this actor normalizes them to real units (e.g.
15.90SGD). - Review comments are returned in the buyer's original language.
- The actor runs a real browser — use at least 2 GB memory per run.