{
  "openapi": "3.0.1",
  "info": {
    "title": "Foodpanda Scraper - Restaurants, Menus and Reviews",
    "description": "Extract Foodpanda restaurants, menu items, shops and reviews across 10 Asia-Pacific markets, including Singapore, Hong Kong, Malaysia and Taiwan. Pay per delivered row plus a start fee.",
    "version": "0.2",
    "x-build-id": "6oaSg9xq98y5bWoua"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/lentic_clockss~foodpanda-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-lentic_clockss-foodpanda-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/lentic_clockss~foodpanda-scraper/runs": {
      "post": {
        "operationId": "runs-sync-lentic_clockss-foodpanda-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/lentic_clockss~foodpanda-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-lentic_clockss-foodpanda-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": [
              "auto",
              "cuisine",
              "restaurant",
              "city",
              "shops",
              "discoverCities",
              "discoverCuisines",
              "chain",
              "startUrls",
              "reviews"
            ],
            "type": "string",
            "description": "Leave on Auto: the Actor picks the mode from the fields you fill (start URLs, restaurant URL or vendor code, chain name, city + cuisine, or city). Discover cities / Discover cuisines run only when chosen here.",
            "default": "auto"
          },
          "market": {
            "title": "Market",
            "enum": [
              "sg",
              "hk",
              "my",
              "tw",
              "ph",
              "pk",
              "bd",
              "kh",
              "mm",
              "la"
            ],
            "type": "string",
            "description": "Foodpanda country market",
            "default": "sg"
          },
          "startUrls": {
            "title": "Start URLs",
            "type": "array",
            "description": "Foodpanda page links (restaurant, city or cuisine pages). Each link is its own input with its own row limit. Used only in Start URLs mode (Auto picks it when you fill this).",
            "items": {
              "type": "string"
            }
          },
          "restaurantUrl": {
            "title": "Restaurant URL",
            "pattern": "^https?://([A-Za-z0-9-]+\\.)*foodpanda\\.(sg|hk|my|ph|pk|la|com\\.tw|com\\.bd|com\\.kh|com\\.mm)/.*restaurant/.+",
            "type": "string",
            "description": "Full Foodpanda restaurant page link. Select Restaurant reviews for reviews, or enable Include menu items for separate menu-item rows in restaurant mode."
          },
          "vendorCode": {
            "title": "Vendor code",
            "type": "string",
            "description": "Restaurant code: the short id after /restaurant/ in a Foodpanda link, e.g. fqow. Use instead of a restaurant URL."
          },
          "vendorSlug": {
            "title": "Vendor slug",
            "type": "string",
            "description": "Optional restaurant name part of the link (after the code). Only used with a vendor code."
          },
          "chainName": {
            "title": "Chain name filter",
            "type": "string",
            "description": "Chain name or part of a name, such as Pizza Hut. Uses the selected city and cuisine; omitted values use the market's sample city and pizza."
          },
          "citySlug": {
            "title": "City slug",
            "type": "string",
            "description": "City slug as in the Foodpanda city page link, e.g. singapore, hong-kong, kuala-lumpur, taichung-city, manila. With a cuisine slug: that cuisine in the city; alone: all restaurants in the city."
          },
          "cuisineSlug": {
            "title": "Cuisine slug",
            "type": "string",
            "description": "Cuisine slug, e.g. pizza, sushi, burger. Needs a city slug."
          },
          "maxResults": {
            "title": "Max results per input",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Most rows for each cuisine, city, restaurant, review profile, chain, or start URL. Default 70; larger numbers are collected in parts of 70. Restaurants, menu items, reviews, and discovery rows count together. The whole run stops at your maximum total charge. Free Apify plan: up to 200 rows per run and 10 runs of this Actor.",
            "default": 70
          },
          "includeMenuItems": {
            "title": "Include menu items",
            "type": "boolean",
            "description": "Deliver each menu item as a separate rowType=menuItem row. Restaurant and menu-item rows share maxResults and are billed at the same per-row price.",
            "default": false
          },
          "maxMenuItemsPerRestaurant": {
            "title": "Max menu items per restaurant",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum menu-item rows from each restaurant. Set 0 to omit menu items; these rows still share the maxResults limit.",
            "default": 20
          },
          "includeToppings": {
            "title": "Include topping identifiers",
            "type": "boolean",
            "description": "Retain available topping identifiers on menu variations when menu items are included.",
            "default": true
          },
          "enrichMenus": {
            "title": "Include menus from listings",
            "type": "boolean",
            "description": "Request menus for listing restaurants when Include menu items is also enabled. Max restaurants to enrich limits how many listing restaurants can supply menu items.",
            "default": false
          },
          "maxEnrich": {
            "title": "Max restaurants to enrich",
            "minimum": 0,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum listing restaurants to enrich when menu collection is enabled.",
            "default": 5
          },
          "loadMoreRounds": {
            "title": "Additional listing rounds",
            "minimum": 0,
            "maximum": 20,
            "type": "integer",
            "description": "Additional listing expansion rounds for cuisine, chain or shop searches. More rounds can find additional rows but do not raise maxResults.",
            "default": 0
          },
          "lang": {
            "title": "Language path prefix",
            "type": "string",
            "description": "Optional page-language path prefix. Leave empty unless needed; forcing /en/ can fail in Hong Kong.",
            "default": ""
          },
          "locale": {
            "title": "Locale (alias of market)",
            "type": "string",
            "description": "Compatibility alias for the market code. Prefer Market for new inputs."
          },
          "cursor": {
            "title": "Continuation cursor",
            "type": "object",
            "description": "Continuation value from nextCursor in a previous run summary. Leave empty for a new request."
          },
          "proxyCountry": {
            "title": "Advanced country setting",
            "type": "string",
            "description": "Leave empty unless support asks you to set a country code. The Actor selects a country for the chosen market."
          },
          "workerBaseUrl": {
            "title": "Developer test setting",
            "type": "string",
            "description": "Leave empty. Used only by the developer for testing."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}