Lazada Product Data Scraper avatar

Lazada Product Data Scraper

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Lazada Product Data Scraper

Lazada Product Data Scraper

Under maintenance

Scrape product data from Lazada across 6 SEA countries (SG/MY/TH/PH/ID/VN). Extracts prices, ratings, sales, seller, brand, LazMall. No browser needed, fast, anti-bot bypass included.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Lucas Lai

Lucas Lai

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Scrape product data from Lazada across 6 Southeast Asian countries. Uses Lazada's internal API directly with browser TLS fingerprint impersonation — no headless browser needed, lower cost, higher speed.

Key Features

  • 6 Country Sites: Singapore, Malaysia, Thailand, Philippines, Indonesia, Vietnam
  • Keyword Search: Search any product keyword with pagination (up to 20 pages, ~40 products/page)
  • URL Mode: Paste any Lazada search or category URL directly
  • Cross-Country Price Comparison: Compare prices across all 6 countries in one run
  • Advanced Filters: Sort by relevance/price/rating/newest/best selling, filter by min/max price, min rating
  • Structured JSON Output: Price, rating, sales, seller, brand, location, LazMall status
  • Anti-Bot Bypass: Chrome TLS fingerprint impersonation + x5sec challenge auto-solving
  • Lightweight: No browser needed — direct HTTP API calls, fast and cheap

How It Works

This Actor calls Lazada's AJAX catalog API with a browser-emulated TLS handshake and automatic cookie session management. When Lazada's WAF (x5sec) serves a challenge page, the Actor automatically extracts and follows the punish redirect to obtain a valid session cookie before retrying.

  • Faster: ~3-5 seconds per page vs 30+ seconds with browser automation
  • Cheaper: Lower compute usage = lower cost per run
  • More Reliable: Data comes as clean JSON, no HTML parsing fragility

Input

FieldTypeRequiredDefaultDescription
modestringyeskeywordSearch mode: keyword (search by product name) or url (paste Lazada URLs)
keywordsstring[]in keyword modeProduct keywords to search (e.g. "smartphone", "xiaomi 14")
urlsstring[]in url modeLazada search/category URLs (e.g. https://www.lazada.sg/catalog/?q=laptop)
countrystringmyCountry site: sg, my, th, ph, id, vn
searchAllCountriesbooleanfalseSearch this keyword across ALL 6 countries in one run
maxPagesinteger1Pages to scrape per country (~40 products/page, max: 20)
sortBystringrelevanceSort order: relevance, priceAsc, priceDesc, ratingDesc, newest, soldDesc
minPricenumberMinimum price in local currency (optional)
maxPricenumberMaximum price in local currency (optional)
minRatingnumberMinimum rating 1.0-5.0 (optional)
comparePricesbooleanfalseGenerate a price comparison report (requires searchAllCountries: true)
proxyConfigurationproxyRESIDENTIALProxy settings. Recommended: enable Apify RESIDENTIAL proxy (Lazada WAF blocks most cloud IPs).

Output

Product Item

Each product is saved as a dataset item:

{
"type": "product",
"keyword": "smartphone",
"country": "MY",
"currency": "MYR",
"title": "Apple iPhone 17 Pro Max 1TB",
"url": "https://www.lazada.com.my/products/pdp-i1234567890.html",
"imageUrl": "https://my-live-01.slatic.net/p/...",
"price": 6453.00,
"originalPrice": 6699.00,
"rating": 4.97,
"reviewCount": "483",
"sales": 1500,
"location": "Selangor",
"sellerName": "UR bySwitch",
"sellerId": "12345678",
"brandName": "Apple",
"isLazMall": true
}

Price Comparison Report

When comparePrices is enabled, an additional price comparison item is pushed:

{
"type": "price_comparison",
"keyword": "iphone 16",
"totalProducts": 320,
"countries": ["SG", "MY", "TH", "PH", "ID", "VN"],
"cheapestCountry": "MY",
"cheapestProduct": {
"title": "Apple iPhone 16 128GB",
"price": 1199,
"country": "MY",
"url": "https://www.lazada.com.my/products/...",
"sellerName": "Official Store"
},
"summary": {
"SG": { "count": 55, "minPrice": 1299, "maxPrice": 2899, "avgPrice": 1899 },
"MY": { "count": 48, "minPrice": 1199, "maxPrice": 2799, "avgPrice": 1799 }
},
"priceRange": { "min": 1199, "max": 2899 }
}

Preview the output format: Check the dataset tab on the actor page after a run.

Cost Estimation

This Actor uses Pay Per Result pricing. Below are estimated costs for typical runs:

ScenarioPagesEst. ProductsEst. Compute Units
Single keyword, 1 country, 1 page1~40~0.05 CU
Single keyword, 1 country, 5 pages5~200~0.25 CU
Single keyword, all 6 countries, 1 page6~240~0.30 CU
3 keywords, all 6 countries, 3 pages54~2,160~2.70 CU

Actual consumption depends on response times, WAF challenge frequency, and proxy usage. These estimates assume RESIDENTIAL proxy with ~5s per page. Proxy usage incurs additional charges (see Apify proxy pricing).

Quick Start

Apify CLI

npm -g install apify-cli
apify call AA5734814~lazada-product-scraper \
--input '{"mode":"keyword","keywords":["smartphone"],"country":"my","maxPages":1}'

API (Python)

import requests
response = requests.post(
"https://api.apify.com/v2/acts/AA5734814~lazada-product-scraper/runs",
headers={"Authorization": "Bearer YOUR_API_TOKEN"},
json={
"mode": "keyword",
"keywords": ["smartphone"],
"country": "my",
"maxPages": 1
}
)

API (cURL)

curl -X POST "https://api.apify.com/v2/acts/AA5734814~lazada-product-scraper/runs" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"mode":"keyword","keywords":["smartphone"],"country":"sg","maxPages":1}'

Actor ID: AA5734814~lazada-product-scraper

Use Cases

  • Competitor price monitoring — Track pricing changes across Lazada
  • Market research — Analyze product trends in SEA markets
  • Cross-border price arbitrage — Find cheapest country for any product
  • Brand protection — Monitor authorized vs unauthorized sellers
  • Inventory tracking — Check stock status and seller locations

Notes

  • Lazada WAF: Lazada uses x5sec WAF that blocks most datacenter IPs. If runs return 0 results, ensure RESIDENTIAL proxy is enabled in the input settings.
  • Proxy costs: RESIDENTIAL proxy usage is billed separately by Apify based on data transferred. See proxy pricing for details.
  • Rate limiting: The actor uses Lazada's AJAX API (/catalog/?ajax=true). Excessive page counts may trigger rate limits.

Countries Supported

CodeCountryDomain
sgSingaporeLazada.sg
myMalaysiaLazada.my
thThailandLazada.co.th
phPhilippinesLazada.ph
idIndonesiaLazada.co.id
vnVietnamLazada.vn

License

MIT