Shopee Scraper
Pricing
Pay per usage
Shopee Scraper
Extract Shopee product data from all 11 marketplaces without a browser: prices, discounts, ratings, units sold, shipping location, sellers and shops in Indonesia, Vietnam, Thailand, Brazil and more. Export data, run via API, schedule runs, or integrate with AI workflows.
Pricing
Pay per usage
Rating
0.0
(0)
Developer
Matvey
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
20 hours ago
Last modified
Categories
Share
Shopee Scraper extracts public Shopee product data from all 11 Shopee marketplaces โ Indonesia, Singapore, Malaysia, Philippines, Thailand, Vietnam, Taiwan, Brazil, Mexico, Colombia and Chile โ without the official API and without running a browser. Get product cards from any keyword search, category or shop, plus full product detail: description, brand, price, discount, rating, image gallery, category path and seller reputation. No login, no API key, no Shopee developer account. Export to JSON, CSV or Excel, call it from the API, schedule runs, or plug it into n8n, Make, Zapier, Google Sheets or an AI agent through MCP.
What is Shopee Scraper?
Shopee is the largest e-commerce marketplace in Southeast Asia and one of the fastest growing in Latin America. It has no public product API, and in mid-2026 Shopee moved every product page to a client-rendered app whose internal API is guarded by a JavaScript-signed token. Because of that, most Shopee scrapers today return only what a product card shows and report description, brand and gallery as "browser only".
This Actor takes the other route: it reads the server-rendered version of the page that Shopee returns to crawlers. Listing pages carry the full product card โ title, price, original price, discount, rating, units sold, shipping location and badges โ over plain HTTP, with no browser and no token, so a run of 40 products costs a fraction of a cent and finishes in under a minute.
| Mode | What you get | Input |
|---|---|---|
| ๐ Products from search | Product cards: title, price, original price, discount %, rating, units sold, shipping location, badges, image, position | keywords, search URLs, category URLs |
| ๐ฆ Product details | Category path, gallery size and, when Shopee serves its structured record, description, brand, price, availability, rating count and the seller with rating and response rate | product URLs or shopId/itemId |
| ๐ช Shop | Shop profile (name, username, rating, rating count, product count, logo) and the products on its page | shop URL or username |
Every row carries country, marketplace, currency, shopId and itemId, so a single dataset can hold several countries at once.
Supported Shopee marketplaces
| Country | Code | Domain | Currency |
|---|---|---|---|
| ๐ฎ๐ฉ Indonesia | ID | shopee.co.id | IDR |
| ๐ธ๐ฌ Singapore | SG | shopee.sg | SGD |
| ๐ฒ๐พ Malaysia | MY | shopee.com.my | MYR |
| ๐ต๐ญ Philippines | PH | shopee.ph | PHP |
| ๐น๐ญ Thailand | TH | shopee.co.th | THB |
| ๐ป๐ณ Vietnam | VN | shopee.vn | VND |
| ๐น๐ผ Taiwan | TW | shopee.tw | TWD |
| ๐ง๐ท Brazil | BR | shopee.com.br | BRL |
| ๐ฒ๐ฝ Mexico | MX | shopee.com.mx | MXN |
| ๐จ๐ด Colombia | CO | shopee.com.co | COP |
| ๐จ๐ฑ Chile | CL | shopee.cl | CLP |
Prices are returned in the marketplace's own currency and are never converted.
What data can Shopee Scraper extract?
๐ Product cards
| Field | Example |
|---|---|
title | Apple iPhone 15 128GB, Pink |
price / originalPrice / discountPercent | 12499000 / 14499000 / 14 |
currency | IDR |
rating | 4.9 |
soldQuantity | 10000 |
location | Jakarta Barat |
labels | ["Murah Mantap", "Garansi Harga Terbaik"] |
shopId / itemId | 241308147 / 22982495280 |
url / imageUrl | product link, main picture |
position / page / searchTerm | 1 / 0 / iphone 15 |
country / marketplace | ID / Indonesia |
๐ฆ Product details
When Shopee serves the structured product record for a page, the row carries description (the full seller description, thousands of characters), brand, price, originalPrice, availability, condition, rating, ratingCount, images, imageCount, breadcrumb, categoryPath and a seller object with name, username, url, logo, rating, ratingCount, productCount, chatResponse and location.
Shopee serves that record only part of the time, and the Actor retries each page from several IP addresses before giving up. When it still does not arrive, the row comes back with partial: true and whatever the page does carry โ title, category path and gallery size โ plus a note explaining what is missing, so a run never silently drops a product. For prices and ratings at scale, use search, category or shop mode: product cards always carry them.
๐ช Shops
name, username, url, rating, ratingCount, productCount, logo, country, plus the products listed on the shop page as normal product rows.
How much does it cost to scrape Shopee?
The Actor uses Apify's pay-per-event pricing, so you pay for results and nothing per page or per proxy gigabyte.
| Event | Price | Per 1,000 |
|---|---|---|
| Product (search card, category, shop) | $0.002 | $2 |
| Product detail (product page) | $0.004 | $4 |
Because no browser is involved, a run of 40 products finishes in well under a minute and costs a fraction of a cent in platform usage. The Apify Free plan ($5 monthly credit) is enough for roughly 2,500 product cards or 1,250 full product records every month.
How to scrape Shopee
- Open Shopee Scraper on Apify and click Try for free.
- Choose What to scrape โ for example Products from search.
- Pick the Country (Indonesia by default).
- Enter Search keywords, or paste Shopee URLs: product links, search results, category pages or shops. Links from different countries can be mixed in one run.
- Set Max products, optionally turn on Fetch full product details, and click Start.
- Open the Output tab and download the dataset as JSON, CSV, Excel or XML, or read it through the API.
โฌ๏ธ Input

Search Indonesia for two keywords, best selling first:
{"mode": "search","country": "ID","searchTerms": ["iphone 15", "samsung s24"],"sortBy": "sales","maxItems": 200}
Full detail for specific products (any country, product URL or /product/shopId/itemId):
{"mode": "product","startUrls": ["https://shopee.co.id/Apple-iPhone-15-256GB-Pink-i.241308147.23982497018","https://shopee.com.br/product/1163374404/24096063243"]}
A category page in Vietnam and a shop in Singapore in one run:
{"startUrls": ["https://shopee.vn/ฤiแปn-Thoแบกi-cat.84","https://shopee.sg/shopeeofficial"],"maxItems": 100}
Search plus enrichment, where every card is opened for its full record:
{"country": "MY","searchTerms": ["air fryer"],"maxItems": 50,"enrichProducts": true}
Search filters
sortBy (relevancy, sales, latest, price_asc, price_desc), minPrice and maxPrice in the marketplace currency. They apply to keyword searches and to listing URLs you paste.
โฌ๏ธ Output

One product card:
{"type": "product","title": "Apple iPhone 15 128GB, Pink","url": "https://shopee.co.id/Apple-iPhone-15-128GB-Pink-i.241308147.22982495280","shopId": "241308147","itemId": "22982495280","country": "ID","marketplace": "Indonesia","currency": "IDR","price": 12499000,"originalPrice": 14499000,"discountPercent": 14,"rating": 4.9,"soldQuantity": 10000,"location": "Jakarta Barat","labels": ["Garansi Harga Terbaik"],"imageUrl": "https://down-id.img.susercontent.com/file/id-11134207-7ra0n-mdr868y1rkmn6a","position": 1,"searchTerm": "iphone 15","scrapedAt": "2026-09-03T06:28:11.026Z"}
One product detail (description shortened here):
{"type": "product_detail","itemId": "23982497018","shopId": "241308147","title": "Apple iPhone 15 256GB, Pink","brand": "Apple","description": "iPhone 15 menghadirkan Dynamic Island, kamera Utama 48 MP, dan USB-C โฆ","currency": "IDR","price": 14749000,"originalPrice": 17499000,"discountPercent": 16,"availability": "InStock","condition": "NewCondition","rating": 4.95,"ratingCount": 701,"imageCount": 11,"breadcrumb": ["Shopee", "Handphone & Aksesoris", "Handphone", "Apple", "Apple iPhone 15 256GB, Pink"],"seller": {"name": "iBox Official Shop","username": "iboxofficial","rating": 4.94,"ratingCount": 442537,"chatResponse": 100,"location": "KOTA JAKARTA BARAT"}}
Rows carry a type (product, product_detail, shop, error), so one dataset can be filtered in a spreadsheet or in code. Pages that fail are written as error rows with the URL and the reason instead of disappearing silently.
Use cases for Shopee data
Price monitoring and repricing
Track price, originalPrice and discountPercent for your own listings and your competitors' on a daily schedule, and feed the dataset into Sheets or your repricing tool.
Market research in Southeast Asia
Search a category across Indonesia, Vietnam, Thailand and the Philippines in one run and compare price levels, discount depth, ratings and units sold per market.
Product research and sourcing
Units sold on category pages plus rating counts show what actually moves. Full product detail adds the description and brand, so you can shortlist suppliers before contacting them.
Seller and shop intelligence
Shop mode returns the shop rating, the number of ratings and the product count, so you can size up a competitor or qualify a supplier.
Catalog enrichment
Description, brand, breadcrumb and the image gallery are enough to build product pages or enrich an existing catalog.
AI agents and RAG
Flat rows, literal field names and only optional inputs make this Actor easy to call from an agent through the Apify MCP server.
Integrations
- API โ start a run and read the dataset with any HTTP client:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run = client.actor("lergassy/shopee-scraper").call(run_input={"country": "ID", "searchTerms": ["air fryer"], "maxItems": 100})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["title"], item["price"], item["currency"])
- JavaScript โ
npm i apify-client, thenclient.actor('lergassy/shopee-scraper').call(input). - n8n, Make, Zapier, Google Sheets, Airtable, Slack, webhooks โ through the standard Apify integrations.
- MCP โ add the Apify MCP server to Claude, ChatGPT or Cursor and let the agent call
lergassy/shopee-scraperwith a keyword and a country.
Errors and troubleshooting
| What you see | What it means | Fix |
|---|---|---|
partial: true on a product row | Shopee did not serve its structured record for that page | Re-run the URL later, or take price and rating from search mode |
error rows for some URLs | The page stayed unavailable after retries | Re-run those URLs; the Actor rotates proxies and usually succeeds on a second attempt |
soldQuantity is null in search mode | Shopee shows units sold on category and shop pages, not on every search card | Use a category URL for units sold |
rating is null on a category page | Category cards omit the star rating | Enable enrichment, or scrape the same product by URL |
| Fewer results than Max products | Shopee returns about 40 cards per search page and repeats items across pages | Use several narrower keywords, or a category URL |
| Empty result for a shop | The shop page shows only its featured products | Paste the shop's listing URL, or search with the shop name |
๐ค For AI Agents & LLM Apps
Compact reference for agents calling this Actor through the Apify MCP server or the Apify API (lergassy/shopee-scraper).
Purpose: returns Shopee listings across nine South-East Asian and Latin American marketplaces โ by search term, by shop or by product URL โ with price, discount, rating, units sold and seller location. Use it to answer "what does this product cost in Indonesia right now", "who are the top sellers for this query" and "how did this listing's price move".
Minimal input:
{ "searchTerms": ["iphone 15"], "country": "ID", "maxItems": 40 }
Output: one row per listing โ type, partial, itemId, shopId, title,
url, country, marketplace, currency, price, originalPrice,
discountPercent, rating, soldQuantity, location, imageUrl,
categoryPath, scrapedAt. With enrichProducts on, rows also carry brand,
description, availability, ratingCount, imageCount and a seller object.
Pages that could not be read arrive as type: "error" rows with error and kind
rather than being dropped silently.
Behaviors an agent should know:
modedefaults toauto: search terms trigger search mode, URLs trigger product or shop mode. Set it explicitly only to override that.countryselects the marketplace and therefore the currency. Prices are always in the marketplace's own currency โ never comparepriceacross countries without converting.maxItems(default 40) caps rows per search term.enrichProductscosts one extra page fetch per product, so leave it off when the listing fields are enough.- Rows with
partial: truecarry only what search results expose. That is not an error; it is the cheap path. soldQuantityis Shopee's own lifetime counter, not sales in a period.- Anti-bot pressure is real on Shopee: a run may return
errorrows for some pages while succeeding on the rest. Checktypebefore treating the dataset as complete.
โ FAQ
Is it legal to scrape Shopee?
The Actor reads only pages that Shopee publishes to anyone, including the version it serves to search-engine and social-media crawlers. It does not log in, does not touch buyer accounts and collects no personal data. You remain responsible for using the data in line with local law and Shopee's terms; consult a lawyer for your specific case.
Do I need a Shopee API key or an account?
No. Shopee has no public product API, and this Actor never authenticates.
Does it use a browser?
No. That is why it is fast and cheap. Everything is plain HTTP against the server-rendered pages.
Why is product detail sometimes partial?
Since mid-2026 Shopee renders product pages in the browser and guards the internal API with a JavaScript-signed token. The crawler version of the page carries the structured product record only part of the time. This Actor retries from several IP addresses and, if the record still does not arrive, returns what the page does carry with partial: true instead of failing. Product cards from search, category and shop pages are unaffected and always carry price, rating and discount.
Can I scrape several countries in one run?
Yes. Keyword searches use the selected country, and every URL keeps its own marketplace. Each row records country, marketplace and currency.
How many products can one search return?
Shopee serves about 40 cards per search page and reshuffles results between pages, so a single keyword realistically yields a few hundred unique products. Category URLs and several narrower keywords go deeper.
Does it return customer reviews?
Not today. Reviews load from the token-signed internal API and are out of scope for a browserless scraper. Ratings and rating counts are included for both products and shops.
Can I get per-variant prices and stock?
Shopee does not expose per-variant data on the crawler page. You get the product price, the original price, the discount and availability.
Can I use it with the Apify API, MCP or n8n?
Yes, see Integrations. The input is plain JSON and startUrls accepts product, search, category and shop links.
Your feedback
Missing a field, a country or a page type? Open an issue in the Issues tab or leave a review โ user requests decide what ships next.
You might also like
| Actor | What it does |
|---|---|
| Tokopedia Reviews Scraper | Shop reviews from Indonesia's Tokopedia |
| Mercado Libre Scraper | Products, prices, reviews and deals across 18 Latin American marketplaces |
| Agoda Reviews Scraper | Hotel reviews from Agoda and Booking.com |
| Google Flights Scraper | Flight prices, airlines and price insights |
| Email & Phone Verifier | Checks e-mails and phone numbers in bulk: deliverability, throwaway and role flags, numbering plan, US state and time zone |