~/ecommerce/talabat-mart-scraper
Talabat Mart スクレイパー — ドバイの食品価格とSKU
ドバイ各地の Talabat Mart ダークストアから、クイックコマース食品の SKU・価格・バーコード・実在庫数を抽出します。153 の配送ゾーン、全商品に EAN/UPC、正規化された単一の商品スキーマ。
食品・日用品
TypeScript
アラブ首長国連邦
カテゴリecommerce / 食品・日用品
言語TypeScript
スタックTypeScript
マーケットアラブ首長国連邦
出力クリーンでRAG対応のJSON
主な機能
ダークストア単位の価格——商品×出荷拠点ごとに 1 レコード
全商品に EAN/UPC バーコード。小売横断のマッチングキー
在庫あり/なしだけでなく、実在庫数
ドバイの 153 配送ゾーンを実行ごとに選択可能
純粋な HTTP——ヘッドレスブラウザも JavaScript レンダリングも不要
価格は最小単位(フィルス)。計算誤差が出ません
活用例
- ドバイのダークストア横断のクイックコマース価格モニタリング
- バーコードによる小売横断の商品マッチング
- 消費財ブランドの品揃え・在庫可用性トラッキング
- 湾岸地域の食品バスケット単位の価格比較
- UAE 食品市場への参入調査
- リテール AI エージェント向けの根拠ある商品データセット
入力パラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
retailer | string | 必須 | 対象の小売——Talabat Mart |
city | string | 必須 | 対象都市——ドバイ |
areaIds | array | 任意 | 対象の配送ゾーン(既定:ドバイ全 153 エリア) |
categories | array | 任意 | クロールを限定するカテゴリ slug |
maxProductsPerStore | number | 任意 | ダークストアごとの取得商品数の上限 |
proxy | object | 任意 | UAE のレジデンシャルプロキシ——正確な在庫取得に必須 |
出力例
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}
ヒント
- まず 1 ゾーンから。 areaIds を 1 件、maxProductsPerStore を控えめにすれば 1 分以内に代表的なサンプルが得られます。全市クロールの前にスキーマを確認するのに便利です。
- オファーの組で重複排除を。 ダークストアはゾーンをまたいで重複します。source.id だけでなく (source.id, extraInfo.darkStore.id) で結合してください。
- タイトルではなくバーコードを。 商品名は小売や言語で変わります。小売横断で信頼できるキーは extraInfo.barcode だけです。
- 在庫には AE レジデンシャルプロキシを。 価格とカタログはどの IP からでも返りますが、stockAmount が信頼できるのは UAE 国内からのみです。
よくある質問
なぜ UAE のプロキシが必要ですか?
カタログと価格はどの国からでも取得できますが、商品ごとの正確な在庫数は UAE にジオ制限されています。在庫データを利用する場合、レジデンシャル AE プロキシは任意ではなく必須です。
小売横断で商品を突き合わせるには?
各商品は extraInfo.barcode に EAN/UPC バーコードを保持しています。Talabat Mart と他の食品データソース間で同一 SKU を結合する安定したキーです。
1 レコードは何を表しますか?
1 つのダークストアにおける 1 商品のオファーです。同じ商品が 2 つのダークストアで販売されていれば 2 レコードになり、一意性は (source.id, extraInfo.darkStore.id) の組で決まります。