# Shopee Scraper | All-In-One | $30 / mo (`fatihtahta/shopee-scraper`) Actor

All-in-one Shopee scraper for 11 countries (ID, MY, TH, BR, SG, MX +). Scrape by keyword or URL. It bypasses blocks and captchas to extract rich product data: prices, sales, ratings, and full seller info. Perfect for competitor analysis and market research.

- **URL**: https://apify.com/fatihtahta/shopee-scraper.md
- **Developed by:** [Fatih Tahta](https://apify.com/fatihtahta) (community)
- **Categories:** E-commerce, Developer tools, Automation
- **Stats:** 595 total users, 1 monthly users, 75.0% runs succeeded, 20 bookmarks
- **User rating**: 3.65 out of 5 stars

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Shopee Scraper | All-In-One | $30 / mo

#### Slug: fatihtahta/shopee-scraper

**Shopee Scraper | All-In-One** is a comprehensive and resilient tool for extracting detailed product and search data from all 11 Shopee country sites. Scrape by keyword or by providing a list of direct search/category URLs to get deep insights into product listings, pricing, sales performance, and seller information.

This unofficial Shopee API is your ultimate solution for market research, competitor monitoring, price tracking, and e-commerce analytics across Southeast Asia and Latin America.

***

### Features 🚀

With this all-in-one tool, you can:

- **Scrape by Keyword or URL**: Easily extract product data for any search term or provide your own pre-filtered search/category URLs for highly specific datasets.
- **Dual Scraping Modes**: Choose the best mode for your needs:
  - **⚡ Fast Scrape**: Quickly extracts essential data directly from search result pages, saving time and compute units.
  - **🔬 Deep Scrape**: First discovers all product links, then visits each page to extract a rich, comprehensive dataset with all available details.
- **Full Multi-Country Support**: Target all 11 Shopee regions, including Indonesia, Malaysia, Singapore, Thailand, Taiwan, Vietnam, Philippines, Brazil, Mexico, Colombia, and Chile.
- **Robust and Resilient**:
  - Built with advanced browser fingerprinting (`Camoufox`) to avoid blocks.
  - Includes an integrated, third-party **Captcha Solver** to handle Shopee's anti-bot measures automatically.
  - Uses a persistent browser session in Deep Scrape mode to mimic human behavior and ensure high success rates.
- **Comprehensive Data Extraction**: Get a rich dataset for every product, including variants, full image sets, seller statistics, and product specifications.
- **Flexible Export Options**: Download your data as JSON, CSV, Excel, or HTML.

***

### What Product Data Can I Extract?

With this Shopee Scraper, you will be able to extract the following data for each product:

- 📝 **Product Name** & **URL**
- 🆔 **Item ID** & **Shop ID**
- 💰 **Price**, **Price Range**, & **Original Price**
- 💸 **Discount Percentage** & **Currency**
- 📈 **Sales Count**
- ⭐ **Average Rating** & **Total Rating Count** (Deep Scrape)
- 📍 **Location**
- 🖼️ **Image URLs**: Main image (Fast Scrape) or all images (Deep Scrape).
- 🚚 **Shipping Info** (Deep Scrape)
- 🎨 **Product Variants** (e.g., Color, Size) (Deep Scrape)
- 📦 **Product Specifications** (Deep Scrape)
- 🧑‍💼 **Seller Information** (Name, logo, ratings, etc.) (Deep Scrape)
- 📄 **Full Product Description** (Deep Scrape)

***

### Why Scrape Shopee? 🛍️

Shopee is a dominant e-commerce platform in several of the world's fastest-growing markets. Scraping its data provides invaluable insights for your business.

- **Competitor Analysis**: Monitor your competitors' pricing, promotions, sales performance, and product catalogs in real-time across different countries.
- **Market Research**: Identify best-selling products, emerging trends, and gaps in the market by analyzing sales data and user ratings.
- **Price Monitoring**: Track dynamic pricing to ensure your own products are competitively priced.
- **Brand Monitoring**: Understand how your products and brand are represented and performing on one of the largest online marketplaces.
- **Lead Generation**: Find successful third-party sellers and popular brands for potential partnerships.

***

### How to Use Shopee Scraper

Shopee Scraper was designed to be easy to start with. Here's a quick guide:

1. **Create** a free Apify account.
2. **Open** the [Shopee Scraper](https://apify.com/fatihtahta/shopee-scraper) in the Apify Store and click "Try actor".
3. **Configure Your Scrape**:
   - Choose your scraping target: either provide **Search Keywords** (and a **Country**) or a list of full **Search URLs**.
   - Provide your Shopee **Cookie Header**. This is mandatory for reliable scraping. See the detailed guide below.
   - Select a **Scrape Mode** (`Fast` or `Deep`).
   - Set the **Max Products per Search**.
4. **Click** "Start" and wait for the data to be extracted.
5. **Download** your data in JSON, CSV, Excel, or HTML format.

***

## 🔑 How to Get Your Shopee Cookie (Mandatory)

1. This scraper requires you to be logged in to reliably access Shopee's data. The most effective way to do this is by providing your session cookie. Follow these steps carefully:

2. Install EditThisCookie Chrome Extension - https://chromewebstore.google.com/detail/editthiscookie-v3/ojfebgpkimhlhcblbalbfjblapadhbol

3. Click on the extension and export the cookies. - 5th button at the top when you open the cookie editor.

4. Paste the cookies to this actor's Cookie input field

#### ⚠️ Note on Cookie Expiration

Shopee cookies typically expire after about **24 hours**. If your scrape fails after working previously, the most likely cause is an expired cookie. Simply follow these steps again to get a fresh one before starting your next run.

***

### Input

The scraper accepts either a list of keywords or a list of full Shopee search URLs.

#### Input example using keywords

```
{
  "searchKeywords": [
    "hawaii shirt men",
    "gaming mouse"
  ],
  "country": "TH",
  "scrapeMode": "deep",
  "maxProductsPerSearch": 200,
  "cookieHeader": "SPC_F=...; SPC_T_ID=...; ..."
}
```

#### Output Data Structure

The results are stored in a dataset. Each item is a product with a comprehensive set of data fields.

Here is an example of a single product record from a Deep Scrape:

```
{
  "keyword": "hawaii shirt men",
  "url": "[https://shopee.co.th/product/123456/789012](https://shopee.co.th/product/123456/789012)",
  "name": "Premium Hawaiian Palm Tree Shirt for Men",
  "itemId": 789012,
  "shopId": 123456,
  "price": 199,
  "currentPriceRange": [
    199,
    250
  ],
  "originalPriceRange": [
    398,
    500
  ],
  "currency": "฿",
  "discountPercentage": 50,
  "salesCount": 1250,
  "rating": 4.9,
  "ratingCount": 450,
  "imageUrls": [
    "[https://down-th.img.susercontent.com/file/image1.webp](https://down-th.img.susercontent.com/file/image1.webp)",
    "[https://down-th.img.susercontent.com/file/image2.webp](https://down-th.img.susercontent.com/file/image2.webp)"
  ],
  "location": "จังหวัดกรุงเทพมหานคร",
  "shippingInfo": "Free Shipping",
  "variants": {
    "Color": [
      "Blue",
      "Red",
      "Green"
    ],
    "Size": [
      "M",
      "L",
      "XL"
    ]
  },
  "sellerInfo": {
    "name": "Official Seller Store",
    "logoUrl": "[https://seller.logo/image.png](https://seller.logo/image.png)",
    "Ratings": "15.2k",
    "Response Rate": "98%"
  },
  "specifications": {
    "Brand": "No Brand",
    "Material": "Cotton",
    "Ships From": "จังหวัดกรุงเทพมหานคร"
  },
  "description": "A high-quality shirt made from premium cotton..."
}
```

#### Is It Legal to Scrape Shopee?

This scraper is designed to be ethical and only extracts publicly available data from the website. It does not access any private user information. However, you should be aware that your results could contain personal data in some cases (e.g., seller names). Personal data is protected by regulations like GDPR, and you should not scrape it unless you have a legitimate reason. If you are unsure, it's best to consult with a legal professional.

#### Your Feedback

If you have any technical feedback for Shopee Scraper or find a bug, please create an issue on the Actor’s Issues tab in the Apify Console and it will be resolved around the clock.

Happy Scrapings!

Fatih

# Actor input Schema

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

A list of Shopee URLs to scrape. Can be search, category, or individual product URLs. Overrides all other settings.

## `searchKeywords` (type: `array`):

Enter a list of keywords to search for on Shopee. (Ignored if Start URLs are used).

## `country` (type: `string`):

Select the Shopee domain. (Ignored if Start URLs are used).

## `shopeeCookies` (type: `string`):

1. This scraper requires you to be logged in to reliably access Shopee's data. Install EditThisCookie Chrome Extension, Click on the extension and export the cookies. More details on the read me page

## `scrapeMode` (type: `string`):

Choose the scraping depth. 'Fast' is efficient, 'Deep' provides more detailed data but is slower. Note: Direct product URLs will always run in 'Deep' mode.

## `maxProductsPerSearch` (type: `integer`):

Maximum number of products to scrape for each target. Set to 0 for unlimited. (Ignored for direct product URLs).

## `sortBy` (type: `string`):

The sorting order for search results.

## `proxyConfiguration` (type: `object`):

Select proxy settings. Country-specific Residential proxies are highly recommended.

## Actor input object example

```json
{
  "searchKeywords": [
    "hawaii shirt men"
  ],
  "country": "TH",
  "scrapeMode": "fast",
  "maxProductsPerSearch": 100,
  "sortBy": "relevancy"
}
```

# 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 = {
    "searchKeywords": [
        "hawaii shirt men"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("fatihtahta/shopee-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 = { "searchKeywords": ["hawaii shirt men"] }

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

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

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

```

## CLI example

```bash
echo '{
  "searchKeywords": [
    "hawaii shirt men"
  ]
}' |
apify call fatihtahta/shopee-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fatihtahta/shopee-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/vlSIMF6GxwbFAIQ77/builds/hUxSEwg9MuphlNGCC/openapi.json
