{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Maps Reviews Scraper",
    "description": "Scrape all Google Maps reviews using keywords, place URLs, or IDs. Filter by date, rating, or keyword, and capture reviewer details, translations, photos, aspect ratings, owner replies, and complete business info in structured format",
    "version": "0.7",
    "x-build-id": "vJTMcnpztGJcnfmJB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/web_wanderer~google-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-web_wanderer-google-reviews-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/web_wanderer~google-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-web_wanderer-google-reviews-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/web_wanderer~google-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-web_wanderer-google-reviews-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": {
          "include_personal": {
            "title": "Personal information",
            "type": "boolean",
            "description": "If enabled, the actor will include personal information about the reviewer, such as name, user ID, and profile URL.",
            "default": false
          },
          "place_urls": {
            "title": "Google Maps Place URLs",
            "uniqueItems": false,
            "type": "array",
            "description": "Google Maps place URLs to scrape (e.g., `https://www.google.com/maps/place/Gate+City+Coffee/@42.8721827,-112.5145324,13z/...`).",
            "items": {
              "type": "string"
            }
          },
          "place_ids": {
            "title": "Place IDs",
            "uniqueItems": true,
            "type": "array",
            "description": "Google Place IDs (`place_fid`) to scrape (e.g., `ChIJoTXWl8dbwokRpKA2BJFVsGA`).",
            "items": {
              "type": "string"
            }
          },
          "anyDate": {
            "title": "Scrape reviews newer than",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$|^(\\d+)\\s*(day|week|month|year)s?$",
            "type": "string",
            "description": "Select date in format YYYY-MM-DD or {number} {unit}"
          },
          "lang": {
            "title": "Translate to",
            "type": "string",
            "description": "Set the language in which reviews should be returned. It will include both the original language and the specified target language.",
            "default": "en"
          },
          "filter_stars": {
            "title": "Filter by star rating",
            "type": "array",
            "description": "Select one or more star ratings to filter reviews. When enabled, the sort order is automatically set to 'Newest' to maximize the chance of finding all matching reviews for each selected star rating.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            }
          },
          "limit": {
            "title": "Number of reviews",
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of reviews to scrape per place.",
            "default": 200
          },
          "order": {
            "title": "Sort reviews by",
            "enum": [
              "most_relevant",
              "newest",
              "highest_rating",
              "lowest_rating"
            ],
            "type": "string",
            "description": "Set the order of the reviews",
            "default": "most_relevant"
          },
          "source": {
            "title": "Reviews source",
            "enum": [
              "all",
              "google",
              "tripadvisor",
              "trip_com",
              "priceline",
              "zenhotels"
            ],
            "type": "string",
            "description": "Select the source of the reviews. Choose 'All' to scrape from all available sources, or specify 'Googles' for Google reviews only.",
            "default": "all"
          },
          "searchKeyword": {
            "title": "Filter reviews by keyword",
            "type": "string",
            "description": "This filter looks for keywords used in reviews, e.g `good`, `bad` etc",
            "default": ""
          },
          "search": {
            "title": "Search queries & Google maps URLs",
            "type": "array",
            "description": "Provide one or more search queries (e.g., 'restaurants') or Google Maps search URLs. URLs must include the `maps/search` path to be valid.",
            "items": {
              "type": "string"
            }
          },
          "search_limit": {
            "title": "Page limit per search",
            "maximum": 10000,
            "type": "integer",
            "description": "Set the maximum number of search result pages to process per query or URL. Each page typically contains up to 40 places.",
            "default": 1
          },
          "search_location": {
            "title": "Search location",
            "type": "string",
            "description": "Specify a location to search within, such as a city name (e.g., `Paris`, `Berlin`, `New York`). Useful for general queries like 'restaurants' without geographic context.",
            "default": "New York"
          },
          "search_coordination": {
            "title": "Search coordinates",
            "type": "string",
            "description": "Specify a geographic coordinate in the format `<longitude>,<latitude>` (e.g., `2.3522,48.8566` for Paris). This allows for precise location targeting when used with general queries.",
            "default": ""
          },
          "sort_dataset": {
            "title": "Enable custom dataset sorting",
            "type": "boolean",
            "description": "If enabled, after scraping completes, all reviews are read from the default dataset, sorted by the specified keys, and pushed to a separate named dataset. The default dataset remains unchanged.",
            "default": false
          },
          "sort_keys": {
            "title": "Sort by fields",
            "type": "array",
            "description": "Dataset fields to sort reviews by, in order of priority. All keys share the same sort direction.",
            "items": {
              "type": "string",
              "enum": [
                "reviewed_at_date",
                "rating",
                "likes_count",
                "review_position",
                "place_name",
                "place_rating",
                "place_reviews_count",
                "reviewer_reviews_count",
                "reviewer_photos_count",
                "reviewed_at",
                "visited_in",
                "content",
                "review_id",
                "scraped_at",
                "reviewer_name"
              ],
              "enumTitles": [
                "Review date (ISO)",
                "Rating (1-5)",
                "Likes count",
                "Review position",
                "Place name",
                "Place rating",
                "Place reviews count",
                "Reviewer reviews count",
                "Reviewer photos count",
                "Reviewed at (relative)",
                "Visited in",
                "Review content",
                "Review ID",
                "Scraped at",
                "Reviewer name"
              ]
            },
            "default": [
              "reviewed_at_date"
            ]
          },
          "sort_order": {
            "title": "Sort direction",
            "enum": [
              "asc",
              "desc"
            ],
            "type": "string",
            "description": "Sort direction applied to all sort keys.",
            "default": "desc"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}