Lazada Scraper - Products, Prices & Sellers
Pricing
from $4.00 / 1,000 products
Lazada Scraper - Products, Prices & Sellers
Scrape Lazada products without a login. Search any phrase or point it at a category or campaign URL, across six marketplaces in Southeast Asia. Walks pagination up to your chosen limit and returns clean rows with price, discount, rating, reviews, sold count, seller, brand and search rank.
Pricing
from $4.00 / 1,000 products
Rating
0.0
(0)
Developer
Goutam Soni
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Lazada Scraper
Extract Lazada products at scale without a login or API key. Search any phrase, or point the scraper at a category or campaign URL, and it walks the result pages for you up to the limit you set. Every row comes back in one clean, structured shape, with prices in the marketplace's own currency.
Works across six marketplaces: Singapore, Malaysia, Thailand, Philippines, Vietnam and Indonesia.
What it does
- Keyword search - every product matching a phrase, with the marketplace, sort order and price range you choose.
- Category and listing URLs - walk a category, campaign or saved search link. Each link keeps its own marketplace, so a Malaysian link stays on the Malaysian storefront.
- Search position - every row carries the rank it held in the results, so you can measure where a product actually places.
- Price and discount - current price, original price before discount, and the discount percentage.
- Demand signals - rating, review count and units sold for each product.
- Seller and brand - seller name and id, brand, and the location the product ships from.
- Pagination - 40 products per page, walked automatically until
maxProductsPerSourceis reached or the source runs out. Duplicates are removed across the whole run.
Input
| Field | Type | Description |
|---|---|---|
searchQueries | array | Phrases to search. Example: laptop, running shoes. |
listingUrls | array | Category, campaign or search links to walk. Example: https://www.lazada.sg/shop-laptops/. |
country | string | Marketplace: sg, my, th, ph, vn, id. Default sg. |
sort | string | relevance, price_low, price_high, popularity, newest. Default relevance. |
minPrice | integer | Lower price bound, in the marketplace's currency. Optional. |
maxPrice | integer | Upper price bound, in the marketplace's currency. Optional. |
maxProductsPerSource | integer | Cap per phrase or URL. Default 80. |
concurrency | integer | Sources processed in parallel. Default 5. |
proxyConfig | object | Apify Proxy. On by default, residential group. |
At least one of searchQueries or listingUrls is required.
Example input
{"searchQueries": ["laptop", "mechanical keyboard"],"country": "sg","sort": "relevance","minPrice": 100,"maxPrice": 2000,"maxProductsPerSource": 200,"concurrency": 3}
Output
Each item is one normalized product.
{"type": "product","id": "1234567890","url": "https://www.lazada.sg/products/pdp-i1234567890.html","title": "Acme 14 Inch Laptop, 16GB RAM, 512GB SSD","brand": "Acme","price": 549,"originalPrice": 899,"currency": "SGD","discountPercent": 39,"rating": 4.62,"reviewCount": 218,"soldCount": 1400,"sellerName": "Acme Official Store","sellerId": "1000000001","location": "Singapore","inStock": true,"sponsored": false,"mainImage": "https://example.com/image.jpg","images": ["https://example.com/image.jpg"],"skuId": "9876543210","categoryIds": ["57"],"marketplace": "sg","query": "laptop","position": 1,"scrapedAt": "2026-09-19T14:30:00.000Z"}
Fields are always present. A value is null when the marketplace genuinely does not publish it, not when something went wrong.
Notes
- Pricing is per product returned, so a run costs exactly what it collects.
- Currency follows the marketplace: SGD, MYR, THB, PHP, VND or IDR. Prices are never converted.
- Position is the rank within that source's results at the moment of the run, useful for tracking placement over time.
- Sponsored marks a placed listing so you can filter it out of organic analysis.
- Proxy defaults to the residential group, which returns more sources per run than the standard group on this storefront. You can lower it in the input if you would rather spend less bandwidth than collect more results.
- A source that returns nothing produces a single row with
ok: falseand a short reason, so a failure is never silent. - To improve our actors we collect anonymized usage telemetry (run stats and input patterns). No personal account data is collected.