Scraping API

Lazada products, search results, reviews, sellers and categories as JSON, on request.

Endpoints9
Regions6id · my · ph · sg · th · vn
Product details6 credits≈ $7.5 per 1,000

Free trial credits. Catalog and estimates work immediately.

Need monthly sales and market share instead? Lazada market data →

Fetch one product's detailsRequest
POST/v1/lazada/product-details?waitForCompletion=true
{
  "requests": [
    {
      "url": "https://www.lazada.co.id/products/<product-slug>-i<item-id>-s<seller-id>.html"
    }
  ]
}
Product body from one response, trimmedfull response ↓
{
  "itemId": 7990080925,
  "title": "Giv Beauty Liquid Bodywash Ungu Passion Flowers & Sweet Berry Pouch 800ml",
  "categoryId": 10003072,
  "defaultSkuId": 14410196412,
  "sellerId": 51315,
  "sellerName": "Watsons",
  "skus": [
    {
      "skuId": 14410196412,
      "originalPrice": 44500
    }
  ]
}
Quickstart

Your first Lazada request

  1. 1

    Get a key. Sign in and create an API key in the dashboard. New accounts get free trial credits.

  2. 2

    Submit. POST the product URL to /v1/lazada/product-details?waitForCompletion=true to get the result in the same response.

  3. 3

    Retrieve. Without waitForCompletion, the response says submitted; take the task ID from upstream.items[0].uuid and poll /v1/lazada/retrieve/{task_id}.

Fetch one product's details

curl -X POST "https://api.magpieiq.com/scraping/v1/lazada/product-details?waitForCompletion=true" \
  -H "Authorization: Bearer $MAGPIE_API_KEY" -H "Content-Type: application/json" \
  -d '{"requests": [{"url": "https://www.lazada.co.id/products/<product-slug>-i<item-id>-s<seller-id>.html"}]}'
# -> {"status": ..., "cost": ..., "upstream": {...}}; without waitForCompletion, poll GET /v1/lazada/retrieve/{task_id} using upstream.items[0].uuid

Product body from one response, trimmed

{
  "itemId": 7990080925,
  "title": "Giv Beauty Liquid Bodywash Ungu Passion Flowers & Sweet Berry Pouch 800ml",
  "categoryId": 10003072,
  "defaultSkuId": 14410196412,
  "sellerId": 51315,
  "sellerName": "Watsons",
  "skus": [
    {
      "skuId": 14410196412,
      "originalPrice": 44500
    }
  ]
}
Reference

Lazada endpoints

Product details

/v1/lazada/product-details

One product's details: title, category, seller and every SKU with its price.

InputProduct page URL
No approval · any time6 credits / request· ≈ $7.5 per 1,000

Product search

/v1/lazada/product-search

The products on a search, category or seller-store results page.

InputSearchcategory or seller-store URL
No approval · any time6 credits / request· ≈ $7.5 per 1,000

Product reviews

/v1/lazada/product-reviews

Reviews with rating, text, date and variant, five per request.

InputReview-list URL with the item ID
No approval · any time6 credits / request· ≈ $7.5 per 1,000

Product reviews (V2)

/v1/lazada/product-reviews-v2

The same reviews through a second source, with review tags and paging.

InputReview API URL + itemId payload
No approval · any time6 credits / request· ≈ $7.5 per 1,000

Seller details

/v1/lazada/seller-details

One seller's shop page data.

InputShop URL
No approval · any time6 credits / request· ≈ $7.5 per 1,000

Seller directory

/v1/lazada/seller-directory

Lazada's public seller sitemap, page by page.

InputDirectory URL with limit and offset
No approval · any time6 credits / request· ≈ $7.5 per 1,000

Seller promotions

/v1/lazada/seller-promotions

A seller's campaigns and promoted products.

InputShopseller and item IDs
No approval · any time6 credits / request· ≈ $7.5 per 1,000

Category tree

/v1/lazada/category-tree

The marketplace's category tree.

InputCategory API URL
No approval · any time6 credits / request· ≈ $7.5 per 1,000

Keyword tracking

/v1/lazada/keyword-tracking

Lazada's public keyword tag pages with orders in the last 30–90 days, page by page.

InputKeyword log URL with limit and offset
No approval · any time6 credits / request· ≈ $7.5 per 1,000
Response

Key fields in the response

FieldTypeMeaning
itemIdintegerLazada's product ID (the i… number in the product URL).
titlestringListing title.
categoryIdintegerLazada category ID.
sellerId / sellerNameinteger / stringThe seller's ID and shop name.
defaultSkuIdintegerThe SKU shown by default on the product page.
skus[].skuIdintegerOne entry per SKU (variant).
skus[].originalPricenumberThe SKU's price before discount, in the local currency.
Pricing

What it costs, worked out

Cost

1,000 product pages, once

6,000credits

≈ $7.5

Cost

Reviews for 20 products, 10 pages each

1,200credits

≈ $1.5

Cost

50 search pages every day for 30 days

9,000credits

≈ $11

Dollar figures use the Tier 1 credit rate. Pay-as-you-go top-ups cost more per credit and larger packs cost less; the rate card has every pack.

Each request item is charged when you submit it.

AI agents

Use it from Claude or ChatGPT

Give your assistant a Lazada product and it reads the reviews and summarises what buyers praise and complain about.

Paste into your assistant
For the Lazada product I give you, take the numeric item ID from the product URL (…-i5133872551.html gives 5133872551) — the review endpoints reject product page URLs. Submit POST /v1/lazada/product-reviews with {"requests": [{"url": "https://my.lazada.co.id/pdp/review/getReviewList?itemId=<item_id>"}]} and poll GET /v1/lazada/retrieve/{task_id}. Each call returns five reviews; add &pageNo=2, &pageNo=3 for more. Agree a page budget with me before reading more than a few pages, because every page is billed.

Group the reviews by star rating. Summarise the recurring complaints in the one and two star reviews and the recurring praise in the five star ones, quote a few representative lines verbatim, and say how many reviews you read out of reviewTotal.

The copied prompt also tells your assistant how to get you a key if you don’t have one yet, and to ask before spending credits.

Limits

Limits and processing

  • All endpoints run at any time without approval. Each request item is billed.
  • The market comes from the Lazada domain in the URL: lazada.co.id, lazada.com.my, lazada.com.ph, lazada.sg, lazada.co.th, lazada.vn.
  • Review endpoints take a review-list URL with the numeric item ID, not the product page URL.
  • Reviews come five per request; add &pageNo=2, &pageNo=3 for more pages.
  • Per-item status and the task ID are inside the response at upstream.items[0].
  • Add ?waitForCompletion=true to wait for the result in the same response.
FAQ

Lazada API questions

Do I need a Lazada seller account?

No. You need a Magpie API key. Sign-up is self-serve and includes free trial credits.

Which Lazada markets are covered?

Indonesia, Malaysia, the Philippines, Singapore, Thailand and Vietnam. The market is set by the Lazada domain of the URL you submit.

How do I get a product's reviews?

Take the numeric item ID from the product URL (…-i5133872551.html gives 5133872551) and submit the review-list URL with that ID. Each request returns five reviews.

Can I build a list of Lazada sellers?

Seller directory pages through Lazada's public seller sitemap, and Seller details returns one shop's data.

How is it billed?

In prepaid credits from one wallet shared with the Data API, per request item. The rate card shows every current price.

Can I get monthly sales totals instead of raw pages?

Yes. The Data API serves monthly GMV, units and market share for Lazada by brand, merchant and SKU, already cleaned and categorised.

Make your first Lazada request today.

Free trial credits. Catalog and estimates work immediately.