Google Maps Questions & Answers Scraper
Pricing
from $3.99 / 1,000 results
Google Maps Questions & Answers Scraper
Collect source-visible questions and answers with rich public Google Maps place context.
Google Maps Questions & Answers Scraper
Pricing
from $3.99 / 1,000 results
Collect source-visible questions and answers with rich public Google Maps place context.
You can access the Google Maps Questions & Answers Scraper programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "1.1", "x-build-id": "cC3Bi8O1uXMUydeoe" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/googleapi~google-maps-questions-answers-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-googleapi-google-maps-questions-answers-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/googleapi~google-maps-questions-answers-scraper/runs": { "post": { "operationId": "runs-sync-googleapi-google-maps-questions-answers-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/googleapi~google-maps-questions-answers-scraper/run-sync": { "post": { "operationId": "run-sync-googleapi-google-maps-questions-answers-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 or search URLs", "type": "array", "description": "Public HTTPS Google Maps place pages are recommended. Search URLs are accepted when they expose a single place and its Q&A in page source. Provide one URL for each place to inspect.", "items": { "type": "object", "properties": { "url": { "title": "Google Maps URL", "description": "Public HTTPS Google Maps place or search page URL.", "type": "string" } }, "additionalProperties": false, "required": [ "url" ] } }, "queries": { "title": "Search queries", "type": "array", "description": "Optional public Google Maps search phrases. Direct place URLs are more reliable for Q&A extraction.", "items": { "type": "string", "minLength": 1, "maxLength": 300 } }, "keyword": { "title": "Single search phrase", "maxLength": 300, "type": "string", "description": "Used to build one public Google Maps search when no startUrls or queries are provided." }, "location": { "title": "Search location", "maxLength": 200, "type": "string", "description": "Optional location appended to generated search phrases. It does not override the location encoded in a supplied URL." }, "maxItems": { "title": "Maximum Q&A records", "minimum": 1, "maximum": 500, "type": "integer", "description": "Global maximum number of question records to add to the dataset.", "default": 25 }, "page": { "title": "First source index", "minimum": 1, "maximum": 100, "type": "integer", "description": "One-based starting index in the deduplicated URL/query source list. Google Maps Q&A pages do not expose a stable public pagination cursor to this actor.", "default": 1 }, "maxPages": { "title": "Maximum source pages", "minimum": 1, "maximum": 100, "type": "integer", "description": "Maximum number of supplied or generated source pages to inspect, starting at page. This is a source-page cap, not an invented Q&A pagination offset.", "default": 10 }, "maxQuestionsPerPlace": { "title": "Maximum questions per place", "minimum": 1, "maximum": 100, "type": "integer", "description": "Bounds the number of source-visible questions retained from each place page.", "default": 25 }, "maxAnswersPerQuestion": { "title": "Maximum answers per question", "minimum": 0, "maximum": 50, "type": "integer", "description": "Bounds nested source-visible answers per question. Set to 0 to return null for nested answer details while retaining any source-visible first answer and answer count.", "default": 10 }, "requestTimeoutSecs": { "title": "Request timeout (seconds)", "minimum": 5, "maximum": 120, "type": "integer", "description": "Maximum time for each ordinary public-page request.", "default": 20 }, "maxRequestRetries": { "title": "Maximum request retries", "minimum": 0, "maximum": 3, "type": "integer", "description": "Retries only transient network failures. Access challenges and other access boundaries are not retried.", "default": 1 }, "requestDelayMs": { "title": "Delay between requests (milliseconds)", "minimum": 0, "maximum": 10000, "type": "integer", "description": "Minimum delay before requests to public Google Maps pages.", "default": 250 }, "maxResponseBytes": { "title": "Maximum response size (bytes)", "minimum": 10000, "maximum": 5000000, "type": "integer", "description": "Reject a page response larger than this bounded size.", "default": 2000000 }, "proxyConfiguration": { "title": "Proxy configuration (not used)", "type": "object", "description": "Compatibility field only. This Actor sends ordinary direct requests and ignores proxy settings; configure no proxy for this Actor." } } }, "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Google Maps Questions & Answers Scraper from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: