Daraz search
Daraz catalog search (Pakistan, Bangladesh, Sri Lanka, Nepal, Myanmar): id, title, link, price, original price, discount, rating, review count, sold count, seller, brand, location, stock, images and badges, with category, brand and price filters and sorts, plus every filter the catalog lists with its options (filters[].param names the search parameter that takes a filter's option values). Also filters by minimum star rating, service and promotion (free delivery, mall, flash sale...), where it ships from and product attributes (warranty, colour...); the answer echoes them as applied_filters. Several values of one filter must all apply.
Every response includes credits_used: the credits this call cost.
Parameters
| name | type | description |
|---|---|---|
q | string | Search words (or category). Example: phone |
country | pk | bd | lk | np | mm | Daraz country (default pk). Example: pk |
category | string | Category path from the filters, e.g. smartphones. |
brand | string | Brand values from the filters, comma separated (e.g. samsung). |
min_price | integer | Lowest price (local currency). |
max_price | integer | Highest price. |
rating | integer | Only products rated this many stars and up (1-5). |
service | string | Service & promotion values from filters[name=service], comma separated (e.g. Free_Shipping, reseller for mall, flashsale, New_Arrival). |
free_shipping | boolean | true: only products with free delivery (same as service=Free_Shipping). |
mall | boolean | true: only mall (official store) products (same as service=reseller). |
location | string | Where it ships from, values from filters[name=location], comma separated (e.g. Punjab). |
attribute | string | Attribute values from filters[name=attribute] (warranty type, colour family, delivery option...), comma separated, e.g. 7:265854. |
sort | relevance | price_asc | price_desc | Sort order. Example: price_asc |
page | integer | Page number (default 1). next_page is null on the last page. Example: 1 |
Every endpoint also takes fresh, raw, fields (see lean responses and caching).
Example
curl "https://api.api.sh/daraz/v1/search?q=phone" \
-H "x-api-key: $APISH_KEY" import os, requests
res = requests.get(
"https://api.api.sh/daraz/v1/search",
params={"q": "phone"},
headers={"x-api-key": os.environ["APISH_KEY"]},
timeout=120,
)
res.raise_for_status()
data = res.json() const url = new URL("https://api.api.sh/daraz/v1/search");
url.searchParams.set("q", "phone");
const res = await fetch(url, { headers: { "x-api-key": process.env.APISH_KEY } });
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
const data = await res.json(); Response
A JSON object with the fields described above, plus raw (the source's own data), cached, fetched_at and credits_used. Errors return {"success": false, "error": "…"} with the HTTP status (see errors). A lookup that ran but found nothing (404) costs the price above; refused calls and errors on our side are free (what's charged).