{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Maps Reviews Scraper",
    "description": "Scrape public Google Maps reviews for any place or business. Extract ratings, full review text, dates, reviewer details, photos, owner replies and place metadata from URLs, share links, Place IDs, CIDs, feature IDs, business names or search term + location.",
    "version": "1.0",
    "x-build-id": "ZYha6AGdKa1OzgwB5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/coregent~google-maps-reviews-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-coregent-google-maps-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/coregent~google-maps-reviews-scraper/runs": {
      "post": {
        "operationId": "runs-sync-coregent-google-maps-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/coregent~google-maps-reviews-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-coregent-google-maps-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": {
          "startUrls": {
            "title": "Google Maps place URLs",
            "type": "array",
            "description": "Google Maps place URLs or short share links (maps.app.goo.gl/…). One place per URL. The sample place is ignored automatically when you fill any other place input.",
            "default": [
              {
                "url": "https://www.google.com/maps/place/?q=place_id:ChIJ3S-JXmauEmsRUcIaWtf4MzE"
              }
            ],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "placeIds": {
            "title": "Place IDs",
            "type": "array",
            "description": "Google Place IDs, e.g. ChIJN1t_tDeuEmsRUsoyG83frY4.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "cids": {
            "title": "CIDs",
            "type": "array",
            "description": "Google Maps CIDs (customer IDs) — digits only, e.g. 10281119596374313554.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "featureIds": {
            "title": "Feature IDs",
            "type": "array",
            "description": "Google Maps feature IDs in 0x…:0x… form, e.g. 0x6b12ae665e892fdd:0x3133f8d75a1ac251.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "businessNames": {
            "title": "Business names",
            "type": "array",
            "description": "Business names to look up on Google Maps (combined with Location when set). If a name matches several places, that input returns an AMBIGUOUS_PLACE status instead of guessing.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Discover places by business type, e.g. dentist, plumber, cafe. Requires Location.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Required with Search terms; also narrows Business names. Example: Canberra, ACT, Australia.",
            "default": ""
          },
          "maxPlacesPerSearch": {
            "title": "Max places per search term",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "How many places to take from each search term's results.",
            "default": 10
          },
          "maxReviewsPerPlace": {
            "title": "Max reviews per place",
            "minimum": 1,
            "maximum": 4490,
            "type": "integer",
            "description": "Maximum reviews retrieved per place (before filters), up to 4,490. Common values: 20, 100, 500, 1000, 4490.",
            "default": 100
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "MOST_RELEVANT",
              "NEWEST",
              "HIGHEST_RATING",
              "LOWEST_RATING"
            ],
            "type": "string",
            "description": "Native Google Maps review order. NEWEST lets date filters stop early.",
            "default": "MOST_RELEVANT"
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Interface / translation language code, e.g. en, de, fr. Original review text is always kept in `text`; Google's translation goes to `translatedText`.",
            "default": "en"
          },
          "starRatings": {
            "title": "Star ratings",
            "type": "array",
            "description": "Keep only reviews with these star ratings. Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5"
              ],
              "enumTitles": [
                "1 star",
                "2 stars",
                "3 stars",
                "4 stars",
                "5 stars"
              ]
            },
            "default": []
          },
          "reviewsNewerThan": {
            "title": "Reviews newer than",
            "type": "string",
            "description": "Relative (\"24 hours\", \"7 days\", \"30 days\", \"6 months\") or absolute date (\"2026-09-01\"). Empty = no limit.",
            "default": ""
          },
          "reviewsOlderThan": {
            "title": "Reviews older than",
            "type": "string",
            "description": "Same format as \"Reviews newer than\". Empty = no limit.",
            "default": ""
          },
          "onlyWithText": {
            "title": "Only reviews with text",
            "type": "boolean",
            "description": "Skip star-only reviews.",
            "default": false
          },
          "keyword": {
            "title": "Keyword",
            "type": "string",
            "description": "Keep only reviews containing this text (case-insensitive; matches original or translated text).",
            "default": ""
          },
          "onlyWithOwnerReply": {
            "title": "Only reviews with an owner reply",
            "type": "boolean",
            "description": "Keep only reviews the business owner responded to.",
            "default": false
          },
          "onlyWithPhotos": {
            "title": "Only reviews with photos",
            "type": "boolean",
            "description": "Keep only reviews that include photos or videos.",
            "default": false
          },
          "includePlaceDetails": {
            "title": "Include place details",
            "type": "boolean",
            "description": "Attach the place object (Place ID, CID, feature ID, name, rating, review count, Google Maps URL) to every review row.",
            "default": true
          },
          "includeTranslations": {
            "title": "Include translations",
            "type": "boolean",
            "description": "Fill `translatedText` when Google provides a translation of a foreign-language review.",
            "default": true
          },
          "emitPlaceSummaries": {
            "title": "Add place summary rows",
            "type": "boolean",
            "description": "Add one free place_summary row per place with its status, coverage and counts (also used to report failed places). Never charged.",
            "default": true
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Apify Proxy configuration. Defaults to Apify Datacenter (useApifyProxy: true). Apify Residential is NOT supported and fails the run at startup; for residential routing supply your own provider via Custom proxy URLs (proxyConfiguration.proxyUrls).",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}