{
  "openapi": "3.0.1",
  "info": {
    "title": "Seamless Food Delivery Scraper",
    "description": "Scrape Seamless.com restaurant listings across 30+ US metros. Extracts names, cuisines, ratings, delivery fees, ETAs, addresses, coordinates, offers, and 40+ fields per restaurant.",
    "version": "1.0",
    "x-build-id": "9R6So69At77L3H7Tf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/parseforge~seamless-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-parseforge-seamless-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/parseforge~seamless-scraper/runs": {
      "post": {
        "operationId": "runs-sync-parseforge-seamless-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/parseforge~seamless-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-parseforge-seamless-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": {
          "maxItems": {
            "title": "Max Items",
            "minimum": 1,
            "maximum": 1000000,
            "type": "integer",
            "description": "Maximum number of restaurants to return. Free users: limited to 10 items (preview). Paid users: optional, up to 1,000,000."
          },
          "metros": {
            "title": "Metropolitan markets",
            "uniqueItems": true,
            "type": "array",
            "description": "Pick one or more US metro areas to search. Each metro uses its city-center coordinates to query the Seamless search API. Leave empty if you supply a custom latitude/longitude or specific restaurant URLs.",
            "items": {
              "type": "string",
              "enum": [
                "new-york-ny",
                "brooklyn-ny",
                "queens-ny",
                "bronx-ny",
                "jersey-city-nj",
                "hoboken-nj",
                "newark-nj",
                "boston-ma",
                "cambridge-ma",
                "chicago-il",
                "philadelphia-pa",
                "washington-dc",
                "baltimore-md",
                "miami-fl",
                "atlanta-ga",
                "los-angeles-ca",
                "san-francisco-ca",
                "seattle-wa",
                "denver-co",
                "houston-tx",
                "dallas-tx",
                "austin-tx",
                "minneapolis-mn",
                "detroit-mi",
                "pittsburgh-pa",
                "columbus-oh",
                "orlando-fl",
                "tampa-fl",
                "phoenix-az",
                "san-diego-ca"
              ],
              "enumTitles": [
                "New York, NY",
                "Brooklyn, NY",
                "Queens, NY",
                "Bronx, NY",
                "Jersey City, NJ",
                "Hoboken, NJ",
                "Newark, NJ",
                "Boston, MA",
                "Cambridge, MA",
                "Chicago, IL",
                "Philadelphia, PA",
                "Washington, DC",
                "Baltimore, MD",
                "Miami, FL",
                "Atlanta, GA",
                "Los Angeles, CA",
                "San Francisco, CA",
                "Seattle, WA",
                "Denver, CO",
                "Houston, TX",
                "Dallas, TX",
                "Austin, TX",
                "Minneapolis, MN",
                "Detroit, MI",
                "Pittsburgh, PA",
                "Columbus, OH",
                "Orlando, FL",
                "Tampa, FL",
                "Phoenix, AZ",
                "San Diego, CA"
              ]
            }
          },
          "searchQuery": {
            "title": "Search keyword (optional)",
            "type": "string",
            "description": "Optional free-text search (cuisine, dish, or restaurant name). Leave empty to return all restaurants in the selected metros."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "default",
              "rating",
              "delivery_time",
              "distance",
              "delivery_fee",
              "popular"
            ],
            "type": "string",
            "description": "How to sort the results. Default uses the Seamless featured ranking.",
            "default": "default"
          },
          "orderMethod": {
            "title": "Order method",
            "enum": [
              "delivery",
              "pickup"
            ],
            "type": "string",
            "description": "Whether to query the delivery or pickup listing.",
            "default": "delivery"
          },
          "includeOpenOnly": {
            "title": "Open restaurants only",
            "type": "boolean",
            "description": "If true, restaurants currently marked as closed or unavailable for online ordering are skipped.",
            "default": true
          },
          "latitude": {
            "title": "Custom latitude",
            "type": "number",
            "description": "Optional. Use a custom latitude (decimal degrees, US territory) instead of, or in addition to, the metro picker."
          },
          "longitude": {
            "title": "Custom longitude",
            "type": "number",
            "description": "Optional. Use a custom longitude paired with the latitude above."
          },
          "startUrls": {
            "title": "Restaurant URLs",
            "type": "array",
            "description": "Optional. Specific Seamless restaurant page URLs to scrape directly (e.g. https://www.seamless.com/restaurant/some-restaurant/1234567). Use this to target individual restaurants instead of a metro-wide search.",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings. US residential proxies are required because Seamless blocks non-US traffic.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "US"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}