# Shopee Product Scraper - Live Stock & Prices (`zen-studio/shopee-product-scraper`) Actor

Scrape Shopee products by keyword or URL across all 8 markets. Get live stock, price, discount, units sold, rating, and shop data, plus optional full description, specifications, brand, category breadcrumb, and per-variant breakdown. No account or login needed. Export to JSON, CSV, or Excel.

- **URL**: https://apify.com/zen-studio/shopee-product-scraper.md
- **Developed by:** [Zen Studio](https://apify.com/zen-studio) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.99 / 1,000 products

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Shopee Product Scraper | Prices, Stock, Variants & Full Product Data Across 8 Markets (2026)

<blockquote style="border-left:4px solid #4C945E;background:#F0FDF4;padding:12px 16px">
<span style="font-size:16px;font-weight:700;color:#1C1917">75 fields per product, all 8 Shopee markets.</span> <span style="font-size:15px;color:#57534E">Live stock, price, discount, vouchers, and seller badges.</span>
</blockquote>

![Shopee Product Scraper](https://iili.io/CTwrR8N.png)

<table>
<tr>
<td colspan="4" style="padding:10px 14px;background:#4C945E;border:none;border-radius:4px 4px 0 0">
<span style="color:#FAFAF9;font-size:14px;font-weight:700;letter-spacing:0.5px">Zen Studio · Shopee Suite</span>
<span style="color:#E8F5E9;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Search, detail &amp; reviews across all 8 Shopee markets</span>
</td>
</tr>
<tr>
<td style="padding:10px 12px;border:1px solid #E7E5E4;background:#E8F5E9;border-right:none;border-top:none;border-radius:0 0 0 4px;vertical-align:middle;width:25%">
<span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-LwARSYSMWLBZfXfdr-FrDaNbQarB-shopee-scraper-logo.png" width="18" height="18" style="vertical-align:middle;border-radius:4px"> <a href="https://apify.com/zen-studio/shopee-product-scraper" style="color:#4C945E;text-decoration:none;font-weight:700;font-size:13px">Shopee Search</a></span><br>
<span style="color:#4C945E;font-size:11px;font-weight:600">&#10148; You are here</span>
</td>
<td style="padding:10px 12px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:middle;width:25%">
<span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-LwARSYSMWLBZfXfdr-FrDaNbQarB-shopee-scraper-logo.png" width="18" height="18" style="vertical-align:middle;border-radius:4px"> <a href="https://apify.com/zen-studio/shopee-product-detail-scraper" style="color:#4C945E;text-decoration:none;font-weight:700;font-size:13px">Shopee Detail</a></span>
</td>
<td style="padding:10px 12px;border:1px solid #E7E5E4;border-right:none;border-top:none;vertical-align:middle;width:25%">
<span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-LwARSYSMWLBZfXfdr-FrDaNbQarB-shopee-scraper-logo.png" width="18" height="18" style="vertical-align:middle;border-radius:4px"> <a href="https://apify.com/zen-studio/shopee-product-reviews-scraper" style="color:#4C945E;text-decoration:none;font-weight:700;font-size:13px">Shopee Reviews</a></span>
</td>
<td style="padding:10px 12px;border:1px solid #E7E5E4;border-top:none;border-radius:0 0 4px 0;vertical-align:middle;width:25%">
<span style="white-space:nowrap"><img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-ghXSMZcW3GxsCrkiR-5hnvsKv4Yt-1688-wholesale-scraper-logo.png" width="18" height="18" style="vertical-align:middle;border-radius:4px"> <a href="https://apify.com/zen-studio/1688-wholesale-scraper" style="color:#4C945E;text-decoration:none;font-weight:700;font-size:13px">1688 Wholesale</a></span>
</td>
</tr>
</table>

#### Copy to your AI assistant

````

zen-studio/shopee-product-scraper on Apify. Scrapes Shopee product listings by keyword or Shopee search/category/shop URL. One row per product with 75 fields: itemId, shopId, url, name, image, images, price, priceBeforeDiscount, priceMin, priceMax, priceMinBeforeDiscount, priceMaxBeforeDiscount, discountPercent, currency, stock, sold, soldMonthly, soldDisplayed, rating, ratingCount, likedCount, commentCount, shopName, shopRating, shopLocation, isOfficialShop, isVerifiedSeller, isPreferredPlusSeller, sellerBadge, isServiceByShopee, isShopeeChoice, isMart, isCrossBorder, isAdult, isAd, categoryId, createdAt, itemStatus, isOnFlashSale, canUseCod, canUseWholesale, hasVoucher, hasBundleDeal, hasGroupBuy, hasAddOnDeal, hasLowestPriceGuarantee, hasShopeeStock, voucherInfo, bundleDeal, groupBuy, addOnDeal, ccInstallmentEligible, nonCcInstallmentEligible, tierVariations, promotionLabels, brand, sizeChartImageId, transparentBackgroundImageId, videos, collectedVia, scrapedAt, enriched, and enrichment-only fields populated when includeEnrichment is on (categoryBreadcrumb, feCategoryBreadcrumb, models, description, richDescription, attributes, condition, estimatedShippingDays, minPurchaseLimit, maxPurchaseLimit, isFreeShipping, nameTranslated, descriptionTranslated). Call ApifyClient("TOKEN").actor("zen-studio/shopee-product-scraper").call(run\_input={...}), then client.dataset(run\["defaultDatasetId"]).list\_items().items. Required: searchTerms (string\[]) or startUrls. Optional: region (SG/ID/MY/PH/TH/TW/VN/BR, default SG), maxItems (default 100, ceiling ~1300), sort (relevance/newest/price\_low\_to\_high/price\_high\_to\_low/best\_selling), includeEnrichment (bool), priceMin, priceMax, minRating, minSold, officialShopOnly, language. PPE: result $7.99/1k, enrichment add-on $3.99/1k. Free tier: ~100 lifetime results. Token: https://console.apify.com/account/integrations

````

### Key Features

- **75 fields per result**: live stock, current price, discount percent, monthly and total sold, rating count, seller badges, flash sale flag, voucher codes and bundle/add-on deal details, COD availability, and variant axis names included in every base record.
- **Multi-sort union depth**: when a single sort ranking runs out, additional sort rankings are automatically combined and de-duplicated, reaching up to ~1,300 unique products per keyword instead of the ~100-200 ceiling most competitors hit.
- **All 8 Shopee markets**: Singapore (SGD), Indonesia (IDR), Malaysia (MYR), Philippines (PHP), Thailand (THB), Taiwan (TWD), Vietnam (VND), and Brazil (BRL).
- **Optional enrichment tier**: full product description, structured specifications, brand, both category breadcrumb paths, product videos, size chart, condition, shipping estimate, purchase limits, seller badges, per-variant availability, and translated name and description.
- **Free tier**: approximately 100 lifetime results free; enrichment is a paid feature.

### How to Scrape Shopee Product Data

#### Basic: keyword search, default 100 results

```json
{
    "searchTerms": ["iphone 15"],
    "region": "SG"
}
````

#### Multi-keyword, high coverage

```json
{
    "searchTerms": ["running shoes", "wireless earbuds"],
    "region": "MY",
    "maxItems": 500,
    "sort": "best_selling"
}
```

#### Keyword with filters and enrichment

```json
{
    "searchTerms": ["mechanical keyboard"],
    "region": "PH",
    "maxItems": 200,
    "sort": "relevance",
    "minRating": 4,
    "minSold": 100,
    "includeEnrichment": true
}
```

#### Category or shop URL

```json
{
    "startUrls": [
        { "url": "https://shopee.sg/Mobile-Gadgets-cat.11013247" }
    ],
    "region": "SG",
    "maxItems": 300,
    "sort": "price_low_to_high"
}
```

### Input Parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchTerms` | string\[] | | Product keywords to search. Each keyword runs independently with its own `maxItems` budget. At least one of `searchTerms` or `startUrls` is required. |
| `startUrls` | array | | Shopee search, category, or shop page URLs. Sorting and filtering are controlled by the fields below, not by parameters inside a pasted URL. |
| `region` | string | `"SG"` | Which Shopee market to scrape: SG, ID, MY, PH, TH, TW, VN, or BR. Prices are returned in the market's local currency. |
| `maxItems` | integer | `100` | Maximum unique products per keyword or URL. Ceiling is around 1,300 for broad terms. |
| `sort` | string | `"relevance"` | Result ranking: `relevance`, `newest`, `price_low_to_high`, `price_high_to_low`, or `best_selling`. |
| `includeEnrichment` | boolean | `false` | Add full description, specifications, brand, category paths, videos, size chart, shipping estimate, purchase limits, seller badges, variant breakdown, and translations. Billed at an additional per-product rate. |
| `priceMin` | integer | | Keep only products at or above this price. In the region's major currency unit (SGD, IDR, MYR, etc.). |
| `priceMax` | integer | | Keep only products at or below this price. |
| `minRating` | integer | | Keep only products with a rating at or above this value (0-5). |
| `minSold` | integer | | Keep only products with at least this many total units sold. |
| `officialShopOnly` | boolean | `false` | Restrict results to Shopee Mall official brand stores only. |
| `language` | string | | Optional locale code for translated result text, e.g. `en` or `zh-TW`. Applies to translated fields when enrichment is enabled. |

### Output

One row per product, 75 fields. Everything below ships in every record; the enrichment-only fields populate when `includeEnrichment` is on.

```json
{
  "itemId": 25305315701,
  "shopId": 445275287,
  "url": "https://shopee.sg/product/445275287/25305315701",
  "name": "Lovito Elegant Dress Tie Front Back Summer Dress for Women L74ED185",
  "image": "https://down-sg.img.susercontent.com/file/sg-11134201-823rs-mos0hn7xnzf3bc",
  "images": [
    "https://down-sg.img.susercontent.com/file/sg-11134201-823rs-mos0hn7xnzf3bc",
    "https://down-sg.img.susercontent.com/file/sg-11134201-8261f-mk81dqil3cozf7",
    "...+7 more images"
  ],
  "price": 10.03,
  "priceBeforeDiscount": 17.99,
  "priceMin": 10.03,
  "priceMax": 18.5,
  "priceMinBeforeDiscount": 17.99,
  "priceMaxBeforeDiscount": 19.51,
  "discountPercent": 44,
  "currency": "SGD",
  "stock": 143,
  "sold": 1635,
  "soldMonthly": null,
  "soldDisplayed": 1200,
  "rating": 4.836641882624702,
  "ratingCount": 27706,
  "likedCount": 3284,
  "commentCount": 367,
  "shopName": "LOVITO OFFICIAL STORE",
  "shopRating": 4.759247,
  "shopLocation": "Mainland China",
  "isOfficialShop": true,
  "isVerifiedSeller": false,
  "isPreferredPlusSeller": false,
  "sellerBadge": "OFFICIAL_SHOP",
  "isServiceByShopee": true,
  "isShopeeChoice": false,
  "isMart": false,
  "isCrossBorder": true,
  "isAdult": false,
  "isAd": false,
  "categoryId": 100017,
  "createdAt": "2023-12-27T08:29:18+00:00",
  "itemStatus": "normal",
  "isOnFlashSale": false,
  "canUseCod": false,
  "canUseWholesale": false,
  "hasVoucher": true,
  "hasBundleDeal": true,
  "hasGroupBuy": false,
  "hasAddOnDeal": true,
  "hasLowestPriceGuarantee": false,
  "hasShopeeStock": true,
  "voucherInfo": {
    "promotion_id": 1331733492801536,
    "voucher_code": "26MART01",
    "label": "$2 off"
  },
  "bundleDeal": {
    "bundle_deal_id": 463295832273022,
    "bundle_deal_label": "Any 10 enjoy $1.00 off"
  },
  "groupBuy": null,
  "addOnDeal": {
    "add_on_deal_id": 442646153805932,
    "add_on_deal_label": "Free Gift",
    "sub_type": 1,
    "status": 1
  },
  "ccInstallmentEligible": false,
  "nonCcInstallmentEligible": false,
  "tierVariations": [
    {
      "name": "颜色Color",
      "options": [
        "Apricot",
        "Black",
        "Style 1"
      ],
      "images": [
        "sg-11134201-82626-mk382zyozrwkee",
        "sg-11134201-8262q-mk3830nm7z7pad",
        "sg-11134201-8260h-mk3831rqg93a5f"
      ],
      "properties": null,
      "type": 0
    },
    {
      "name": "size",
      "options": [
        "S",
        "M",
        "L",
        "XL",
        "XXL"
      ],
      "images": null,
      "properties": null,
      "type": 0
    }
  ],
  "promotionLabels": [],
  "brand": "Lovito",
  "sizeChartImageId": "sg-11134201-7rav7-mb6ea0cyspr6f5",
  "transparentBackgroundImageId": "sg-11134201-81zvn-mipget440webdc",
  "videos": [
    {
      "id": "sg-11110105-6khwo-lzudemjtxbh658",
      "durationSec": 12,
      "thumbnailId": "sg-11110105-7rdvh-lzudhib227qqdb",
      "path": "api/v4/11110105/mms/sg-11110105-6khwo-lzudemjtxbh658.16000081725617749.mp4"
    }
  ],
  "categoryBreadcrumb": [
    "Women Clothes",
    "Dresses"
  ],
  "feCategoryBreadcrumb": [
    "Women's Apparel",
    "Dresses",
    "Others"
  ],
  "models": [
    {
      "name": "Style 1,M",
      "modelId": 415466852261,
      "stock": 10
    },
    {
      "name": "Apricot,XL",
      "modelId": 137812868072,
      "stock": 10
    },
    "...+10 more variants"
  ],
  "description": "⭐️The light-color of this item is a bit see-through⭐️\n\n✅HIGHLIGHTS \n-❤️Tie Front \n-❤️Tie Back \n-❤️Soft And Comfortable\n\n✅DESCRIPTIONS \nPattern: Plain\nStyle: Elegant\nDress Type: Straight\nPlus Size: No\nMaterial: Polyester …",
  "richDescription": [
    {
      "text": null,
      "imageId": "sg-11134202-7rav2-mas7yswy416b7f"
    },
    "...+35 more paragraphs"
  ],
  "attributes": [
    {
      "name": "Pattern",
      "value": "Plain"
    },
    {
      "name": "Neckline",
      "value": "Boat Neck"
    },
    {
      "name": "Sleeve Length",
      "value": "Sleeveless"
    },
    "...+5 more specs"
  ],
  "condition": "new",
  "estimatedShippingDays": 1,
  "minPurchaseLimit": 0,
  "maxPurchaseLimit": null,
  "isFreeShipping": false,
  "nameTranslated": null,
  "descriptionTranslated": null,
  "enriched": true,
  "collectedVia": "relevancy",
  "scrapedAt": "2026-06-23T08:35:06.392884+00:00"
}
```

### Advanced Usage

Ready-made configurations for price monitoring, dropship sourcing, MAP enforcement, competitor benchmarking, and cross-market arbitrage research.

#### Price monitoring: filter by rating and sales volume

```json
{
    "searchTerms": ["sony wh-1000xm5"],
    "region": "SG",
    "maxItems": 100,
    "sort": "price_low_to_high",
    "minRating": 4,
    "minSold": 50,
    "officialShopOnly": false
}
```

#### Dropship sourcing: official stores with full specs

```json
{
    "searchTerms": ["yoga mat", "resistance bands"],
    "region": "MY",
    "maxItems": 300,
    "sort": "best_selling",
    "officialShopOnly": true,
    "includeEnrichment": true
}
```

#### MAP enforcement: brand catalog coverage across markets

```json
{
    "searchTerms": ["samsung galaxy s24"],
    "region": "ID",
    "maxItems": 500,
    "sort": "relevance",
    "includeEnrichment": true
}
```

#### Category browse: newest listings in a segment

```json
{
    "startUrls": [
        { "url": "https://shopee.com.my/Mobile-Gadgets-cat.11013247" }
    ],
    "region": "MY",
    "maxItems": 200,
    "sort": "newest",
    "priceMin": 500,
    "priceMax": 3000
}
```

#### Cross-market arbitrage: same keyword, different regions

Run the actor twice with the same keyword and different `region` values to compare prices across Singapore and Vietnam, or any pair of the 8 supported markets.

### Pricing: Pay Per Event (PPE)

**$7.99 per 1,000 products** (base price). Enable enrichment for $3.99 per 1,000 additional enriched products.

<table>
<thead>
<tr>
<th style="text-align:left;padding:8px 12px;background:#F0FDF4;border:1px solid #E7E5E4">Event</th>
<th style="text-align:left;padding:8px 12px;background:#F0FDF4;border:1px solid #E7E5E4">Price per 1,000</th>
<th style="text-align:left;padding:8px 12px;background:#F0FDF4;border:1px solid #E7E5E4">Charged when</th>
</tr>
</thead>
<tbody>
<tr>
<td style="padding:8px 12px;border:1px solid #E7E5E4"><code>result</code></td>
<td style="padding:8px 12px;border:1px solid #E7E5E4"><span style="color:#4C945E;font-weight:700">$7.99</span></td>
<td style="padding:8px 12px;border:1px solid #E7E5E4">Once per delivered product, base record</td>
</tr>
<tr>
<td style="padding:8px 12px;border:1px solid #E7E5E4"><code>enrichment</code></td>
<td style="padding:8px 12px;border:1px solid #E7E5E4"><span style="color:#E67E22;font-weight:700">$3.99</span> add-on</td>
<td style="padding:8px 12px;border:1px solid #E7E5E4">Only when enrichment fields are successfully returned</td>
</tr>
</tbody>
</table>

**Free tier:** approximately 100 lifetime results free for new users. Enrichment is a paid feature with no free allowance.

### FAQ

**What is Shopee?**
Shopee is a Southeast Asian and Brazilian e-commerce marketplace operating in Singapore, Indonesia, Malaysia, the Philippines, Thailand, Taiwan, Vietnam, and Brazil. It offers consumer products across electronics, fashion, home goods, and groceries from both individual sellers and official brand stores. This actor covers keyword-based product discovery and category or shop browsing across all 8 Shopee markets.

**How many results can I extract per keyword?**
The default is 100. Raise `maxItems` up to approximately 1,300 for broad keywords. The actor uses multi-sort union to reach that ceiling: once a single sort ranking is exhausted, additional sort rankings are collected, merged, and de-duplicated automatically. Most Shopee scrapers on Apify are limited to a single sort pass and return a fraction of that.

**What is the enrichment add-on and when should I use it?**
The base record covers every commercial field available from the search listing: price, stock, discount, rating, seller info, and variant axis names. Enable `includeEnrichment` when you need the product description, structured specifications, brand, both category breadcrumb paths, product videos, size chart, condition, shipping estimate, purchase limits, per-variant availability, or translated fields. Enrichment is billed at $3.99 per 1,000 enriched products in addition to the base price.

**Are per-variant stock counts exact?**
The `models` array (enrichment only) provides each variant's name and an availability indicator. The exact total item-level stock count is the `stock` field present in every base record.

**How do I target a specific category or shop?**
Paste a Shopee category URL (e.g. `shopee.sg/Mobile-Gadgets-cat.11013247`) or a shop URL (e.g. `shopee.sg/shop/123456`) into `startUrls`. Sorting and price/rating/sold filters from the input fields are applied uniformly; any sort or filter parameters inside the URL are ignored.

**Can I scrape a single product by its URL?**
This actor handles search and category or shop discovery. For the full record of specific product URLs you already have, use the [Shopee Product Detail Scraper](https://apify.com/zen-studio/shopee-product-detail-scraper). For complete review history, use the [Shopee Product Reviews Scraper](https://apify.com/zen-studio/shopee-product-reviews-scraper).

**How fresh is the data?**
Data is scraped live at run time. Each run reflects the current state of Shopee at the moment you start it.

**Do I need a Shopee account or cookies?**
No. Provide keywords or URLs and hit Start; no Shopee account, cookie export, or login is involved.

**Which sort options are available?**
Relevance (default), Newest, Price: low to high, Price: high to low, and Best selling. When `maxItems` exceeds a single sort's yield, the actor automatically collects additional sort rankings and de-duplicates them, then re-orders the final result set to match your chosen sort.

**How do I export the data?**
Open the run's Storage tab and download JSON, CSV, Excel, or XML. JSON preserves all nested fields (variant axes, breadcrumb arrays, rich description paragraphs). The Apify API also provides full access to dataset items programmatically.

**What happens if a keyword returns fewer products than `maxItems`?**
The actor delivers all available products and includes a warning record noting the shortfall, so you always know the exact yield.

**Is it legal to scrape Shopee product data?**
This actor collects publicly visible product information. Users are responsible for complying with Shopee's Terms of Service and applicable data protection regulations, including GDPR, CCPA, and LGPD (Brazil). Product listings are not personal data, but translated seller profile details may be subject to regional privacy rules.

**What is the free tier?**
New users receive approximately 100 lifetime results at no cost. Enrichment is excluded from the free tier.

### More Zen Studio scrapers

**🛒 E-commerce**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-LwARSYSMWLBZfXfdr-FrDaNbQarB-shopee-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Shopee**
  - [Shopee Product Detail Scraper](https://apify.com/zen-studio/shopee-product-detail-scraper)
  - [Shopee Product Reviews Scraper](https://apify.com/zen-studio/shopee-product-reviews-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-PsAKYWM55HG4AHXjK-ItywU7Bp0s-taobao-search-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Taobao 淘宝**
  - [Taobao Search Scraper](https://apify.com/zen-studio/taobao-search-scraper)
  - [Taobao Product Detail Scraper](https://apify.com/zen-studio/taobao-detail-scraper)
  - [Taobao Seller Products Scraper](https://apify.com/zen-studio/taobao-seller-products-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-uZy6tbKLKnSVtT4BN-emXnT123uR-jd-com-scraper-logo-square.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **JD.com 京东**
  - [JD.com Search Scraper](https://apify.com/zen-studio/jd-com-search-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-ghXSMZcW3GxsCrkiR-5hnvsKv4Yt-1688-wholesale-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **1688 阿里巴巴**
  - [1688 Wholesale Scraper](https://apify.com/zen-studio/1688-wholesale-scraper)
  - [Alibaba Scraper](https://apify.com/zen-studio/alibaba-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-5QcLc4BHaLMBUKYs3-f3CWQ60Row-goofish-search-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Goofish 闲鱼**
  - [Goofish (Xianyu) Search Scraper](https://apify.com/zen-studio/goofish-xianyu-search-scraper)
  - [Goofish (Xianyu) Seller Scraper](https://apify.com/zen-studio/goofish-xianyu-seller-scraper)
  - [Goofish (Xianyu) Item Detail Scraper](https://apify.com/zen-studio/goofish-xianyu-item-detail-scraper)
  - [Goofish (Xianyu) Item Comments & Q\&A Scraper](https://apify.com/zen-studio/goofish-xianyu-item-comments-scraper)

**🎬 Short-video & social**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-3TJaaOJDU1AMiOoJM-Vu2eVr0P6N-douyin-profile-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Douyin 抖音**
  - [Douyin Search Scraper](https://apify.com/zen-studio/douyin-search-scraper)
  - [Douyin Profile Scraper](https://apify.com/zen-studio/douyin-profile-scraper)
  - [Douyin Video Scraper](https://apify.com/zen-studio/douyin-video-scraper)
  - [Douyin Comments Scraper](https://apify.com/zen-studio/douyin-comments-scraper)
  - [Douyin Transcripts Scraper](https://apify.com/zen-studio/douyin-transcripts-scraper)
  - [Douyin Creator Rankings Scraper](https://apify.com/zen-studio/douyin-xingtu-rankings-scraper)
  - [Douyin Live Recorder](https://apify.com/zen-studio/douyin-live-recorder)
  - [Douyin Hot Search Scraper](https://apify.com/zen-studio/douyin-hot-search-scraper)
  - [Douyin Product Search Scraper](https://apify.com/zen-studio/douyin-product-search-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-mHKEEgoDqr6btQQer-fUs5ZquIeN-xiaohongshu-search-scraper-logo-square.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **RedNote 小红书**
  - [RedNote User Profile Scraper](https://apify.com/zen-studio/rednote-user-profile-scraper)
  - [RedNote Search Scraper](https://apify.com/zen-studio/rednote-search-scraper)
  - [RedNote Comments Scraper](https://apify.com/zen-studio/rednote-comments-scraper)
  - [RedNote Product Search Scraper](https://apify.com/zen-studio/rednote-product-search-scraper)
  - [RedNote Note Detail Scraper](https://apify.com/zen-studio/rednote-note-detail-scraper)
  - [RedNote Product Reviews Scraper](https://apify.com/zen-studio/rednote-product-reviews-scraper)
  - [RedNote Live Recorder](https://apify.com/zen-studio/rednote-live-recorder)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-dexCSKEZtKS8hg4fT-lD4weyiYga-shigua-____-scraper-logo.jpg" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Xigua 西瓜视频**
  - [Xigua Video Search Scraper](https://apify.com/zen-studio/xigua-video-search-scraper)
  - [Xigua Video Detail Scraper](https://apify.com/zen-studio/xigua-video-detail-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-oSxuPDE1h3HAsHZSu-x3uV98mgTe-bilibili-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Bilibili 哔哩哔哩**
  - [Bilibili Video Scraper](https://apify.com/zen-studio/bilibili-video-scraper)
  - [Bilibili Danmaku Scraper](https://apify.com/zen-studio/bilibili-danmaku-scraper)

**🏠 Real estate & autos**

- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-1tAzNSf8Kz0v7Q2Lr-AINJ7FsZVU-anjuke-scraper-logo.jpg" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Anjuke 安居客**
  - [Anjuke For-Sale Listings Scraper](https://apify.com/zen-studio/anjuke-real-estate-scraper)
  - [Anjuke New-Home Scraper](https://apify.com/zen-studio/anjuke-new-home-scraper)
  - [Anjuke Rental Listings Scraper](https://apify.com/zen-studio/anjuke-rent-scraper)
  - [Anjuke Listing Detail Scraper](https://apify.com/zen-studio/anjuke-sale-detail-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-32OkWqsiUywoq2ci3-7JhFlW1qg3-58__-real-estate-scraper-logo.jpg" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **58.com 58同城**
  - [58.com Real Estate Scraper](https://apify.com/zen-studio/58-real-estate-scraper)
- <img src="https://apify-image-uploads-prod.s3.us-east-1.amazonaws.com/NWYsOG96fMDy8ycdf-actor-ytaE4YpSmjXDmibPv-L1UMPHa2bO-che168-autohome-scraper-logo.png" width="16" height="16" style="vertical-align:middle;border-radius:3px"> **Autohome 汽车之家**
  - [Autohome (Che168) Used-Car Scraper](https://apify.com/zen-studio/che168-car-scraper)

### Support

- **Bugs**: Issues tab
- **Features**: Issues tab

### Legal Compliance

Extracts publicly available product data. Users must comply with Shopee's Terms of Service and applicable data protection regulations (GDPR, CCPA, LGPD for Brazil).

***

*Shopee product data at scale: prices, stock, discount, ratings, seller details, and optional full product content across all 8 Shopee markets.*

# Actor input Schema

## `searchTerms` (type: `array`):

Product keywords to search, one context each. Each keyword runs independently with its own <b>Max products</b> budget.<br><br>Example: <code>iphone 15</code>, <code>running shoes</code>

## `startUrls` (type: `array`):

Paste Shopee <b>search</b>, <b>category</b>, or <b>shop</b> page URLs. Sorting and filtering are controlled by the fields below, not by parameters inside a pasted URL. Single-product URLs are not supported here — use the Shopee Product Monitor actor for those.

## `region` (type: `string`):

Which Shopee market to scrape. Prices are returned in the market's local currency.

## `maxItems` (type: `integer`):

Maximum unique products collected per keyword or URL. When a single sort ranking runs out of results, additional sort rankings are automatically used and de-duplicated to reach the target. Practical ceiling is around 1,300 for broad terms.

## `sort` (type: `string`):

How to rank results within each keyword or URL context.

## `includeEnrichment` (type: `boolean`):

Adds full product description, specifications, brand, category breadcrumb path, and a per-variant breakdown (name + stock). Products with enrichment are billed at an additional per-product rate.<br><br>Without this option, base records still include price, stock, rating, and all commercial fields from the search listing.

## `priceMin` (type: `integer`):

Keep only products priced at or above this value. Uses the region's major currency unit (e.g. SGD, IDR, MYR).

## `priceMax` (type: `integer`):

Keep only products priced at or below this value. Uses the region's major currency unit.

## `minRating` (type: `integer`):

Keep only products with a product rating at or above this value (0–5).

## `minSold` (type: `integer`):

Keep only products with at least this many total units sold.

## `officialShopOnly` (type: `boolean`):

When enabled, results are restricted to Shopee Mall official brand stores.

## `language` (type: `string`):

Optional locale code for result text (e.g. <code>en</code>, <code>zh-TW</code>). Defaults to the region's primary language. Only affects translated fields when enrichment is enabled.

## Actor input object example

```json
{
  "searchTerms": [
    "iphone 15"
  ],
  "region": "SG",
  "maxItems": 100,
  "sort": "relevance",
  "includeEnrichment": false,
  "officialShopOnly": false
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset of products — one row per unique Shopee product, de-duplicated across all queries in the run.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchTerms": [
        "iphone 15"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("zen-studio/shopee-product-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "searchTerms": ["iphone 15"] }

# Run the Actor and wait for it to finish
run = client.actor("zen-studio/shopee-product-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchTerms": [
    "iphone 15"
  ]
}' |
apify call zen-studio/shopee-product-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=zen-studio/shopee-product-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Shopee Product Scraper - Live Stock & Prices",
        "description": "Scrape Shopee products by keyword or URL across all 8 markets. Get live stock, price, discount, units sold, rating, and shop data, plus optional full description, specifications, brand, category breadcrumb, and per-variant breakdown. No account or login needed. Export to JSON, CSV, or Excel.",
        "version": "0.0",
        "x-build-id": "eMg4fKnwIVTetBTAz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/zen-studio~shopee-product-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-zen-studio-shopee-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/zen-studio~shopee-product-scraper/runs": {
            "post": {
                "operationId": "runs-sync-zen-studio-shopee-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/zen-studio~shopee-product-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-zen-studio-shopee-product-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchTerms": {
                        "title": "Search terms",
                        "type": "array",
                        "description": "Product keywords to search, one context each. Each keyword runs independently with its own <b>Max products</b> budget.<br><br>Example: <code>iphone 15</code>, <code>running shoes</code>",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startUrls": {
                        "title": "Shopee URLs",
                        "type": "array",
                        "description": "Paste Shopee <b>search</b>, <b>category</b>, or <b>shop</b> page URLs. Sorting and filtering are controlled by the fields below, not by parameters inside a pasted URL. Single-product URLs are not supported here — use the Shopee Product Monitor actor for those.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "region": {
                        "title": "Region",
                        "enum": [
                            "SG",
                            "ID",
                            "MY",
                            "PH",
                            "TH",
                            "TW",
                            "VN",
                            "BR"
                        ],
                        "type": "string",
                        "description": "Which Shopee market to scrape. Prices are returned in the market's local currency.",
                        "default": "SG"
                    },
                    "maxItems": {
                        "title": "Max products per query",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum unique products collected per keyword or URL. When a single sort ranking runs out of results, additional sort rankings are automatically used and de-duplicated to reach the target. Practical ceiling is around 1,300 for broad terms.",
                        "default": 100
                    },
                    "sort": {
                        "title": "Sort by",
                        "enum": [
                            "relevance",
                            "newest",
                            "price_low_to_high",
                            "price_high_to_low",
                            "best_selling"
                        ],
                        "type": "string",
                        "description": "How to rank results within each keyword or URL context.",
                        "default": "relevance"
                    },
                    "includeEnrichment": {
                        "title": "Include description, specifications, brand & variant breakdown",
                        "type": "boolean",
                        "description": "Adds full product description, specifications, brand, category breadcrumb path, and a per-variant breakdown (name + stock). Products with enrichment are billed at an additional per-product rate.<br><br>Without this option, base records still include price, stock, rating, and all commercial fields from the search listing.",
                        "default": false
                    },
                    "priceMin": {
                        "title": "Min price",
                        "type": "integer",
                        "description": "Keep only products priced at or above this value. Uses the region's major currency unit (e.g. SGD, IDR, MYR)."
                    },
                    "priceMax": {
                        "title": "Max price",
                        "type": "integer",
                        "description": "Keep only products priced at or below this value. Uses the region's major currency unit."
                    },
                    "minRating": {
                        "title": "Min rating",
                        "minimum": 0,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Keep only products with a product rating at or above this value (0–5)."
                    },
                    "minSold": {
                        "title": "Min units sold",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Keep only products with at least this many total units sold."
                    },
                    "officialShopOnly": {
                        "title": "Official shops only",
                        "type": "boolean",
                        "description": "When enabled, results are restricted to Shopee Mall official brand stores.",
                        "default": false
                    },
                    "language": {
                        "title": "Result language",
                        "type": "string",
                        "description": "Optional locale code for result text (e.g. <code>en</code>, <code>zh-TW</code>). Defaults to the region's primary language. Only affects translated fields when enrichment is enabled."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
