{
  "openapi": "3.0.1",
  "info": {
    "title": "Yelp Advanced Data Scraper",
    "description": "Search Yelp by keyword and location, or paste filtered search URLs, and get a full record per business: rating, reviews, phone, website, hours, amenities, popular dishes, health scores and Q&A. Filter by price, sort and language. Built for market research.",
    "version": "1.0",
    "x-build-id": "agwW0OBE2DCAWf97u"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/delicious_zebu~yelp-advanced-data-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-delicious_zebu-yelp-advanced-data-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/delicious_zebu~yelp-advanced-data-scraper/runs": {
      "post": {
        "operationId": "runs-sync-delicious_zebu-yelp-advanced-data-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/delicious_zebu~yelp-advanced-data-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-delicious_zebu-yelp-advanced-data-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": {
          "keywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "What to search for, like in Yelp's \"Find\" box (e.g. pizza, plumbers, dentist). One per line.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Where to search, like in Yelp's \"Near\" box (e.g. New York, NY or Houston, TX). One per line.",
            "items": {
              "type": "string"
            }
          },
          "languages": {
            "title": "Yelp site / language",
            "enum": [
              "Bahasa Malaysia (Malaysia)",
              "Čeština (Česká republika)",
              "Dansk (Danmark)",
              "Deutsch (Deutschland)",
              "Deutsch (Österreich)",
              "Deutsch (Schweiz)",
              "English (Australia)",
              "English (Belgium)",
              "English (Canada)",
              "English (Hong Kong)",
              "English (Malaysia)",
              "English (New Zealand)",
              "English (Philippines)",
              "English (Republic of Ireland)",
              "English (Singapore)",
              "English (Switzerland)",
              "English (United Kingdom)",
              "English (United States)",
              "Español (Argentina)",
              "Español (Chile)",
              "Español (España)",
              "Español (México)",
              "Filipino (Pilipinas)",
              "Français (Belgique)",
              "Français (Canada)",
              "Français (France)",
              "Français (Suisse)",
              "Italiano (Italia)",
              "Italiano (Svizzera)",
              "Nederlands (België)",
              "Nederlands (Nederland)",
              "Norsk (Norge)",
              "Polski (Polska)",
              "Português (Brasil)",
              "Português (Portugal)",
              "Suomi (Suomi)",
              "Svenska (Finland)",
              "Svenska (Sverige)",
              "Türkçe (Türkiye)",
              "日本語 (日本)",
              "繁體中文 (台灣)",
              "繁體中文 (香港)"
            ],
            "type": "string",
            "description": "Which Yelp site to search, e.g. \"Deutsch (Deutschland)\" searches yelp.de and returns German pages. Search URLs in Option 2 keep their own site.",
            "default": "English (United States)"
          },
          "sort": {
            "title": "Sort by",
            "enum": [
              "Recommended",
              "Highest Rated",
              "Most Reviewed"
            ],
            "type": "string",
            "description": "Same as the \"Sort\" menu on Yelp search results. For search URLs in Option 2, pick the sort on Yelp before copying the URL.",
            "default": "Recommended"
          },
          "price": {
            "title": "Price",
            "type": "array",
            "description": "Same as the \"Price\" filter on Yelp search results. Pick one or more levels, or leave empty for all prices. For search URLs in Option 2, set it on Yelp before copying the URL.",
            "items": {
              "type": "string",
              "enum": [
                "$",
                "$$",
                "$$$",
                "$$$$"
              ],
              "enumTitles": [
                "$",
                "$$",
                "$$$",
                "$$$$"
              ]
            },
            "default": []
          },
          "urls": {
            "title": "Yelp search URLs",
            "type": "array",
            "description": "Apply any filters you need on Yelp (open now, outdoor seating, good for kids, neighborhoods...), then copy the search results URL from your browser, e.g. https://www.yelp.com/search?find_desc=pizza&find_loc=New+York&attrs=OutdoorSeating",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max results per search",
            "minimum": 1,
            "type": "integer",
            "description": "How many businesses to save for each keyword + location (or each URL). If a business can't be scraped, the next one in the results is taken instead. Leave empty for 50. Yelp shows at most 240 results per search; for more, split your search into smaller areas or more keywords."
          },
          "include_ads": {
            "title": "Include sponsored results",
            "type": "boolean",
            "description": "Also scrape the businesses Yelp marks as \"Sponsored\". They fill the places left after the regular results. Each business is saved only once per run, even if it shows up several times.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}