Endpoint Playground
Searches by keyword within one darkstore's own catalog -- the pandamart equivalent of the search box on a darkstore page. Unlike the product showcase's curated shelves, this reaches the store's full catalog by keyword. Returns matching products with real prices, stock, and availability, plus total_products and has_more for pagination via page/limit.
14 Oct 2026: 20 products; 9 fields had a value in every checked item and 1 varied between items.
Sample value profiles: price: 1.9 to 23.3, median 3.55; name: “Greenfields Premium Fresh Jersey Milk 1L” and 19 other values; image_url: foodpanda.dhmedia.io.
curl 'https://api.crawlora.net/api/v1/pandamart/store/search?market=sg&code=wsg7&query=milk&sort=RELEVANCE' \
-H "x-api-key: $CRAWLORA_API_KEY"| Parameter | Type | Required | Prefilled value | Description |
|---|---|---|---|---|
| market | string | No | sg | Delivery Hero market the store belongs to. One of sg, pk, bd, hk, my, ph. Defaults to sg. |
| code | string | Yes | wsg7 | Darkstore code, from /pandamart/search's code field |
| query | string | Yes | milk | Product search text |
| sort | string | No | RELEVANCE | Result order. One of RELEVANCE, PRICE_ASC, PRICE_DESC. Defaults to RELEVANCE. |
| page | integer | No | 1-based result page (default 1) | |
| limit | integer | No | Products per page, clamped to 10-50 (default 20) |
{
"code": 200,
"msg": "OK",
"data": {
"market": "sg",
"code": "wsg7",
"query": "milk",
"sort": "RELEVANCE",
"products": [
{
"id": "46896362",
"name": "Greenfields Low Fat Milk 1L",
"description": "Guaranteed Shelf Life: 7 days",
"image_url": "https://foodpanda.dhmedia.io/image/darkstores/sgp/topseller/20231120/8993351129204_001.jpg",
"price": 3.39,
"original_price": 3.5,
"sku": "3P6F61",
"stock_amount": 38,
"is_available": true,
"discount_badge": "3% off"
}
],
"total_products": 400,
"page": 1,
"limit": 20,
"has_more": true
}
}The sample response, schema and code snippets below work without an account. Sending a live request needs an API key.