{
  "openapi": "3.0.1",
  "info": {
    "title": "Foodpanda Restaurant & Menu Scraper | 7 Countries | $4 / 1k",
    "description": "7 countries in one run: PH, SG, MY, TW, HK, PK, BD. Scrape Foodpanda restaurants and full menus with prices. Pick cities from a dropdown, no URL building. Names, ratings, cuisines, addresses, delivery fees and promo prices.",
    "version": "0.0",
    "x-build-id": "nKYeNXYDdoQsqGk0e"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/dmitrii_shifo~foodpanda-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-dmitrii_shifo-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/dmitrii_shifo~foodpanda-scraper/runs": {
      "post": {
        "operationId": "runs-sync-dmitrii_shifo-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/dmitrii_shifo~foodpanda-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-dmitrii_shifo-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": {
          "cities": {
            "title": "Cities",
            "uniqueItems": true,
            "type": "array",
            "description": "Predefined major cities to search. The country for each restaurant is detected automatically from the city you pick, no coordinates needed. Combine with Custom locations in Advanced below if you need more coverage. At least one city or custom location is required.",
            "items": {
              "type": "string",
              "enum": [
                "ph_manila",
                "ph_quezon_city",
                "ph_makati",
                "ph_cebu_city",
                "ph_davao_city",
                "sg_singapore",
                "sg_jurong_east",
                "sg_tampines",
                "my_kuala_lumpur",
                "my_george_town",
                "my_johor_bahru",
                "my_ipoh",
                "my_kota_kinabalu",
                "tw_taipei",
                "tw_kaohsiung",
                "tw_taichung",
                "tw_tainan",
                "hk_central",
                "hk_kowloon",
                "hk_causeway_bay",
                "pk_karachi",
                "pk_lahore",
                "pk_islamabad",
                "pk_rawalpindi",
                "pk_faisalabad",
                "bd_dhaka",
                "bd_chittagong",
                "bd_sylhet",
                "bd_khulna"
              ],
              "enumTitles": [
                "Manila, Philippines",
                "Quezon City, Philippines",
                "Makati, Philippines",
                "Cebu City, Philippines",
                "Davao City, Philippines",
                "Singapore (Central)",
                "Jurong East, Singapore",
                "Tampines, Singapore",
                "Kuala Lumpur, Malaysia",
                "George Town (Penang), Malaysia",
                "Johor Bahru, Malaysia",
                "Ipoh, Malaysia",
                "Kota Kinabalu, Malaysia",
                "Taipei, Taiwan",
                "Kaohsiung, Taiwan",
                "Taichung, Taiwan",
                "Tainan, Taiwan",
                "Central, Hong Kong",
                "Kowloon, Hong Kong",
                "Causeway Bay, Hong Kong",
                "Karachi, Pakistan",
                "Lahore, Pakistan",
                "Islamabad, Pakistan",
                "Rawalpindi, Pakistan",
                "Faisalabad, Pakistan",
                "Dhaka, Bangladesh",
                "Chittagong, Bangladesh",
                "Sylhet, Bangladesh",
                "Khulna, Bangladesh"
              ]
            },
            "default": [
              "ph_manila"
            ]
          },
          "maxRestaurants": {
            "title": "Max restaurants",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Maximum number of restaurants to scrape in total, across all selected cities and custom locations combined. The Actor rotates between your search points and splits this limit between them, it does not exhaust one city before moving to the next. Protects you from unexpectedly large, and costly, runs.",
            "default": 50
          },
          "scrapeMenus": {
            "title": "Scrape menus",
            "type": "boolean",
            "description": "Also fetch the full menu for each restaurant. This makes a second API call per restaurant and is billed as a separate, higher-priced pay-per-event charge. On by default so a first run already returns dishes, not just a restaurant listing; turn off for a faster, cheaper listing-only run.",
            "default": true
          },
          "expeditionType": {
            "title": "Order type",
            "enum": [
              "DELIVERY",
              "PICKUP"
            ],
            "type": "string",
            "description": "Search for restaurants offering delivery or pickup. Most users want Delivery.",
            "default": "DELIVERY"
          },
          "customLocations": {
            "title": "Custom locations",
            "type": "array",
            "description": "Add your own search points, for example to cover more of a large city or a place not in the Cities list. Each entry needs country, latitude and longitude; label is optional and only used to tag the results. At least one city or custom location is required.",
            "items": {
              "type": "object",
              "properties": {
                "country": {
                  "title": "Country",
                  "type": "string",
                  "description": "Country this point is in.",
                  "enum": [
                    "PH",
                    "SG",
                    "MY",
                    "TW",
                    "HK",
                    "PK",
                    "BD"
                  ],
                  "enumTitles": [
                    "Philippines",
                    "Singapore",
                    "Malaysia",
                    "Taiwan",
                    "Hong Kong",
                    "Pakistan",
                    "Bangladesh"
                  ]
                },
                "latitude": {
                  "title": "Latitude",
                  "type": "number",
                  "description": "Latitude of the search point."
                },
                "longitude": {
                  "title": "Longitude",
                  "type": "number",
                  "description": "Longitude of the search point."
                },
                "label": {
                  "title": "Label",
                  "type": "string",
                  "description": "Optional tag copied into the output of restaurants found at this point."
                }
              },
              "required": [
                "country",
                "latitude",
                "longitude"
              ]
            },
            "default": []
          },
          "vendorCodes": {
            "title": "Vendor codes",
            "type": "array",
            "description": "Scrape only these specific restaurants by their Foodpanda vendor code, skipping the city/location listing step entirely. All codes must belong to the same country, set below in Vendor codes country.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "vendorCodesCountry": {
            "title": "Vendor codes country",
            "enum": [
              "PH",
              "SG",
              "MY",
              "TW",
              "HK",
              "PK",
              "BD"
            ],
            "type": "string",
            "description": "Country the codes in Vendor codes belong to. Required only when Vendor codes is used."
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings for the scraper's requests. The Foodpanda GraphQL API is public and normally does not require a proxy; only enable this if you run into rate limiting or IP blocks. Off by default because with pay-per-event pricing, platform proxy costs are deducted from the developer's revenue, not billed to you.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}