Shopee Product Detail Scraper - Cheapest
Pricing
from $20.00 / 1,000 results
Shopee Product Detail Scraper - Cheapest
Scrape full product detail from Shopee by Shop ID + Item ID or product URL. Returns rich data: price variants, stock, images, attributes, seller info, and more. Fast, lightweight, and no browser or account required.
Pricing
from $20.00 / 1,000 results
Rating
0.0
(0)
Developer
Xtractoo
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
2 hours ago
Last modified
Categories
Share
Shopee Product Detail Scraper
Extract complete product data from a single Shopee product — by Shop ID + Item ID, or by product URL. No browser automation required.
Why This Actor?
Use this when you need rich, structured data from a specific product:
- Full description and brand info
- All product images
- All variant names (size, color, spec) with stock availability status
- Attributes (screen size, OS, processor, RAM, etc.)
- Price range across all variants (
price_min/price_max) - Seller info (shop name, rating, follower count, response rate, location)
- Breadcrumb / category hierarchy
Supported Countries
| Code | Domain |
|---|---|
id | shopee.co.id (Indonesia) |
sg | shopee.sg (Singapore) |
my | shopee.com.my (Malaysia) |
th | shopee.co.th (Thailand) |
ph | shopee.ph (Philippines) |
vn | shopee.vn (Vietnam) |
br | shopee.com.br (Brazil) |
tw | shopee.tw (Taiwan) |
mx | shopee.com.mx (Mexico) |
co | shopee.com.co (Colombia) |
cl | shopee.cl (Chile) |
Where the request comes from matters
Shopee shows different amounts of product information depending on the country your request comes from. To get the richest data (description, brand, full specifications, all variants, image gallery), the request must originate from inside the country you are scraping.
When you run this actor on Apify Cloud, it automatically uses an Apify
Residential Proxy in your selected country for id, sg, my, th,
ph — no setup needed. When you run it locally (e.g. from Indonesia for
country=sg), no proxy is used and the actor will fall back to a lighter
data path (see the table below).
What you get per country
| Country | On Apify Cloud (proxy used) | Local / mismatched IP |
|---|---|---|
id | ✅ Full data | ✅ Full data |
sg | ✅ Full data | ⚠️ Light only |
my | ✅ Full data | ⚠️ Light only |
th | ✅ Full data | ⚠️ Light only |
ph | ✅ Full data | ⚠️ Light only |
vn | ⚠️ Light only — even with proxy, this region does not expose detail data | ⚠️ Light only |
br | ⚠️ Light only | ⚠️ Light only |
tw | ⚠️ Light only | ⚠️ Light only |
mx | ⚠️ Light only | ⚠️ Light only |
co | ⚠️ Light only | ⚠️ Light only |
cl | ⚠️ Light only | ⚠️ Light only |
Full data = title, price range, description, brand, all variant names, all attributes/specs, all images, full categories, breadcrumb, seller info.
Light only = title, price, primary image, rating, sold count, seller info. Description, brand, variants, attributes, full gallery, and breadcrumb are not returned.
Recommendation: For full detail on
sg/my/th/ph, run this actor on Apify Cloud. Local runs are fine foridor when the lighter data set is enough.
Input
| Field | Type | Required | Description |
|---|---|---|---|
country | select | No (default: id) | Shopee regional domain |
shopId | integer | Required* | Seller's numeric shop ID from the product URL |
itemId | integer | Required* | Product's numeric item ID from the product URL |
url | string | Required* | Full Shopee product URL (alternative to shopId + itemId) |
delay | number | No (default: 1.0) | Delay between HTTP requests (seconds) |
*Provide either shopId + itemId, or url. Not both required.
How to find Shop ID and Item ID
The IDs are embedded in every Shopee product URL:
https://shopee.co.id/Product-Name-i.{SHOP_ID}.{ITEM_ID}↑ ↑
Example: https://shopee.co.id/Laptop-Lenovo-i.196846900.11089699432
shopId=196846900itemId=11089699432
You can also paste the full URL into the url field — the country is auto-detected from the URL domain.
Sample Input
Using Shop ID + Item ID
{"country": "id","shopId": 196846900,"itemId": 11089699432}
Using URL
{"url": "https://shopee.co.id/Laptop-Lenovo-Thinkpad-i.196846900.11089699432"}
Sample Output
{"shop_id": 196846900,"item_id": 11089699432,"title": "Laptop Lenovo Thinkpad X1 Carbon 6th Intel Core i5 Gen8 Ram 16gb Ssd 256gb Bergaransi","currency": "IDR","description": "Laptop bekas kualitas premium, sudah dicek dan bersih...","brand": "Lenovo","brand_id": 52756,"condition": 4,"cat_id": 11044440,"price": 3570000.0,"price_min": 3200000.0,"price_max": 8370000.0,"price_before_discount": null,"discount_pct": null,"availability": "InStock","stock": 31,"is_hide_stock": false,"historical_sold": null,"view_count": null,"liked_count": 14,"is_pre_order": false,"rating_star": 4.87,"rating_count": [55, 0, 0, 1, 5, 49],"total_ratings": 55,"images": ["https://down-id.img.susercontent.com/file/id-11134207-7ra0n-m07b3fxp1h9u48"],"attributes": [{ "name": "Ukuran Layar", "value": "14 inci" },{ "name": "Sistem Operasi", "value": "Windows" },{ "name": "Tipe Prosesor", "value": "Intel Core i5" }],"models": [{"model_id": 227787022248,"name": "Carbon 6th i5 Gen8, RAM 16GB/256GB SSD","price": null,"stock": null,"has_stock": true}],"tier_variations": [],"categories": [{ "catid": 11044364, "name": "Komputer & Aksesoris" },{ "catid": 11044440, "name": "Laptop" }],"breadcrumb": [{ "position": 1, "name": "Shopee", "url": "https://shopee.co.id" },{ "position": 2, "name": "Komputer & Aksesoris", "url": "https://shopee.co.id/..." },{ "position": 3, "name": "Laptop" }],"label_ids": [],"item_has_video": false,"shop_location": "KOTA BANDUNG","shop": {"shopid": 196846900,"name": "RASYIDJAYA COMPUTER","username": "rasyidjaya_computer","location": "KOTA BANDUNG","rating_star": 4.84,"item_count": 120,"follower_count": 2248,"response_rate": 98,"response_time": 2,"is_official_shop": false,"is_shopee_verified": false}}
Output Fields Reference
| Field | Type | Description |
|---|---|---|
shop_id / item_id | integer | Shopee internal IDs |
title | string | Full product name |
currency | string | Local currency code (IDR, SGD, MYR, etc.) |
description | string | Full product description |
brand / brand_id | string / integer | Brand name and Shopee internal brand ID |
condition | integer | 1 = new, 4 = used |
price | float | Displayed product price |
price_min / price_max | float | Price range across all variants |
price_before_discount | float | Original price before discount (if on sale) |
discount_pct | integer | Discount percentage, e.g. 41 = 41% off |
availability | string | "InStock" or "OutOfStock" |
stock | integer | Total available stock (aggregate) |
is_hide_stock | boolean | true if seller has hidden the stock number |
sold | integer | Best-effort sold count (30-50% coverage, often null) |
historical_sold | integer | Lifetime sold count (usually null, hidden by Shopee) |
rating_star | float | Average rating (0–5) |
rating_count | array | [total, 1★, 2★, 3★, 4★, 5★] breakdown |
total_ratings | integer | Total number of ratings |
images | array | List of all product image URLs |
models | array | All variants: model_id, name, price, stock, has_stock |
tier_variations | array | Variation axes (e.g. Color, Size) with option lists |
attributes | array | Structured attributes: name, value pairs |
categories | array | Category hierarchy from Shopee internal data |
breadcrumb | array | SEO breadcrumb: position, name, url |
label_ids | array | Shopee internal label flags |
item_has_video | boolean | Whether the listing has a product video |
shop | object | Seller info — name, rating, followers, response rate, etc. |
Known Limitations
- Some fields are intentionally hidden by Shopee and cannot be
retrieved through public requests. Specifically:
- The price of each individual variant (
models[].price) is hidden — you only get the overall price range (price_min/price_max). - Per-variant stock counts (
models[].stock) are hidden — you only get the total available stock for the product. - The "items sold" count is hidden in most cases. The actor recovers it
on a best-effort basis from visible page text, succeeding for about
30–50% of products. Many products will return
nullhere.
- The price of each individual variant (
- The
pricefield at the product level is also hidden in detail mode. For products with multiple variants you usually receiveprice_minandprice_maxinstead. If you need the exact displayed price, scrape the product throughkeyword/category/shopmode first — the product card always carries a price. - Detail richness depends on where the request comes from. Full
product information (description, brand, all variants, attributes, image
gallery) is only returned when the request originates inside the target
country. On Apify Cloud this is handled automatically for
id/sg/my/th/phvia residential proxy. From outside (or forvn/br/tw/mx/co/cl), you receive a lighter data set with title, price, primary image, rating, sold count, and seller info only. See the support table above for the exact behavior per country. - Items not surfaced in the seller's recent listing (deep-archived or hidden products) may return only seller info when running outside the target country's IP region.