How to Scrape Lazada Product Data Across Southeast Asia
Learn how to scrape Lazada product data — price, discount, rating, reviews, sold count and seller — across all six SEA marketplaces with no login or API key.
If you sell, source, or analyze products in Southeast Asia, you eventually need to scrape Lazada — and there is no clean public API to do it. Lazada is one of the two dominant marketplaces in the region (alongside Shopee), running six localized storefronts across Malaysia, Singapore, Indonesia, the Philippines, Vietnam and Thailand. Each storefront is its own pricing universe, with its own currency, sellers, discounts and demand. This guide covers what Lazada product data is worth, how to pull it at scale across all six markets, the exact fields you get back, and the price-intelligence and product-research workflows it unlocks.
Why Lazada product data is valuable
Lazada’s catalog is a real-time ledger of Southeast Asian consumer demand. Unlike a static product feed, every listing carries live signals: the current price, the original price before discount, the running discount percentage, the average rating, the review count, and — crucially — the units-sold figure. That last field is the one most marketplaces hide and Lazada surfaces. Sold count plus rating count together let you estimate demand and revenue for a product without any insider access.
Because Lazada localizes per country, the same SKU can sell at very different prices and velocities in Kuala Lumpur versus Jakarta versus Bangkok. A brand or distributor that only watches one storefront is blind to arbitrage, to MAP (minimum advertised price) violations in neighboring markets, and to where demand is actually concentrating. Scraping all six storefronts turns that blind spot into a structured dataset you can query.
The catch is access. Lazada runs on Alibaba’s anti-bot infrastructure, which walls datacenter traffic aggressively. There’s no developer API for catalog browsing, and naive scraping gets blocked almost immediately. The reliable path is reading public catalog JSON through country-matched residential proxies — which is exactly how the managed actor below is configured.
▶ Run the Lazada Scraper — name, price, discount, rating, reviews, sold count, seller and brand across all six SEA markets. No login, no API key. $3 per 1,000 products.
Input modes: search terms and category URLs
The scraper accepts two ways of pointing at Lazada’s catalog, and you can combine them in a single run.
Search terms
The primary mode is keyword search. You pass an array of searchTerms — phone, air fryer, wireless earbuds — and the actor runs each one as a query against the storefront you selected, paginating through the result pages. This is the mode you want for category-wide research: “show me every wireless earbud listing in Malaysia” rather than a single known product.
Category URLs
The second mode is direct URL targeting. If you already have a specific Lazada category page or a pre-filtered search URL, paste it into categoryUrls and the actor scrapes that page directly. This is useful when you’ve built a filtered URL in the Lazada UI (a specific brand, a price band, a sort order) and want exactly that slice — no keyword guessing required. Search terms and category URLs run side by side in the same job.
Picking a country
The country enum selects which of the six marketplaces you hit: MY (Malaysia, the default), SG (Singapore), ID (Indonesia), PH (Philippines), VN (Vietnam) or TH (Thailand). The residential proxy country is matched automatically to your selection — choosing ID routes your requests through Indonesian residential IPs, which is what keeps them unblocked. To cover the whole region, run the same keyword set once per country and union the results downstream; the country field on every record tells you which storefront it came from.
A minimal input looks like this:
{
"searchTerms": ["phone", "wireless earbuds"],
"country": "MY",
"maxItemsPerTerm": 300,
"maxResults": 1000
}
Pagination and volume control
Lazada returns results in paginated catalog pages, and the actor walks them for you. Two knobs control depth:
maxItemsPerTermcaps how many products are pulled per search term or category URL. The default is200, but Lazada will happily yield hundreds per query — raise this when you want a deep sweep of a category.maxResultsis a global ceiling across the whole run. Set it to0for unlimited, or use it as a safety cap so a broad multi-keyword job doesn’t run longer or cost more than you intend.
Mechanically, the actor loads each query in a headless browser over the country-matched residential proxy, intercepts Lazada’s internal catalog JSON (the mods.listItems payload), and parses every product out of it. Pagination then advances page by page until it hits your per-term or global limit. There’s no login, no cookie, and no Lazada account touched at any point — it reads only public catalog data, so there’s no account to get banned.
Output fields: exactly what you get back
Each product is saved as one structured record. Here is a realistic example record from a Malaysian search:
{
"itemId": "3456789012",
"name": "Xiaomi Redmi Note 13 Pro 5G 8GB+256GB Smartphone",
"price": 899,
"priceShow": "RM899.00",
"originalPrice": 1299,
"originalPriceShow": "RM1,299.00",
"discount": "-31%",
"currency": "MYR",
"ratingScore": 4.8,
"review": 1243,
"sold": 5200,
"itemSoldCntShow": "5.2K sold",
"sellerName": "Xiaomi Official Store",
"sellerId": "1000123456",
"brandName": "Xiaomi",
"location": "Selangor",
"inStock": true,
"isSponsored": false,
"image": "https://my-live.slatic.net/p/....jpg",
"itemUrl": "https://www.lazada.com.my/products/....html",
"country": "MY",
"searchTerm": "phone",
"scrapedAt": "2026-06-04T08:00:00.000Z"
}
Field reference
| Field | Description |
|---|---|
name | Product title |
price / priceShow | Numeric price and the localized display string |
originalPrice / originalPriceShow | Pre-discount price (numeric and display) |
discount | Discount percentage as shown, e.g. -31% |
currency | Marketplace currency (MYR, SGD, IDR, PHP, VND, THB) |
ratingScore / review | Average rating and total review count |
sold / itemSoldCntShow | Units sold — numeric figure and display string |
sellerName / sellerId | Seller identity |
brandName / location | Brand and shipping/seller location |
inStock / isSponsored | Stock flag and sponsored-listing flag |
image / itemUrl | Main image URL and direct product link |
country / searchTerm / scrapedAt | Which storefront, which query, and capture timestamp |
A few schema notes for downstream use. Keep both the numeric and display variants of price and sold count: price and sold are what you compute on, while priceShow and itemSoldCntShow preserve the exact localized formatting (thousands separators, the “5.2K sold” rounding) for audit and display. Always carry country into your warehouse — the same product in MY and ID is two rows with two currencies, and conflating them silently corrupts any price comparison. And log scrapedAt, because prices and discounts move daily; without a timestamp your dataset is undated and unusable for trend work.
Use cases
Price intelligence
The core job. Run a fixed keyword or category-URL set on a schedule — daily for fast-moving electronics, weekly for slower categories — and you get a time series of competitor pricing across SEA. Because you have price, originalPrice and discount per record, you can separate genuine price changes from promotional discounting, and watch how a rival reprices in response to your moves. Run the same keywords across all six countries and you also see regional price spread, which surfaces cross-border arbitrage and tells you which market is the discount battleground for a category.
MAP monitoring
If you’re a brand or authorized distributor, unauthorized sellers undercutting your minimum advertised price erode margin and channel trust. Scrape your own brand term across every storefront, filter by sellerName and price, and flag any listing priced below your MAP floor. The sellerName / sellerId and location fields identify exactly who and where, so enforcement isn’t guesswork. Schedule it and MAP violations surface within a day of appearing rather than whenever someone happens to notice.
Product and demand research
For sourcing, dropshipping, or category planning, the sold and review fields are gold. Pull a whole category — say every air fryer in Thailand — and rank by units sold to see what’s actually moving, not just what’s listed. Cross ratingScore against sold to find products with high demand but mediocre satisfaction: that gap is a product opportunity. Because you get brandName and sellerName too, you can map which brands and sellers dominate a category before you decide to enter it.
Data science and analytics
The output is clean, labelled, per-country product data — ready to push to Google Sheets, BigQuery, or a warehouse via the Apify API and webhooks. Category-by-country product datasets make solid training corpora for pricing models, demand forecasts, or product-categorization classifiers. The consistent schema across all six storefronts means one ETL path covers the entire region.
▶ Run the Lazada Scraper — paginate hundreds of products per keyword across MY, SG, ID, PH, VN and TH, with full pricing, ratings and sold counts. Export to JSON, CSV, Excel or API. $3 per 1,000 products.
FAQ
Do I need a Lazada login or API key?
No. The actor reads public catalog data only — no cookies, no account, and no developer API key. There is no Lazada login involved at any stage, so there’s no account to get restricted or banned.
Which countries does it cover?
All six Lazada marketplaces: Malaysia, Singapore, Indonesia, the Philippines, Vietnam and Thailand. You pick one per run with the country field, and the residential proxy country is matched to it automatically. To cover the whole region, run your keyword set once per country.
Why does it need residential proxies?
Lazada runs on Alibaba’s anti-bot infrastructure, which blocks datacenter traffic. A country-matched residential proxy is the decisive factor in staying unblocked, so it’s the pre-configured default — you don’t have to set it up yourself.
How many products can I pull per search?
Hundreds per keyword. The actor paginates through Lazada’s result pages, and you control depth with maxItemsPerTerm (default 200) and the global maxResults cap. Set maxResults to 0 for unlimited within a run.
Can I scrape a specific category instead of a keyword?
Yes. Paste one or more Lazada category or pre-filtered search URLs into categoryUrls and the actor scrapes them directly. You can combine category URLs with keyword searchTerms in the same run.
How current is the data?
Every record is captured live at run time and stamped with scrapedAt. Prices, discounts and sold counts on Lazada change daily, so schedule the actor at whatever cadence your category needs — daily for electronics, weekly for slower-moving goods — to keep a fresh time series.
Wrapping up
There’s no clean public API to scrape Lazada, but the catalog data — price, discount, rating, reviews, sold count, seller and brand across all six Southeast Asian storefronts — is exactly what powers price intelligence, MAP enforcement, and product research in the region. Run it as a managed scraper with country-matched residential proxies and you skip the anti-bot fight entirely, getting clean per-country product records you can schedule, export, and load straight into your analytics stack.
▶ Open the Lazada Scraper on Apify — six SEA markets, full pricing and sales data, no login or API key. Pay per product. Start with Apify’s free monthly credit.
Guide: how-to-scrape-lazada-product-data-southeast-asia — your starting point to scrape Lazada product data across Southeast Asia.
Related guides
How to Scrape Avito: Russia's Largest Classifieds (avito.ru)
Scrape Avito.ru listings at scale — title, current and old price, location, category, images and URL. Search by keyword or browse by category and location.
How to Scrape Blocket.se Swedish Classifieds in 2026
Extract used cars, electronics and marketplace items from Blocket.se — Sweden's largest classifieds. Pull prices, images, location, coordinates and seller type via its internal APIs.
How to Scrape Craigslist Listings and Prices in 2026
Learn how to scrape Craigslist listings, prices, images and GPS coordinates across any city and category — no login, no API key — and build market-wide datasets at scale.