Lazada Scraper - Products, Prices, Sold Count & Reviews avatar

Lazada Scraper - Products, Prices, Sold Count & Reviews

Under maintenance

Pricing

from $2.50 / 1,000 products

Go to Apify Store
Lazada Scraper - Products, Prices, Sold Count & Reviews

Lazada Scraper - Products, Prices, Sold Count & Reviews

Under maintenance

Scrape Lazada product listings by keyword, category or product URL: price, discount, rating, review count, sold count, seller, location, images, category path and optional reviews. Malaysia, Singapore, Thailand, Philippines, Vietnam, Indonesia. Reliable: validated items, fails loudly.

Pricing

from $2.50 / 1,000 products

Rating

0.0

(0)

Developer

Zee Lex

Zee Lex

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 hours ago

Last modified

Share

Lazada Product Scraper

Scrape product data from Lazada in Malaysia, Singapore, Thailand, the Philippines, Vietnam and Indonesia. Search by keyword, crawl a category, or pull specific product pages. You get price, discount, rating, sold count, seller, images, category path and, optionally, customer reviews.

Built for reliability: every item is validated before it is saved, blocked requests are retried on fresh proxies, and the run fails loudly instead of quietly returning empty or half-finished data.

What it does

  • Searches Lazada by keyword, or crawls category and search-result URLs, with automatic pagination
  • Opens each product page to add category path, stock status and the full image gallery (can be switched off for a cheaper, faster run)
  • Optionally collects customer reviews (rating, text, date, reviewer, variant)
  • Reads Lazada's own JSON data rather than fragile HTML, with HTML fallbacks
  • Never saves an item without a URL, title and price
  • Writes a run summary (RUN_SUMMARY in the key-value store) showing missing fields and anti-bot blocks

Pricing

Pay only for results: $3.50 per 1,000 products (cheaper on higher Apify plans), with no extra charge for platform usage or proxies. Reviews are included in the product item at no extra cost. Example: 1,000 air fryer listings with full details ≈ $3.50.

Use cases

  • Price monitoring: track your products' or competitors' prices and discounts on a schedule
  • Competitor research: see who sells what, at what price, with what ratings and sales volume
  • Product research for sellers and dropshippers: find best-selling, highly rated products in a niche before you stock them
  • Review mining: collect reviews to spot product weaknesses and customer complaints
  • Market reports: compare categories and brands across six Southeast Asian markets

Supported countries

CodeSiteCurrency
mylazada.com.myMYR
sglazada.sgSGD
thlazada.co.thTHB
phlazada.com.phPHP
vnlazada.vnVND
idlazada.co.idIDR

Start URLs use the country of their own domain, so you can mix countries in one run.

Input

FieldTypeDefaultNotes
countrystringmySite used for keyword searches
searchKeywordsstring[]–Each keyword is searched separately
startUrlsURL list–Category, search-results or product URLs
maxItemsinteger100Total products across all inputs
includeReviewsbooleanfalseFetch reviews for each product
maxReviewsPerProductinteger20Used only with reviews on
proxyConfigurationobjectApify Proxy, RESIDENTIALResidential strongly recommended

At least one of searchKeywords or startUrls is required.

Input example

{
"country": "my",
"searchKeywords": ["air fryer", "iphone 15"],
"startUrls": [
{ "url": "https://www.lazada.com.my/shop-air-fryers/" },
{ "url": "https://www.lazada.com.my/products/example-product-i123456789-s987654321.html" }
],
"maxItems": 200,
"includeReviews": true,
"maxReviewsPerProduct": 20,
"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"], "apifyProxyCountry": "MY" }
}

Output sample

One dataset item per product:

{
"url": "https://www.lazada.com.my/products/philips-air-fryer-i123456789-s987654321.html",
"itemId": "123456789",
"skuId": "987654321",
"title": "Philips Essential Air Fryer HD9200 4.1L",
"brand": "Philips",
"price": 289,
"originalPrice": 459,
"discountPercent": 37,
"currency": "MYR",
"rating": 4.9,
"reviewCount": 1600,
"soldCount": 5100,
"inStock": true,
"sellerName": "Philips Official Store",
"sellerId": "1000123",
"sellerRating": 97,
"location": "Selangor",
"images": ["https://img.lazcdn.com/g/p/1.jpg", "https://img.lazcdn.com/g/p/2.jpg"],
"categoryPath": ["Home Appliances", "Air Fryers"],
"reviews": [
{ "rating": 5, "text": "Works great", "date": "12 Oct 2026", "reviewerName": "A***n", "variant": "Colour:Black" }
],
"dataSource": "product_page",
"scrapedAt": "2026-10-27T07:12:45.123Z"
}

Field notes:

  • sellerRating is Lazada's positive-rating percentage (0–100). rating is the product score (0–5).
  • soldCount comes from search listings and is converted from labels like "5.1K sold" or "10rb terjual". It is null for products added by direct URL.
  • reviews appears only when includeReviews is on.
  • dataSource is product_page when full details were collected, or search_listing when the product page stayed blocked and only listing data was saved. Listing-only items still have URL, title and price, but usually lack seller rating, category path and full images.

Reliability and run status

  • Items missing URL, title or price are dropped and counted, never saved.
  • Captcha or slider pages, HTTP 403/429, empty or malformed JSON are detected as blocks. The session and proxy are rotated and the request retried (up to 6 times).
  • The run fails with a clear status message when:
    • no products were saved, or
    • 25 blocks happen in a row (the proxy pool is burned), and the target was not reached, or
    • at least 25% of requests failed permanently and the target was not reached.
  • Products already saved before a failure stay in the dataset for inspection.
  • RUN_SUMMARY in the default key-value store lists saved counts, missing-field percentages, block counts by reason and review fetch failures.

Limitations

  • Lazada uses strong anti-bot protection. Datacenter proxies are usually blocked. Use RESIDENTIAL proxies, ideally in the same country as the site (apifyProxyCountry).
  • Lazada serves at most about 100 search pages per keyword (~4,000 products). Use several narrower keywords or category URLs for more.
  • Lazada changes its page data format from time to time. Missing-field counts in RUN_SUMMARY are the early warning.
  • Review dates are returned as Lazada displays them (locale-dependent text).
  • Seller location is taken from search listings; it may be missing for products added by direct URL.
  • Only publicly visible data is collected. You are responsible for using the data in line with Lazada's terms and applicable law, including personal-data laws for reviewer names.

Run locally

npm install
npm test # offline parser tests
apify run # uses storage/key_value_stores/default/INPUT.json

Data-source notes (verified against live lazada.com.my, Oct 2026)

  • Search results come from Lazada's ?ajax=true listing JSON (mods.listItems). This endpoint is protected by Lazada's anti-bot system and is blocked for datacenter IPs, so use RESIDENTIAL proxies in the target country.
  • Product pages are now server-rendered as a "shell": title, brand, category, images, stock and displayed price are present, but rating, seller name, seller rating and sold count are loaded later by the browser. The scraper fills rating and review count from Lazada's public review endpoint, and seller name, sold count and location from the search listing.
  • Cost tip: set includeProductDetails: false to skip product pages (≈250 KB of residential traffic each). You still get price, discount, rating, review count, sold count, seller, location and image from the search listing; you lose category path and the full gallery.
  • Search pages are loaded in a headless Chrome browser (plain HTTP requests to the listing JSON are blocked even on residential IPs); product pages and reviews use fast HTTP requests.
  • sellerRating is not available from any source this Actor uses and is usually null.
  • Product prices from the product page can differ by a few cents/ringgit from the search listing (the listing sometimes shows a voucher-adjusted price).