~/ecommerce/talabat-mart-scraper
Talabat Mart Scraper — Dubai Grocery Prices & SKUs
Extract q-commerce grocery SKUs, prices, barcodes, and live stock counts from Talabat Mart dark stores across Dubai — 153 delivery zones, EAN/UPC on every item, one normalized product schema.
grocery
TypeScript
UAE
categoryecommerce / grocery
languageTypeScript
stackTypeScript
marketsUAE
outputclean, RAG-ready JSON
key features
Dark-store level pricing — one record per product per fulfilment store
EAN/UPC barcode on every item, the cross-retailer matching key
Live stock counts, not just in-stock/out-of-stock
153 Dubai delivery zones, selectable per run
Pure HTTP — no headless browser, no JavaScript rendering
Prices in minor units (fils) for exact arithmetic
use cases
- Q-commerce price monitoring across Dubai dark stores
- Cross-retailer product matching by barcode
- Assortment and availability tracking for FMCG brands
- Basket-level price comparison for GCC grocery
- Market-entry research for the UAE grocery sector
- Grounded product datasets for retail AI agents
input parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
retailer | string | required | Retailer to crawl — Talabat Mart |
city | string | required | City to crawl — Dubai |
areaIds | array | optional | Delivery zones to cover (default: all 153 Dubai areas) |
categories | array | optional | Category slugs to limit the crawl to |
maxProductsPerStore | number | optional | Cap on products collected per dark store |
proxy | object | optional | Residential UAE proxy — required for accurate stock counts |
Output Example
1{
2 "source": {
3 "id": "2fc42edf-ac24-4e91-b871-1e7ee2117284",
4 "canonicalUrl": "https://www.talabat.com/uae/grocery/600398/al-badaa/product/modern-bakery-plain-roll-sandwich-bread-4-pieces/s/901515?aid=1172",
5 "retailer": "talabat_mart",
6 "currency": "AED"
7 },
8 "title": "Modern Bakery Plain Roll Sandwich Bread, 4 Pieces",
9 "brand": "",
10 "categories": ["bakery", "buns-rolls"],
11 "details": {},
12 "price": {
13 "current": 345,
14 "currentFormatted": "AED 3.45",
15 "previous": 345,
16 "stockStatus": "InStock",
17 "stockCount": 2
18 },
19 "variants": [
20 {
21 "id": "901515",
22 "sku": "901515",
23 "title": "Modern Bakery Plain Roll Sandwich Bread, 4 Pieces",
24 "options": [],
25 "price": { "current": 345, "currentFormatted": "AED 3.45", "previous": 345, "stockStatus": "InStock", "stockCount": 2 }
26 }
27 ],
28 "medias": [
29 { "type": "Image", "url": "https://talabat.dhmedia.io/image/product-information-management/KWV42456.png", "alt": "Modern Bakery Plain Roll Sandwich Bread, 4 Pieces", "index": 0 }
30 ],
31 "extraInfo": {
32 "scrapedAt": "2026-07-30T14:49:33.077Z",
33 "city": "dubai",
34 "darkStore": { "id": 600398, "name": "talabat mart", "zone": "al-badaa", "areaId": "1172" },
35 "barcode": "01110000140435",
36 "size": "4 Pieces",
37 "superSaver": false
38 }
39}
Tips
- Start with one zone. A single
areaIdsentry plus a modestmaxProductsPerStorereturns a representative sample in under a minute — useful for checking the schema before a full-city run. - Dedupe on the offer pair. Dark stores overlap across zones, so join on
(source.id, extraInfo.darkStore.id)rather than onsource.idalone. - Use the barcode, not the title. Product titles vary by retailer and language;
extraInfo.barcodeis the only reliable cross-retailer key. - Residential AE proxy for stock. Prices and catalog come back from any IP, but
stockAmountis only trustworthy from within the UAE.
faq
Why does this need a UAE proxy?
The catalog and prices render from any country, but accurate per-item stock counts are geo-gated to the UAE. A residential AE proxy is required rather than optional if you rely on stock data.
How do I match products across retailers?
Every item carries its EAN/UPC barcode in extraInfo.barcode. That is the stable key for joining the same SKU across Talabat Mart and other grocery sources.
What does one record represent?
One product offer at one dark store. The same product sold from two dark stores returns two records; offer uniqueness is the pair (source.id, extraInfo.darkStore.id).
related in ~/ecommerce
fashion
ASOS Scraper — Prices, Stock per Size, Reviews & Categories
Every ASOS product and category — prices, stock per size, barcodes and reviews in 12 storefronts.
opengeneral
WooCommerce Scraper — Products, Prices, Stock & Reviews
Products, variations, stock and reviews from any WooCommerce store.
opendepartment store
Macy's Scraper — Products, Prices, SKUs & News
Macy's products, prices, SKUs/UPCs & news — fast, no browser.
open