# Lazada Scraper — SEA Product & Price Search (SG MY VN TH PH ID) (`herus13/lazada-scraper`) Actor

Search Lazada across Southeast Asia and scrape products — title, price, original price, rating, reviews, sold count, seller, image, and URL. Output shares a schema with our Shopee scraper for easy price comparison. CSV/JSON/Excel export.

- **URL**: https://apify.com/herus13/lazada-scraper.md
- **Developed by:** [bootforge](https://apify.com/herus13) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 42.9% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 products

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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/docs.md):

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

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

## Lazada Scraper

**Lazada Scraper** is an Apify actor that searches [Lazada](https://www.lazada.com) across Southeast Asia and returns structured product + price data — title, price, original price, currency, rating, reviews, sold count, seller, location, brand, image, and product URL. Output shares a schema with our **Shopee Scraper**, so you can normalize both marketplaces into one dataset for **price comparison and affiliate** use. Export to JSON, CSV, or Excel.

Supported regions: Singapore, Malaysia, Vietnam, Thailand, Philippines, Indonesia.

### Table of contents

- [What it does](#what-it-does)
- [How to scrape Lazada](#how-to-scrape-lazada)
- [Input](#input)
- [Output](#output)
- [Pricing](#pricing)
- [Recommended proxies](#recommended-proxies)
- [Why this scraper](#why-this-scraper)
- [FAQ](#faq)
- [Rate this actor](#rate-this-actor)
- [Related actors](#related-actors)

### What it does

- 🔎 **Keyword search → products** across any Lazada SEA site.
- 💲 **Price + discount** — current price, original price, currency per region.
- ⭐ **Signals** — rating, review count, sold count, seller, location, brand.
- 🧩 **Shopee-aligned schema** — same field names as our Shopee scraper for cross-marketplace price comparison.
- 🌏 **6 SEA regions** — sg / my / vn / th / ph / id.
- 🧱 **Robust** — paginates, dedups, and degrades gracefully on anti-bot blocks (never crashes the run).

### How to scrape Lazada

1. Enter one or more **Search terms**.
2. Pick a **Region**.
3. Set **Max results**.
4. **Enable a residential proxy in that region** (see Recommended proxies — required for reliable runs).
5. Run. Each product is one dataset row.

**Example input:**

```json
{
  "search_terms": ["iphone 15 case"],
  "region": "sg",
  "max_results": 100,
  "proxy": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "SG" }
}
````

### Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `search_terms` | array | ✅ | Keywords to search. |
| `region` | string | — | `sg`, `my`, `vn`, `th`, `ph`, `id` (default `sg`). |
| `max_results` | integer | — | Max products across all terms (default 40). |
| `proxy` | object | — | Proxy config. A **residential proxy in the region is required** for reliable runs (Lazada's Alibaba AWSC anti-bot blocks datacenter IPs). |

### Output

One row per product. Field names overlap the Shopee scraper (`product_id`, `title`, `price`, `currency`, `rating`, `sold_count`, `product_url`, `region`) so both marketplaces merge into one comparison table.

```json
{
  "product_id": "1001",
  "title": "Apple iPhone 15 Case Clear",
  "price": 12.9,
  "price_original": 19.9,
  "currency": "SGD",
  "rating": 4.8,
  "review_count": 1234,
  "sold_count": 2300,
  "seller_name": "Acme Store",
  "location": "Singapore",
  "brand": "Acme",
  "thumbnail_url": "https://sg-live.slatic.net/p/abc.jpg",
  "product_url": "https://www.lazada.sg/products/case-i1001-s2001.html",
  "region": "sg",
  "scraped_at": "2026-07-19T10:00:00+00:00",
  "error": null
}
```

| Field | Type | Description |
| --- | --- | --- |
| `product_id` | string | Lazada item id. |
| `title` | string | Product name. |
| `price` / `price_original` | number / null | Current price / pre-discount price. |
| `currency` | string | Region currency (SGD, MYR, VND, THB, PHP, IDR). |
| `rating` | number / null | 0–5. |
| `review_count` / `sold_count` | integer / null | Review and sold counts. |
| `seller_name` / `location` / `brand` | string / null | Seller, location, brand. |
| `thumbnail_url` / `product_url` | string | Image and product page. |
| `region` / `scraped_at` | string | Region code and UTC timestamp. |

### Pricing

Pay-per-event:

| Event | Price |
| --- | --- |
| Actor start | $0.005 per run |
| Product | $0.002 per product scraped |

> Provisional until finalized in the Apify Console. You supply your own proxy; proxy traffic is billed by your proxy provider (or Apify Proxy usage).

### Recommended proxies

Lazada's Alibaba AWSC anti-bot **blocks datacenter IPs** — a residential proxy in the target SEA region is required for reliable runs. Apify Residential Proxy works; for a low-cost SEA residential pool we recommend [DataImpulse](https://dataimpulse.com/?aff=404588\&utm_source=apify) (referral link).

### Why this scraper

- **Comparison-ready.** Shares a normalized schema with our Shopee scraper — merge SEA marketplaces into one price table without remapping fields.
- **Anti-bot handled.** A real stealth browser session clears Alibaba AWSC; blocks back off and retry rather than crashing.
- **SEA-native.** Six country sites with correct currency per region.

### FAQ

**Do I need a proxy?** Yes, for reliable runs — Lazada blocks datacenter IPs via Alibaba AWSC. Use a residential proxy in the same region as your search.

**Which regions are supported?** Singapore, Malaysia, Vietnam, Thailand, Philippines, Indonesia.

**Can I compare prices with Shopee?** Yes — the output field names match our Shopee scraper, so both feed one comparison dataset.

**Is scraping Lazada legal?** Scraping publicly available product data is generally permissible, but you are responsible for complying with Lazada's terms and applicable law, and for how you use the data. This actor scrapes only public search results — no login or paywall bypass.

### Rate this actor

Using Lazada Scraper? Please leave a ⭐ rating and a short review — it helps others find it and guides what we improve.

### Related actors

- [Shopee Shop Scraper](https://apify.com/herus13/shopee-shop-scraper) — the SEA companion for price comparison.
- More scrapers by this author: [apify.com/herus13](https://apify.com/herus13)

# Actor input Schema

## `search_terms` (type: `array`):

Keywords to search on Lazada, e.g. <code>iphone 15 case</code>. Each term is paginated until Max results.

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

Which Lazada country site to search.

## `max_results` (type: `integer`):

Maximum number of products to return across all search terms.

## `proxy` (type: `object`):

<b>Required for reliable runs.</b> Lazada's Alibaba AWSC anti-bot blocks datacenter IPs — use a <b>residential proxy in the same region</b> as your search (SEA). Without one, an Apify datacenter IP is likely to be challenged and return 0 results.

## Actor input object example

```json
{
  "search_terms": [
    "iphone 15 case"
  ],
  "region": "sg",
  "max_results": 40
}
```

# Actor output Schema

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

Products from search — title, price, original price, currency, rating, review/sold counts, seller, location, brand, image, product URL, region, scraped\_at.

# 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 = {
    "search_terms": [
        "iphone 15 case"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("herus13/lazada-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 = { "search_terms": ["iphone 15 case"] }

# Run the Actor and wait for it to finish
run = client.actor("herus13/lazada-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 '{
  "search_terms": [
    "iphone 15 case"
  ]
}' |
apify call herus13/lazada-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Lazada Scraper — SEA Product & Price Search (SG MY VN TH PH ID)",
        "description": "Search Lazada across Southeast Asia and scrape products — title, price, original price, rating, reviews, sold count, seller, image, and URL. Output shares a schema with our Shopee scraper for easy price comparison. CSV/JSON/Excel export.",
        "version": "0.1",
        "x-build-id": "8d2Wd6cvprd72tSXw"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/herus13~lazada-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-herus13-lazada-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/herus13~lazada-scraper/runs": {
            "post": {
                "operationId": "runs-sync-herus13-lazada-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/herus13~lazada-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-herus13-lazada-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",
                "required": [
                    "search_terms"
                ],
                "properties": {
                    "search_terms": {
                        "title": "Search terms",
                        "type": "array",
                        "description": "Keywords to search on Lazada, e.g. <code>iphone 15 case</code>. Each term is paginated until Max results.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "region": {
                        "title": "Region",
                        "enum": [
                            "sg",
                            "my",
                            "vn",
                            "th",
                            "ph",
                            "id"
                        ],
                        "type": "string",
                        "description": "Which Lazada country site to search.",
                        "default": "sg"
                    },
                    "max_results": {
                        "title": "Max results",
                        "minimum": 1,
                        "maximum": 4000,
                        "type": "integer",
                        "description": "Maximum number of products to return across all search terms.",
                        "default": 40
                    },
                    "proxy": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "<b>Required for reliable runs.</b> Lazada's Alibaba AWSC anti-bot blocks datacenter IPs — use a <b>residential proxy in the same region</b> as your search (SEA). Without one, an Apify datacenter IP is likely to be challenged and return 0 results."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
