{
  "openapi": "3.0.1",
  "info": {
    "title": "Talabat Mart Grocery Scraper",
    "description": "Extract the full Talabat Mart grocery catalog across Dubai's dark stores: SKU-level prices, discounts, live stock counts, EAN barcodes, and product URLs for every delivery zone. Clean structured JSON for price monitoring, q-commerce market intelligence, and cross-retailer matching.",
    "version": "0.0",
    "x-build-id": "FJ0qJk5I4aShhLd9s"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/autofacts~talabat-mart-grocery-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-autofacts-talabat-mart-grocery-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/autofacts~talabat-mart-grocery-scraper/runs": {
      "post": {
        "operationId": "runs-sync-autofacts-talabat-mart-grocery-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/autofacts~talabat-mart-grocery-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-autofacts-talabat-mart-grocery-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "retailer",
          "city"
        ],
        "properties": {
          "retailer": {
            "title": "Retailer",
            "enum": [
              "talabat_mart"
            ],
            "type": "string",
            "description": "MVP: Talabat Mart only. Noon Minutes / Careem Quik are planned (schema + adapters reserved).",
            "default": "talabat_mart"
          },
          "city": {
            "title": "City",
            "enum": [
              "dubai"
            ],
            "type": "string",
            "description": "MVP: Dubai only.",
            "default": "dubai"
          },
          "areaIds": {
            "title": "Area IDs (dark-store zones)",
            "type": "array",
            "description": "Dubai areas (dark-store zones) to cover — all 153 Talabat grocery areas are listed. Each area resolves its Talabat Mart dark store at runtime; many areas share one store (deduped automatically). Empty = Al Badaa only (fast sample).",
            "items": {
              "type": "string",
              "enum": [
                "1169",
                "1170",
                "1171",
                "1172",
                "1173",
                "1174",
                "1175",
                "1176",
                "1177",
                "1179",
                "1181",
                "1182",
                "1183",
                "1184",
                "1185",
                "1186",
                "1187",
                "1188",
                "1190",
                "1191",
                "1192",
                "1193",
                "1194",
                "1195",
                "1198",
                "1199",
                "1200",
                "1201",
                "1203",
                "1204",
                "1205",
                "1207",
                "1208",
                "1209",
                "1210",
                "1211",
                "1212",
                "1213",
                "1214",
                "1215",
                "1216",
                "1217",
                "1218",
                "1219",
                "1220",
                "1221",
                "1222",
                "1223",
                "1225",
                "1226",
                "1228",
                "1230",
                "1231",
                "1232",
                "1233",
                "1237",
                "1238",
                "1239",
                "1241",
                "1242",
                "1244",
                "1246",
                "1252",
                "1257",
                "1258",
                "1259",
                "1260",
                "1261",
                "1262",
                "1263",
                "1264",
                "1265",
                "1266",
                "1268",
                "1269",
                "1272",
                "1273",
                "1274",
                "1276",
                "1277",
                "1278",
                "1279",
                "1280",
                "1281",
                "1282",
                "1288",
                "1289",
                "1292",
                "1293",
                "1294",
                "1295",
                "1298",
                "1302",
                "1303",
                "1304",
                "1305",
                "1306",
                "1307",
                "1308",
                "1310",
                "1311",
                "1313",
                "1315",
                "1316",
                "1317",
                "1322",
                "1323",
                "1324",
                "1329",
                "1336",
                "1348",
                "1349",
                "1350",
                "1352",
                "1355",
                "1357",
                "1358",
                "1359",
                "1361",
                "1533",
                "1540",
                "2444",
                "2598",
                "2747",
                "2748",
                "2793",
                "2794",
                "3923",
                "4009",
                "4010",
                "4058",
                "4059",
                "4060",
                "4061",
                "4067",
                "4177",
                "4178",
                "4179",
                "4577",
                "5550",
                "5553",
                "5645",
                "6474",
                "6784",
                "6801",
                "6821",
                "6946",
                "8908",
                "10204",
                "10415",
                "11077",
                "11086",
                "103269"
              ],
              "enumTitles": [
                "Abu Hail (1169)",
                "Academic City (1170)",
                "Al Awir (1171)",
                "Al Badaa (1172)",
                "Al Baraha (1173)",
                "Al Barsha 1 (1174)",
                "Al Barsha 2 (1175)",
                "Al Barsha 3 (1176)",
                "Al Barsha South (1177)",
                "Al Dhagaya (1179)",
                "Al Furjan (1181)",
                "Al Garhoud (1182)",
                "Al Hamriya (1183)",
                "Al Hudaiba (1184)",
                "Al Jaddaf (1185)",
                "Al Jaffiliya (1186)",
                "Al Karama (1187)",
                "Al Khabaisi (1188)",
                "Al Kifaf (1190)",
                "Al Mamzar (1191)",
                "Al Manara (1192)",
                "Al Mankhool (1193)",
                "MBR Al Merkad (1194)",
                "Al Mina (1195)",
                "Al Mizhar 1 (1198)",
                "Al Mizhar 2 (1199)",
                "Al Muraqqabat (1200)",
                "Al Murar (1201)",
                "Al Muteena (1203)",
                "Al Nahda 1 (1204)",
                "Al Nahda 2 (1205)",
                "Al Quoz 1 (1207)",
                "Al Quoz 2 (1208)",
                "Al Quoz 3 (1209)",
                "Al Quoz 4 (1210)",
                "Al Quoz Industrial Area 1 (1211)",
                "Al Quoz Industrial Area 2 (1212)",
                "Al Quoz Industrial Area 3 (1213)",
                "Al Quoz Industrial Area 4 (1214)",
                "Al Qusais 1 (1215)",
                "Al Qusais 2 (1216)",
                "Al Qusais 3 (1217)",
                "Al Qusais Industrial Area 1 (1218)",
                "Al Qusais Industrial Area 2 (1219)",
                "Al Qusais Industrial Area 3 (1220)",
                "Al Qusais Industrial Area 4 (1221)",
                "Al Qusais Industrial Area 5 (1222)",
                "Al Raffa (1223)",
                "Al Rashidiya (1225)",
                "Al Rigga (1226)",
                "Al Safa (1228)",
                "Al Safa 2 (1230)",
                "Al Sufouh 1 (1231)",
                "Al Sufouh 2 (1232)",
                "Al Satwa (1233)",
                "Al Twar 1 (1237)",
                "Al Twar 2 (1238)",
                "Al Twar 3 (1239)",
                "Al Warqa 1 (1241)",
                "Al Warqa 2 (1242)",
                "Al Wasl (1244)",
                "Arabian Ranches (1246)",
                "Business Bay (1252)",
                "Discovery Gardens (1257)",
                "Downtown Burj Khalifa (1258)",
                "Downtown Jabel Ali (1259)",
                "Dubai Airport Freezone (1260)",
                "Dubai Cargo Village (1261)",
                "Dubai Falcon City (1262)",
                "Dubai Festival City (1263)",
                "Dubai Healthcare City (1264)",
                "Dubai International Airport (1265)",
                "Dubai Internet City DIC (1266)",
                "Dubai Investments Park 1 (1268)",
                "Dubai Investments Park 2 (1269)",
                "Dubai Marina (1272)",
                "Dubai Maritime City (1273)",
                "Dubai Media City (1274)",
                "Dubai Motor City (1276)",
                "Dubai Silicon Oasis (1277)",
                "Dubai Sports City (1278)",
                "Dubai Techno Park (1279)",
                "Dubai World Trade Center DWTC (1280)",
                "The Lakes (1281)",
                "Emirates Hills (1282)",
                "Hor Al Anz (1288)",
                "Hor Al Anz East (1289)",
                "International City (1292)",
                "Jebel Ali 1 (1293)",
                "Jebel Ali 2 (1294)",
                "Jebel Ali Freezone (1295)",
                "Jebel Ali Industrial Area (1298)",
                "Jumeirah 1 (1302)",
                "Jumeirah 2 (1303)",
                "Jumeirah 3 (1304)",
                "Jumeirah Beach Residence JBR (1305)",
                "Jumeirah Golf Estates (1306)",
                "Jumeirah Islands (1307)",
                "Jumeirah Lakes Towers JLT (1308)",
                "Jumeirah Village Circle JVC (1310)",
                "Jumeirah Village Triangle JVT (1311)",
                "Meadows (1313)",
                "Mirdif (1315)",
                "Muhaisnah 1 (1316)",
                "Muhaisnah 2 (1317)",
                "Nad Al Sheba 2 (1322)",
                "Nad Al Sheba 3 (1323)",
                "Nad Al Sheba 4 (1324)",
                "Oud Metha (1329)",
                "Dubai Creek Harbour (1336)",
                "Springs (1348)",
                "Dubai Studio City (1349)",
                "Barsha Heights TECOM (1350)",
                "The Villa (1352)",
                "Umm Ramool (1355)",
                "Umm Suqeim 1 (1357)",
                "Umm Suqeim 2 (1358)",
                "Umm Suqeim 3 (1359)",
                "Wadi Alamardi (1361)",
                "Al Mamzar (1533)",
                "Al Nahda (1540)",
                "Remraam (2444)",
                "Jumeirah Park (2598)",
                "Umm Hurair 1 (2747)",
                "Umm Hurair 2 (2748)",
                "Muhaisnah 3 (2793)",
                "Muhaisnah 4 (2794)",
                "Al Hudaibah (3923)",
                "Jumeirah Heights (4009)",
                "Nad Al Sheba 1 (4010)",
                "Al Warqa 3 (4058)",
                "Al Warqa 4 (4059)",
                "Al Warqa 5 (4060)",
                "Jebel Ali Freezone Extension (4061)",
                "Dubai World Central DWC (4067)",
                "Al Rashidiya 1 (4177)",
                "Al Rashidiya 2 (4178)",
                "Al Rashidiya 3 (4179)",
                "Dubai Design District (4577)",
                "Arabian Ranches 2 (5550)",
                "Liwan (5553)",
                "Meydan South (5645)",
                "Arjan (6474)",
                "Dubai Lifestyle City (6784)",
                "International City 2 (6801)",
                "Majan (6821)",
                "Dubai Hills (6946)",
                "Town Square (8908)",
                "Dubai Outlet Mall (10204)",
                "Arabian Ranches 3 (10415)",
                "Dubai Industrial City (11077)",
                "Downtown Jebel Ali (11086)",
                "Al Awir 1 (103269)"
              ]
            },
            "default": [
              "1172"
            ]
          },
          "categories": {
            "title": "Category filter (optional)",
            "type": "array",
            "description": "Only scrape these grocery categories. Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxProductsPerStore": {
            "title": "Max products per dark store",
            "minimum": 1,
            "type": "integer",
            "description": "Cap per dark store. Keeps the default run fast + cheap (the daily auto-tester runs the default input).",
            "default": 200
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Residential UAE strongly recommended: Cloudflare scores datacenter IPs badly AND the catalog is geo-gated to the UAE.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "AE"
            }
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}