{
  "openapi": "3.0.1",
  "info": {
    "title": "Talabat Scraper — Menus, Prices & Delivery Fees",
    "description": "Talabat menus, prices and delivery fees as flat rows in 8 MENA markets. Area mode lists every branch delivering to an area with fee, ETA, minimum order and menu URL; menu mode returns each dish with section, price and currency. Search, detail and monitor modes too.",
    "version": "0.1",
    "x-build-id": "dSQYClnGjVHcg3ixv"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/redomic~talabat-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-redomic-talabat-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/redomic~talabat-scraper/runs": {
      "post": {
        "operationId": "runs-sync-redomic-talabat-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/redomic~talabat-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-redomic-talabat-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",
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "detail",
              "monitor",
              "area",
              "menu"
            ],
            "type": "string",
            "description": "search lists the restaurants of a market (optionally filtered by a search term); detail fetches the full restaurant page for each entry in restaurants; monitor reports only restaurants that are new, changed or removed since the last run; area lists every branch delivering to each area in areas, with delivery fee, delivery time, minimum order and its menu URL; menu returns one row per menu item (name, section, price, currency) for each branch menu URL in restaurants.",
            "default": "search"
          },
          "query": {
            "title": "Search term",
            "type": "string",
            "description": "Talabat's own restaurant search for this market: a restaurant name, a dish or a cuisine (for example pizza, burger, sushi). Leave empty to browse every restaurant of the country. Used in search and monitor modes."
          },
          "country": {
            "title": "Market",
            "enum": [
              "uae",
              "ksa",
              "kuwait",
              "qatar",
              "bahrain",
              "oman",
              "egypt",
              "jordan"
            ],
            "type": "string",
            "description": "The talabat.com market to read: uae, ksa, kuwait, qatar, bahrain, oman, egypt or jordan. Also the default country for bare slugs in detail mode.",
            "default": "uae"
          },
          "restaurants": {
            "title": "Restaurants",
            "type": "array",
            "description": "For mode 'detail': restaurant pages (https://www.talabat.com/uae/johnny-rockets, /uae/johnny-rockets or johnny-rockets). For mode 'menu': branch menu URLs with their delivery area, like https://www.talabat.com/uae/restaurant/609078/papa-johns?aid=9553 (copy one from your browser, or take menuUrl from an area run). The country in the URL wins over the market field.",
            "items": {
              "type": "string"
            }
          },
          "areas": {
            "title": "Areas",
            "type": "array",
            "description": "For mode 'area': Talabat area pages, like https://www.talabat.com/uae/restaurants/1169/abu-hail (open talabat.com, pick a delivery area, copy the URL). Every branch delivering there is returned, paged until Max items.",
            "items": {
              "type": "string"
            }
          },
          "includeMenus": {
            "title": "Include menus (area mode)",
            "type": "boolean",
            "description": "For mode 'area': also read the full menu of every branch returned and add one row per menu item (same rows as menu mode). Max items still caps the branches; each branch menu is one 'menu' charge, however many items it has.",
            "default": true
          },
          "includeChoices": {
            "title": "Include choice prices (menus)",
            "type": "boolean",
            "description": "For menu rows (menu mode, or area mode with menus): open the choices of every item that has them (size, combo, extras) and add fromPrice (item price plus the cheapest required choices; Talabat shows 0 for size-priced items) and a flat choices list such as 'Choose Size: 4 Pcs 22 | 8 Pcs 38'. One extra request per such item, no extra charge.",
            "default": false
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Upper limit on restaurant rows returned (and so on what you pay). Search pages 30 restaurants per request and stops at this cap; detail stops after this many restaurants.",
            "default": 100
          },
          "minRating": {
            "title": "Minimum rating",
            "minimum": 0,
            "type": "number",
            "description": "For search and area modes: keep only restaurants with this rating or higher. Leave empty to include all ratings."
          },
          "openNow": {
            "title": "Open now",
            "type": "boolean",
            "description": "For search and area modes: when true, keep only restaurants that are currently open for delivery.",
            "default": false
          },
          "freeDelivery": {
            "title": "Free delivery",
            "type": "boolean",
            "description": "For search and area modes: when true, keep only restaurants with no delivery fee.",
            "default": false
          },
          "cuisines": {
            "title": "Cuisines",
            "type": "array",
            "description": "For search and area modes: keep only restaurants that serve at least one of these cuisines (case-insensitive match). Leave empty to include all cuisines.",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}