Shopee Scraper
Pricing
from $5.00 / 1,000 product scrapeds
Shopee Scraper
Scrape Shopee product search results and product detail pages across Singapore, Malaysia, Philippines, Thailand, Vietnam, Indonesia, Brazil, Mexico, and Taiwan. Returns flat MCP-ready product records with price, sales, ratings, stock, seller, and product URLs.
Pricing
from $5.00 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
1
Bookmarked
148
Total users
36
Monthly active users
9 days ago
Last modified
Categories
Share
Shopee Scraper is an Apify Actor for product search results and product detail pages across Singapore, Malaysia, Philippines, Thailand, Vietnam, Indonesia, Brazil, Mexico, and Taiwan. It accepts keyword queries, Shopee URLs, or direct item and shop ID pairs, and returns one flat record per product with fields such as price, ratings, sold counts, stock, seller data, image URL, category breadcrumbs, and source metadata.
Each dataset record represents one Shopee product. That makes it useful when you need a single, MCP-ready row per item for pricing analysis, assortment research, seller review, or downstream AI workflows that prefer structured product records over nested pages.
Best fit and connected workflows
This Actor fits workflows that start from a Shopee marketplace view and end with normalized product records. Common routes include:
- Keyword research into product monitoring, using
searchQueriesandmaxSearchPages. - Known product URL processing into detail records, using
startUrls. - Batch product lookup from known
item_idandshop_idpairs, usingshopItemIds. - Marketplace comparison across supported Shopee country domains by switching
country. - LLM or agent pipelines that need compact, flat output through Apify MCP.
If your workflow begins with Shopee search intent, category browsing, or direct product references, this Actor gives you a single product-level dataset with consistent field names.
Practical scenario
A marketplace analyst starts with a list of Shopee Singapore keywords for wireless accessories. They set searchQueries to those terms, keep includeDetails on, and limit the run with maxProducts.
The returned records include title, price, rating, sold, stock, shopName, and productUrl. From that output, the analyst can compare item prices and seller signals, then open the strongest candidates in Shopee using the canonical URLs for manual review or a follow-up dashboard.
Input fields
| Field | Type | Purpose |
|---|---|---|
providerMode | string | Chooses the extraction backend: auto, owned, or scrapeless |
country | string | Selects the Shopee marketplace domain and currency context |
searchQueries | array of string | Builds Shopee search URLs from keywords |
startUrls | array of request sources | Uses already known Shopee product, search, category, or shop search URLs |
shopItemIds | array of objects | Resolves direct { item_id, shop_id } pairs to product details |
maxProducts | integer | Caps returned and charged product records |
maxSearchPages | integer | Limits pagination for generated keyword, category, or shop listing pages |
includeDetails | boolean | Includes detail-page fields such as description, stock, variants, and richer seller data |
sortBy | string | Orders keyword search results by relevance, latest, or top_sales |
includeRawData | boolean | Adds trimmed raw Shopee payload data for debugging and parser work |
proxyConfiguration | object | Uses Apify Proxy settings, with residential defaults |
Focused JSON input example
{"providerMode": "scrapeless","country": "SG","searchQueries": ["wireless earbuds","mechanical keyboard"],"maxProducts": 100,"maxSearchPages": 3,"includeDetails": true,"sortBy": "relevance","includeRawData": false}
Output fields
| Field | Type | Purpose |
|---|---|---|
productId | string or null | Shopee item identifier when available |
shopId | string or null | Shopee shop identifier when available |
productUrl | string or null | Canonical Shopee product URL |
title | string or null | Product title shown by Shopee |
price | number or null | Current product price |
priceMin | number or null | Minimum variant price when a range is present |
priceMax | number or null | Maximum variant price when a range is present |
priceBeforeDiscount | number or null | Original price before discount when available |
currency | string | Marketplace currency code |
discount | string or null | Discount label returned by Shopee |
rating | number or null | Average product rating |
ratingCount | integer or null | Count of ratings or reviews |
sold | integer or null | Recent or displayed sold count |
historicalSold | integer or null | Historical sold count when exposed |
stock | integer or null | Available stock count when present |
shopName | string or null | Seller or shop display name |
shopLocation | string or null | Seller location shown by Shopee |
isOfficialShop | boolean or null | public shop marker |
isShopeeMall | boolean or null | Shopee Mall marker |
imageUrl | string or null | Main product image URL |
description | string or null | Product description when detail extraction is enabled |
categories | array of string | Category breadcrumbs when available |
sourceType | string | Discovery path such as search, url, api, or fallback |
sourceUrl | string | Input or generated Shopee URL that produced the record |
scrapedAt | string | ISO 8601 timestamp for the record |
Illustrative output record
{"productId": "131564786","shopId": "22739277","productUrl": "https://shopee.sg/product/22739277/131564786","title": "Wireless Bluetooth Earbuds","price": 19.9,"priceMin": 15.9,"priceMax": 24.9,"priceBeforeDiscount": 29.9,"currency": "SGD","discount": "20%","rating": 4.8,"ratingCount": 1240,"sold": 5000,"historicalSold": 15000,"stock": 98,"shopName": "Shopee Mall Store","shopLocation": "Singapore","isOfficialShop": true,"isShopeeMall": false,"imageUrl": "https://down-sg.img.susercontent.com/file/example","description": "Bluetooth 5.3 earbuds with charging case.","categories": ["Mobile & Gadgets","Audio"],"sourceType": "search","sourceUrl": "https://shopee.sg/search?keyword=wireless%20earbuds","scrapedAt": "2026-06-12T08:00:00.000Z"}
How it works
This Actor uses a Playwright-based crawler and supports three Shopee extraction backends through providerMode:
autousesSCRAPELESS_API_KEYwhen configured, then falls back to owned browser scraping.owneduses browser scraping.scrapelessuses the Scrapeless provider path and is the recommended production route in the supplied contract.
It can start from generated search URLs, direct Shopee URLs, or direct item_id and shop_id pairs. The dataset is intentionally flat so each record is easy to consume in Apify datasets, SQL-style pipelines, and Apify MCP tool workflows.
Pricing
Shopee Scraper uses Pay per event plus Apify platform usage.
- Actor start: charged per run start event.
- Product scraped: charged for each product record successfully returned to the dataset.
For example, a run that returns one hundred product records is charged for one hundred product events, plus the start event, plus Apify platform usage. To see the live pricing tab for the current run cost details, open the Actor's Pricing tab in Apify.
Use with AI agents (MCP)
This Actor is available as an Apify Actor usable through Apify MCP. The tool is designed to fetch Shopee product records with stable field names that are easy for agents to parse and pass downstream.
Actor identity: khadinakbar/shopee-scraper
Tool description: run Shopee keyword, URL, or batch item lookup jobs and read flat product records from the dataset output. The dataset contains product-level provenance such as sourceType, sourceUrl, and scrapedAt, which helps an agent explain where each record came from.
Search Shopee Singapore for wireless earbuds, return up to 20 products, and keep the output focused on price, sold count, rating, seller, and product URL.
Output interpretation:
productUrlpoints to the canonical Shopee product page.sourceUrlshows the input or generated Shopee URL behind the record.sourceTypetells you whether the record came from search, URL, API, or fallback discovery.scrapedAtrecords when the item was produced.
Provenance and scope:
- The Actor covers the Shopee country domains listed in the contract: SG, MY, PH, TH, VN, ID, BR, MX, and TW.
- The dataset schema is product-focused and MCP-ready, with one record per product.
includeRawDatacan add trimmed raw payloads for debugging schema changes.
Pagination and cost guidance:
maxSearchPagesapplies to generated keyword, category, or shop listing pages.maxProductscaps the number of product records returned and charged.- For agent workflows, start with a smaller cap, inspect the first records, and expand only when the source coverage looks right.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({token: process.env.APIFY_TOKEN,});const input = {providerMode: 'scrapeless',country: 'SG',searchQueries: ['wireless earbuds'],maxProducts: 10,maxSearchPages: 1,includeDetails: true,};const run = await client.actor('khadinakbar/shopee-scraper').call(input);const { items } = await client.dataset(run.defaultDatasetId).listItems({ clean: true });console.log(items);
Best results and outcome guidance
Use country that matches the Shopee marketplace you want to inspect, since it controls the marketplace domain and currency context. When you already have product references, shopItemIds gives direct batch lookup. When you are starting from discovery, searchQueries and startUrls are the most direct routes.
A practical setup is:
providerMode: "scrapeless"for production runs whenSCRAPELESS_API_KEYis configured.includeDetails: truewhen you want seller and stock fields from detail pages.includeRawData: falsefor compact, stable output.maxProductssized to the smallest useful set for your workflow.
Focused standalone workflow
Shopee Scraper is designed as a focused standalone workflow for the public input and structured output contract described above.
Design note
I found that categories, sourceType, sourceUrl, and scrapedAt are required output fields in the dataset contract, which is a clear sign that the Actor is meant to produce provenance-aware product records rather than only price fields.
FAQ
Can I use this Actor for Shopee search pages and product pages?
Yes. It accepts keyword searches, direct Shopee URLs, and direct batch item lookup through shopItemIds.
Does this Actor work across multiple Shopee country domains?
Yes. The contract includes SG, MY, PH, TH, VN, ID, BR, MX, and TW.
When should I use shopItemIds instead of searchQueries?
Use shopItemIds when you already know the item_id and shop_id values and want direct product detail lookup. Use searchQueries when you want Shopee to generate the product set from keywords.
What is the role of includeDetails?
It adds detail-page fields such as description, stock, variants, and richer seller data when those fields are available.
How does maxSearchPages interact with maxProducts?
maxSearchPages limits how many generated pages are visited, while maxProducts caps the returned and charged product records.
Responsible use
Use this Actor for publicly accessible Shopee product information and for workflows that respect applicable laws, Shopee terms, privacy rules, and marketplace policies. Keep your runs focused on product research, catalog monitoring, and agent consumption, and apply the results in ways that fit your organization or project's compliance requirements.