GET/pandamart/searchapiKey2 credits/request
Returns pandamart grocery/convenience darkstores delivering to a latitude/longitude. Each store carries its code (the value the store and products endpoints take), name, address, coordinates, budget tier, chain, minimum order amount and delivery fee, delivery/pickup availability, and a hero image. A location with no coverage returns an empty list rather than an error.
Required: latitude, longitude. Optional: market (6 allowed values: sg, pk, bd, hk, my, ph), limit, offset.
Sampled 14 Oct 2026: 1 item. Filled in every item: code, name, address, city, latitude, longitude, distance_km, budget and 11 more. In the sample: name: “pandamart Kallang Way”; hero_image_url: foodpanda.dhmedia.io; is_delivery_available: true in 1 of 1; tags: median 1 entry; city: “Singapore”; is_pickup_available: true in 1 of 1; has_discount: true in 0 of 1; timezone: “Asia/Singapore”.
Open in Playground
GET/pandamart/storeapiKey1 credit/request
Returns one pandamart darkstore's detail by code: name, address, coordinates, budget tier, chain, minimum order amount, minimum delivery fee, delivery/pickup availability, timezone, and a hero image. Supplying latitude and longitude only affects the (optional) computed fields the upstream itself returns for that coordinate; it does not filter or reject the lookup.
Required: code. Optional: market (6 allowed values: sg, pk, bd, hk, my, ph), latitude, longitude.
Sampled 14 Oct 2026: 1 item. Filled in every item: code, text. In the sample: text: “NEXTGEN_FREE_DELIVERY_TAG”.
Open in Playground
GET/pandamart/store/categoriesapiKey1 credit/request
Returns one darkstore's full category tree: every category and sub-category, each with the upstream-reported product count and (for top-level categories) an image. This lists what categories exist and how large they are -- it does not fetch the items inside any one category. Sub-category product counts are frequently 0 upstream; only top-level counts are reliably populated.
Required: code. Optional: market (6 allowed values: sg, pk, bd, hk, my, ph).
Sampled 14 Oct 2026: 30 items. Filled in every item: id, name, product_count, image_url. Not in every item: sub_categories (29). In the sample: product_count: 70 to 8,383, median 288; name: “Deals” and 29 other values; image_url: images.dhmedia.io and 1 other host; sub_categories: median 8 entries.
Open in Playground
GET/pandamart/store/productapiKey1 credit/request
Returns one product's full detail by ID: the same fields a shelf/search result carries plus category_id and, for weighable/grocery items, per-unit pricing and nutrition attributes. Resolves the store's page slug internally, so only the darkstore code and product ID are needed.
Required: code, product_id. Optional: market (6 allowed values: sg, pk, bd, hk, my, ph).
Sampled 14 Oct 2026: 15 fields returned with a value. In the sample: price: 4.6; market: “sg”; image_url: foodpanda.dhmedia.io; is_available: true; description: 283 characters; name: “brightfarms Fresh Farm Eggs 15S x 60g”; original_price: 5.2; stock_amount: 179.
Open in Playground
GET/pandamart/store/productsapiKey1 credit/request
Returns one darkstore's product showcase: every named shelf its own home page displays (deals, new arrivals, category highlights, etc.), each with real prices, stock, and availability. This is the curated set of shelves the store's home page surfaces, not the full category-browsable catalog.
Required: code. Optional: market (6 allowed values: sg, pk, bd, hk, my, ph).
Sampled 14 Oct 2026: 10 items. Filled in every item: title, items. In the sample: title: “Hot Deals” and 9 other values; items: median 10 entries.
Open in Playground
GET/pandamart/store/searchapiKey2 credits/request
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.
Required: code, query. Optional: market (6 allowed values: sg, pk, bd, hk, my, ph), sort (3 allowed values: RELEVANCE, PRICE_ASC, PRICE_DESC), page, limit.
Sampled 14 Oct 2026: 20 items. Filled in every item: id, name, description, image_url, price, original_price, sku, stock_amount and 1 more. Not in every item: discount_badge (14). In the sample: 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; is_available: true in 20 of 20; description: median 184 characters; original_price: 2.31 to 33.78, median 3.73; stock_amount: 1 to 48, median 13; discount_badge: “30% off” and 11 other values.
Open in Playground