Lazada Scraper + Price Monitor — SEA Search & Price Alerts
Pricing
from $0.99 / 1,000 product scrapeds
Lazada Scraper + Price Monitor — SEA Search & Price Alerts
Scrape Lazada search results and category pages across 6 SEA markets (MY/SG/TH/ID/PH/VN) with a real browser session via Apify residential proxy. Monitor price drops, stock flips and sold counts with scheduled runs and webhook alerts. $0.005 start + $0.00099/product + $0.003/check + $0.01/alert.
Pricing
from $0.99 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
subimpact
Maintained by CommunityActor stats
0
Bookmarked
8
Total users
0
Monthly active users
20 days ago
Last modified
Categories
Features
Share
Lazada Scraper + Price Monitor
Scrape Lazada product search results and category pages across all 6 SEA markets. Monitor prices, stock changes, and sold counts with scheduled runs and webhook alerts.
Real browser session through a residential proxy. Lazada's anti-bot system (x5sec) now blocks plain HTTP clients from datacenter IPs, so the Actor opens a real Chromium session through Apify residential proxy (the default proxy configuration), loads the market homepage to pass the anti-bot check, and then reads the catalog JSON from inside that page. Residential proxy is required — Lazada stalls datacenter IPs.
Markets supported
All markets use the same browser method. Only Malaysia has been verified end-to-end so far (10/10 queries, 40 products per page); the other markets use the identical code path with their own domains.
| Country | Domain |
|---|---|
| Malaysia (MY) | www.lazada.com.my |
| Singapore (SG) | www.lazada.sg |
| Thailand (TH) | www.lazada.co.th |
| Indonesia (ID) | www.lazada.co.id |
| Philippines (PH) | www.lazada.com.ph |
| Vietnam (VN) | www.lazada.vn |
What it scrapes
Search mode: Keyword search results (/catalog/?q=iphone&ajax=true) — up to 40 products/page, paginated to your limit.
Category mode: Category browse pages (/shop-mobiles/?ajax=true) — same JSON shape, same pagination.
Scope — v1: Search and category listing data only. Product detail pages, reviews and seller storefronts are out of scope for this version.
Input
| Field | Type | Default | Description |
|---|---|---|---|
country | enum | my | Market: my, sg, th, id, ph, vn |
mode | enum | search | search (use queries) or category (use categoryUrls) |
queries | string[] | — | Search keywords. Required for mode=search. |
categoryUrls | string[] | — | Category browse URLs. Required for mode=category. |
maxResultsPerQuery | integer | 1000 | Max products per keyword/URL. Hard cap: 5000. |
sort | enum | popularity | popularity, priceasc, pricedesc |
minPrice | integer | — | Optional client-side price floor (local currency). |
maxPrice | integer | — | Optional client-side price ceiling (local currency). |
monitor | boolean | false | Enable price monitor mode. |
monitorWatchList | array | [] | [{"itemId":"123","targetPrice":99}] or [{"itemUrl":"//..."}]. Leave empty to watch all scraped items. |
webhookUrl | string | — | POST alerts JSON here when changes are detected. |
proxyConfiguration | object | { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] } | Apify Proxy settings (useApifyProxy, apifyProxyGroups, apifyProxyCountry). Residential is required — Lazada blocks datacenter IPs. The proxy country follows the selected market unless you set apifyProxyCountry. |
Limits: queries and categoryUrls accept at most 20 entries each (extra entries are dropped), and maxResultsPerQuery is capped at 5000.
Output
Each row in the default dataset:
| Field | Type | Description |
|---|---|---|
itemId | string | Lazada product item ID |
name | string | Listing title |
brandName | string | Brand |
price | number | Current price (local currency units) |
priceShow | string | Price as shown (e.g. RM5,939.00) |
originalPrice | number | Pre-discount price |
discount | string | Discount label (e.g. 11% Off) |
currency | string | ISO 4217 code (MYR, SGD, THB, IDR, PHP, VND) |
ratingScore | number | Average star rating |
reviewCount | integer | Number of reviews |
soldCount | integer | Units sold (parsed: "1.7K sold" → 1700) |
inStock | boolean | Availability |
isSponsored | boolean | Sponsored listing |
location | string | Seller location (state/region) |
sellerName | string | Store display name |
itemUrl | string | Full HTTPS product URL |
image | string | Main product image URL |
country | string | Market code |
query | string | Search keyword or category label |
scrapedAt | string | ISO 8601 timestamp |
Monitor mode adds: previousPrice, priceDelta, priceDropPct, changeType (price_changed / stock_flip / sold_delta / removed), alerts[]
Monitor alerts also go to a separate alerts dataset and — if configured — are POSTed to your webhookUrl.
Example output
{"itemId": "4754594560","name": "Apple iPhone 17 Pro Max","brandName": "Apple","price": 5939,"priceShow": "RM5,939.00","originalPrice": 6699,"discount": "11% Off","currency": "MYR","ratingScore": 4.97,"reviewCount": 548,"soldCount": 1700,"inStock": true,"isSponsored": false,"location": "Selangor","sellerName": "UR bySwitch","itemUrl": "https://www.lazada.com.my/products/pdp-i4754594560.html","country": "my","query": "iphone","scrapedAt": "2026-09-08T10:00:00.000Z"}
Pricing
Pay-per-event (PPE):
| Event | Price | When |
|---|---|---|
apify-actor-start | $0.005 | Once per run (512 MB default memory = one start event) |
products-scraped | $0.00099 per product | Every product row delivered |
product-checked | $0.003 per item | Monitor mode only, per item checked |
alert-created | $0.01 per alert | Monitor mode only, when a change is detected |
Example cost: 1,000 products scraped = $0.005 (start) + $0.99 (products) = $0.995 in event fees.
Platform usage is billed separately to your Apify account on top of the event prices: browser compute for the run plus residential proxy traffic. Estimate: roughly $0.10–0.20 of platform usage per 1,000 products (25 result pages; residential proxy + browser compute). Measured on Malaysia — it varies with market, run length and proxy pricing.
How this compares
A real Chromium session through residential proxy passes Lazada's x5sec anti-bot check, and one actor covers all six SEA markets plus a price monitor with scheduled runs and webhook alerts. At $0.99 per 1,000 products it is below fatihtahta/lazada-scraper ($3.99), lergassy/lazada-scraper ($2.00), herus13/lazada-scraper ($5.00) and abotapi/lazada-scraper ($2.50). zen-studio/lazada-product-scraper lists $0.80 per 1,000 product rows; check its listing for what each row and any detail event contains. Monitor mode is priced separately at $0.003 per item checked and $0.01 per alert created.
| Actor | Price per 1,000 products | Platform usage |
|---|---|---|
| subimpact/lazada-scraper | $0.99 | paid by you |
| fatihtahta/lazada-scraper | $3.99 | see listing |
| lergassy/lazada-scraper | $2.00 | see listing |
| herus13/lazada-scraper | $5.00 | see listing |
| zen-studio/lazada-product-scraper | $0.80 | see listing |
Prices are Apify Store list prices on the Free plan, checked 24 October 2026. Competitor prices can change; check their listings.
Price monitor
Schedule this Actor to run on a recurring interval. On each run:
- Products are scraped fresh from your queries.
- Each item is compared to the snapshot saved from the previous run (stored in Apify KV store).
- Changes in price, stock status, or sold count generate alert objects.
- First run = baseline only (no alerts).
- Alerts are pushed to the
alertsdataset and optionally POSTed to yourwebhookUrl.
Removal detection: Items that disappear from results are flagged as removed — but only when the current run returned healthy full pages (guard against false positives from pagination glitches).
Ethics and legal note
This Actor scrapes Lazada's public product listings — the same data visible to any visitor without logging in. No credentials are used. No personal data is collected. Result pages are fetched one at a time from a single browser session with a delay between requests. Respect Lazada's terms of service and use this tool responsibly.