Lazada Product Search Scraper: 6 Countries, USD & English avatar

Lazada Product Search Scraper: 6 Countries, USD & English

Pricing

from $1.05 / 1,000 product rows

Go to Apify Store
Lazada Product Search Scraper: 6 Countries, USD & English

Lazada Product Search Scraper: 6 Countries, USD & English

Scrape Lazada search and category pages in Singapore, Malaysia, Thailand, the Philippines, Indonesia and Vietnam without login or your own proxy. Price, discount, rating, units sold, seller, prices in USD, optional English titles, and watch lists for price changes. Pay per result.

Pricing

from $1.05 / 1,000 product rows

Rating

0.0

(0)

Developer

Maksim Lazouski

Maksim Lazouski

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Categories

Features

Limited permissions

Share

What does Lazada Product Search Scraper do?

Lazada Product Search Scraper reads search results and category pages from Lazada, the largest online marketplace of Southeast Asia, in six countries: Singapore, Malaysia, Thailand, the Philippines, Indonesia and Vietnam. Give it keywords or links of search and category pages and it returns one clean row per product: price and original price, discount, rating, number of reviews, units sold, seller, where it ships from, stock and picture.

  • No Lazada account, no cookies, no proxy of your own. Type a keyword, pick a country, press Start. Each search is read from an address in its own country.
  • Search like on the site. Paste the link of a search or category page with its filters, or use the country, order and price fields.
  • Prices in local money and US dollars, at the European Central Bank's rate of the day.
  • English titles as an add-on for Thai, Vietnamese, Indonesian and Malay listings; titles already in English are left alone and not charged.
  • Watch lists for runs on a schedule: get only new products, price changes and products that went out of stock since the last run.
  • You pay per row that was read and stored, plus $0.005 when a run starts.

Example output of Lazada Product Search Scraper: titles in Thai and English, prices, discounts, USD, rating and units sold

It runs on the Apify platform, so you also get scheduling, an API, webhooks, integrations, and export of the results to JSON, CSV, Excel or HTML.

What data can you extract from Lazada?

GroupFields
Productid, SKU id, link, title, brand, category ids, picture, sponsored or not
Priceprice, price before discount, discount in %, the money (SGD, MYR, THB, PHP, IDR, VND), the price as the page shows it, both prices in USD
Popularityrating, number of reviews, units sold as a number and as the page shows it
Sellerseller id and name, where the product ships from
Stockin stock or not
Searchthe search it came from, its place in the results, the country
Add-ontitle_en: the title in English

How to scrape Lazada

  1. Open the actor and go to the Input tab.
  2. Type a search: a keyword such as phone case, เคสโทรศัพท์ or ốp lưng, or paste the link of a Lazada search or category page. One search per line.
  3. Pick the country for keywords, and the order and price range if you want them. A pasted link keeps its own country and filters.
  4. Choose how many products per search to return (40 a page, up to 2,000).
  5. Turn on English titles if you need them.
  6. Press Start, then open the Output tab or export the dataset.

Ready-made tasks

Start from a task that is already set up, then change the keyword and the country to your market:

Watch a search for changes

Put a name in Watch list name and run the actor on a schedule, for example every day. The first run returns everything, marked "change": "new". Every later run with the same name returns only:

  • what is new: a product that came into your search;
  • what changed since the last run: price, price before discount, title or stock ("change": "changed", with changed_fields and the old values in previous);
  • what is gone: a product that left a search that was read to its end ("change": "removed"). Rows for what is gone are free.

Rows that did not change are not stored and not charged, so a daily check of a market costs only what changed. The Changes view of the output shows these rows. A search cut by Products per search says nothing about what went beyond the cut. The actor keeps the watch list in a key-value store of your account named watch-lazada-...; use one name per list, and one run of it at a time.

{
"searches": ["https://www.lazada.com.my/catalog/?q=air+fryer&sort=priceasc"],
"maxItemsPerSearch": 200,
"watchName": "air fryers MY"
}

How much does it cost to scrape Lazada?

You pay for the rows the actor stores. The price per 1,000 rows depends on your Apify plan:

WhatFreeStarterScaleBusiness
A product row$1.50$1.35$1.20$1.05
English title (add-on, per row that gets one)$1.00$0.90$0.80$0.70

A run also costs $0.005 to start, on every plan. Apify counts the start once per GB of the run's memory: one start at the default 1 GB, four ($0.02) at 4 GB.

The examples below are at the Free plan price, rows only; add $0.005 per run.

  • A search of 120 products costs $0.18; with English titles for a Thai search, $0.30.
  • 10,000 products cost $15.

You do not pay for searches the actor could not read, for rows of what is gone, or for unchanged rows of a watch list. Apify's free plan comes with $5 of usage a month, which is enough for about 3,300 products.

Input

FieldWhat it does
searchesKeywords or links of Lazada search, category or brand pages, one per line.
countryFor keywords: sg (default), my, th, ph, id or vn.
sortFor keywords: relevance (default), price_low, price_high.
priceMin, priceMaxFor keywords: a price range in the country's money.
maxItemsPerSearchHow many products of each search to return: up to 2,000, 120 by default.
translateTitlesAdds title_en to products whose title is not in English.
maxItemsStop after this many rows.
maxConcurrencyHow many searches are read at the same time. 5 by default.
watchNameA watch list's name: each run stores only what is new, changed or gone since the last run with the same name.

One keyword in three countries, cheapest first:

{
"searches": [
"https://www.lazada.sg/catalog/?q=power+bank&sort=priceasc",
"https://www.lazada.com.my/catalog/?q=power+bank&sort=priceasc",
"https://www.lazada.co.th/catalog/?q=power+bank&sort=priceasc"
],
"maxItemsPerSearch": 80,
"translateTitles": true
}

Output

Every row is one product of one search.

{
"type": "listing",
"source_query": "phone case",
"position": 2,
"country": "sg",
"item_id": "2374234860",
"sku_id": "22564517942",
"url": "https://www.lazada.sg/products/pdp-i2374234860.html",
"title": "Shieldmonster iPhone Case 18 Pro Max/18 Pro/17 Pro Max/17 Pro/17 ... Clear TPU cover",
"price": 8.99,
"original_price": 18.99,
"discount_percent": 53,
"currency": "SGD",
"price_text": "$8.99",
"price_usd": 6.93,
"original_price_usd": 14.65,
"rating": 4.86,
"reviews": 1367,
"sold": 6100,
"sold_text": "6.1K sold",
"in_stock": true,
"seller_id": "1149612009",
"seller_name": "ShieldMonster",
"location": "Singapore",
"brand": "Shieldmonster",
"category_ids": [42062201, 9536, 10002873],
"image": "https://sg-live-01.slatic.net/p/2c326ecb033f58ab28950f62068732f6.png",
"sponsored": false,
"usd_rate": 0.7712,
"usd_rate_date": "2026-11-03"
}

Limits you should know

  • Search and category pages only. The actor returns what Lazada shows in its lists of products; it does not open product pages, so there is no full description, variant list or review text.
  • Up to 2,000 products per search (50 pages of 40), in the order Lazada shows them. How many results a search has is in the run's SUMMARY (search_results_found).
  • Units sold come rounded as Lazada shows them: "6.1K sold" is returned as 6100, with the page's own text beside it.
  • No USD for Vietnam: the ECB publishes no rate for the dong, so rows from Vietnam keep VND only.
  • English titles are machine translation. Brand and model names may come out odd; the original title is always there.
  • Sponsored products are in the results where Lazada puts them, marked "sponsored": true.

FAQ

Do I need a Lazada account, cookies or a proxy?

No. The actor reads what Lazada shows to a visitor who is not logged in, and brings its own connections in each country.

What happens when a search could not be read?

A search that breaks off is read on from the page where it stopped, up to three times in a row. What still fails is listed in the FAILED record of the run's key-value store, with the reason; the rows already stored are kept. If Lazada starts showing its check, or the connection is lost, the run does not press on: it waits and tries again with one visitor at a time. If that does not help within a few minutes, the run stops and keeps what it stored; it is marked as failed only when it stored nothing. Start it again with Resurrect and it goes on from where it stopped. A row is never stored twice.

Can I run it on a schedule or call it from my code?

Yes. Use Apify's schedules with a watch list to follow prices and new products in a market, and the Apify API or its clients for Python and JavaScript to start runs and read results. The maxItems field and the run's spending limit keep a run within a budget.

The actor reads only what Lazada shows publicly, without logging in: product listings of shops. You are responsible for how you use the data and for following the rules that apply to you; if you are not sure, ask a lawyer.

Something is wrong or a field is missing

Open an issue on the actor's Issues tab with the search or the link.

Lazada is a trademark of its owner. This actor is not affiliated with or endorsed by Lazada or Alibaba Group.