{
  "openapi": "3.0.1",
  "info": {
    "title": "Yelp Scraper: Businesses, Reviews, Menus - No Login",
    "description": "Get Yelp business profiles, phones, websites, hours, photos, menus and reviews from a search or link. Track new reviews over time. No login or API key.",
    "version": "0.1",
    "x-build-id": "AQReZskfFOWCFdcXQ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cliqtomedia~yelp-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cliqtomedia-yelp-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/cliqtomedia~yelp-scraper/runs": {
      "post": {
        "operationId": "runs-sync-cliqtomedia-yelp-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/cliqtomedia~yelp-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-cliqtomedia-yelp-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": "What to collect",
            "enum": [
              "search",
              "business",
              "reviews"
            ],
            "type": "string",
            "description": "Search for businesses, look up business profiles, or collect full reviews.",
            "default": "search"
          },
          "query": {
            "title": "Search query",
            "type": "string",
            "description": "A business category, keyword, or name, such as coffee or Tartine Bakery. Find businesses needs this or More search queries, plus a location."
          },
          "location": {
            "title": "Search location",
            "type": "string",
            "description": "City, address, neighborhood, or ZIP code, such as San Francisco or 94103. Find businesses needs this or More search locations."
          },
          "businessUrls": {
            "title": "Business URLs or aliases",
            "type": "array",
            "description": "Yelp business page URLs or business aliases. Regional Yelp URLs are accepted.",
            "items": {
              "type": "string"
            }
          },
          "businessIds": {
            "title": "Business IDs",
            "type": "array",
            "description": "Encoded Yelp IDs, such as WavvLdfdP6g8aZTtbBQHTw. Useful for reviews without a profile lookup.",
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "More search queries",
            "type": "array",
            "description": "Run each query in each location. Overrides Search query when supplied.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "More search locations",
            "type": "array",
            "description": "Run searches in each location. Overrides Search location when supplied.",
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Maximum results",
            "minimum": 1,
            "type": "integer",
            "description": "Total business and review rows to save across the whole run.",
            "default": 10
          },
          "maxBusinessesPerSearch": {
            "title": "Businesses per search",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum unique businesses to process for each query and location.",
            "default": 240
          },
          "searchSort": {
            "title": "Search order",
            "enum": [
              "recommended",
              "rating",
              "review_count",
              "distance"
            ],
            "type": "string",
            "description": "Order chosen by Yelp for search results.",
            "default": "recommended"
          },
          "category": {
            "title": "Category alias",
            "type": "string",
            "description": "Optional Yelp category alias, such as coffee or restaurants.",
            "default": ""
          },
          "priceLevels": {
            "title": "Price levels",
            "type": "array",
            "description": "Match one or more price levels: 1 is $, 4 is $$$$.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4"
              ]
            }
          },
          "features": {
            "title": "Business features",
            "type": "array",
            "description": "Optional Yelp feature aliases, such as DogsAllowed or WiFi.free.",
            "items": {
              "type": "string"
            }
          },
          "openNow": {
            "title": "Open now",
            "type": "boolean",
            "description": "Keep only businesses open now. A business whose Yelp profile says closed is dropped and costs one detail page.",
            "default": false
          },
          "includeAds": {
            "title": "Include sponsored results",
            "type": "boolean",
            "description": "Include sponsored businesses as well as organic search results.",
            "default": false
          },
          "includeReviews": {
            "title": "Also collect reviews",
            "type": "boolean",
            "description": "Save separate review rows after each business profile. Both row types count toward Maximum results.",
            "default": false
          },
          "maxReviewsPerBusiness": {
            "title": "Reviews per business",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum matching reviews to save for each business.",
            "default": 100
          },
          "reviewsSort": {
            "title": "Review order",
            "enum": [
              "recommended",
              "newest",
              "oldest",
              "rating_desc",
              "rating_asc",
              "elites"
            ],
            "type": "string",
            "description": "Order of the review feed.",
            "default": "newest"
          },
          "ratings": {
            "title": "Review ratings",
            "type": "array",
            "description": "Keep selected star ratings. Leave empty for all ratings.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ]
            }
          },
          "language": {
            "title": "Review language",
            "type": "string",
            "description": "Review language code, such as en or fr. Leave empty for all available languages.",
            "default": "en"
          },
          "keywords": {
            "title": "Review keywords",
            "type": "array",
            "description": "Save reviews containing at least one of these words or phrases.",
            "items": {
              "type": "string"
            }
          },
          "dateFrom": {
            "title": "Reviews from",
            "type": "string",
            "description": "Inclusive date YYYY-MM-DD or relative period such as 30 days or 2 months.",
            "default": ""
          },
          "dateTo": {
            "title": "Reviews through",
            "type": "string",
            "description": "Inclusive final date YYYY-MM-DD.",
            "default": ""
          },
          "translateTo": {
            "title": "Translate reviews to",
            "type": "string",
            "description": "Optional language code. Adds Yelp-translated text in translatedText; text keeps the original review.",
            "default": ""
          },
          "includeReviewerDetails": {
            "title": "Public reviewer details",
            "type": "boolean",
            "description": "Include public reviewer display name, profile link, review count, and Elite year. No private contacts are collected.",
            "default": false
          },
          "maxPhotos": {
            "title": "Photos per business",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum business photos. The first 25 are available in the profile; larger values load additional pages.",
            "default": 20
          },
          "maxQuestions": {
            "title": "Questions per business",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum community questions. Up to 2 includes the top-answer preview. Larger values load question and answer pages.",
            "default": 2
          },
          "includeMenu": {
            "title": "Menu and popular dishes",
            "type": "boolean",
            "description": "Include the structured menu and prices where Yelp publishes one, plus popular dishes and the profile menu link.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new results",
            "type": "boolean",
            "description": "Skip business or review IDs saved in earlier runs using the same State name. Changed existing IDs are skipped too.",
            "default": false
          },
          "stateName": {
            "title": "State name",
            "type": "string",
            "description": "Name of an Apify key-value store for Only new results. Use a different name for unrelated jobs."
          },
          "deliveryConnector": {
            "title": "Send results to (optional)",
            "type": "string",
            "description": "Your Slack, Notion or other MCP connector. After the run the Actor posts a short summary there. Connect services once in Apify Console → MCP connectors."
          },
          "deliveryTarget": {
            "title": "Notion page or channel (optional)",
            "type": "string",
            "description": "Where to post the summary: a Notion page link (each run is added on top of that page) or a Slack channel ID. Leave empty to let the connector decide."
          },
          "searchUrls": {
            "title": "Yelp search URLs",
            "type": "array",
            "description": "Optional Yelp /search URLs with filters. These replace Search query and Search location; pagination starts at the first page.",
            "items": {
              "type": "string"
            }
          },
          "minRating": {
            "title": "Minimum business rating",
            "minimum": 0,
            "maximum": 5,
            "type": "number",
            "description": "Keep businesses with at least this average star rating. Does not filter individual reviews.",
            "default": 0
          },
          "minReviews": {
            "title": "Minimum business review count",
            "minimum": 0,
            "type": "integer",
            "description": "Keep businesses with at least this many recommended reviews.",
            "default": 0
          },
          "onlyWithWebsite": {
            "title": "Businesses with a website",
            "type": "boolean",
            "description": "Keep only profiles that publish a business website URL.",
            "default": false
          },
          "reviewType": {
            "title": "Review list",
            "enum": [
              "recommended",
              "not_recommended",
              "removed"
            ],
            "type": "string",
            "description": "Recommended reviews, reviews Yelp does not currently recommend (lowest stars first), or reviews marked removed but still publicly visible on Yelp. Sorting, language, and translation apply only to the recommended list.",
            "default": "recommended"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}