Search Lazada products by keyword across Southeast Asia
apify.lazada.search.productsSearch Lazada and return products with price, original price, currency, rating, review and sold counts, seller and location from one of six SEA country sites (SG, MY, VN, TH, PH, ID)
- Price
- $0.005/resultAt provider cost
- Success rate
- —No success-rate data yetNo success-rate data yet
- Latency p50
- ——
- Last verified
- Sep 26, 2026Verified working
POSThttps://toolswitch.dev/v1/tools/apify.lazada.search.products?memory=2048&timeout=90&maxItems=1&maxTotalChargeUsd=0.06Preview- Uses platform quota
- Synchronous response
- Reads public data
Parameters
the response is the dataset items array directly — no run envelope, no polling. Each row carries title, price, price_original, currency, rating, review_count, sold_count, seller_name, location, brand and product_url. Cap every call with maxTotalChargeUsd, the spend limit Apify enforces; the body row limit sets how many rows run
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| Query parameters | ||||
memory | integer | Optional | MB of run memory. treg's key requires 2048; your own key may set any size | 2048 |
timeout | integer | Optional | run timeout in seconds. treg's key requires 90 so the run and its rows arrive before any wait gives up; a larger pull should use your own key and the async web.scrape.job.* pair above | 90 |
maxItems | integer | Optional | optional row cap; pay-per-event actors that take the row count from their own input ignore it, so maxTotalChargeUsd is the spend limit | 40 |
maxTotalChargeUsd | number | Optional | the spend cap Apify enforces on every event this run bills, in dollars. treg's key requires it, at most 1, and holds it for the call; this actor refuses a cap below 0.05. Set it ABOVE max_results x 0.005 (0.06 for 10 products): a run whose charges land exactly on the cap can be aborted by Apify and answers 400 with no rows | 0.06 |
- Query parameters
memoryintegerOptionalMB of run memory. treg's key requires 2048; your own key may set any size
Example:
2048timeoutintegerOptionalrun timeout in seconds. treg's key requires 90 so the run and its rows arrive before any wait gives up; a larger pull should use your own key and the async web.scrape.job.* pair above
Example:
90maxItemsintegerOptionaloptional row cap; pay-per-event actors that take the row count from their own input ignore it, so maxTotalChargeUsd is the spend limit
Example:
40maxTotalChargeUsdnumberOptionalthe spend cap Apify enforces on every event this run bills, in dollars. treg's key requires it, at most 1, and holds it for the call; this actor refuses a cap below 0.05. Set it ABOVE max_results x 0.005 (0.06 for 10 products): a run whose charges land exactly on the cap can be aborted by Apify and answers 400 with no rows
Example:
0.06
Code samples
Replace $TOOLSWITCH_KEY with the key you created in the console.
curl -X POST 'https://toolswitch.dev/v1/tools/apify.lazada.search.products?memory=2048&timeout=90&maxItems=1&maxTotalChargeUsd=0.06' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '{"region":"sg","max_results":10,"search_terms":["iphone 15 case"]}'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/apify.lazada.search.products?memory=2048&timeout=90&maxItems=1&maxTotalChargeUsd=0.06",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("{\"region\":\"sg\",\"max_results\":10,\"search_terms\":[\"iphone 15 case\"]}"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/apify.lazada.search.products?memory=2048&timeout=90&maxItems=1&maxTotalChargeUsd=0.06", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("{\"region\":\"sg\",\"max_results\":10,\"search_terms\":[\"iphone 15 case\"]}")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());This gateway API is in preview; its URL and authentication may change. The example parameters are sample data. Calls are billed at $0.005/result, including the service fee.