Google Maps Business Categories Scraper
Pricing
from $3.99 / 1,000 results
Google Maps Business Categories Scraper
Run bounded public Google Maps page metadata extraction and heuristic signals for Google Maps Business Categories Scraper.
Google Maps Business Categories Scraper
Pricing
from $3.99 / 1,000 results
Run bounded public Google Maps page metadata extraction and heuristic signals for Google Maps Business Categories Scraper.
You can access the Google Maps Business Categories 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": "7d6Hc15EsA8hP2cLE" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/googleapi~google-maps-business-categories-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-googleapi-google-maps-business-categories-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-business-categories-scraper/runs": { "post": { "operationId": "runs-sync-googleapi-google-maps-business-categories-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-business-categories-scraper/run-sync": { "post": { "operationId": "run-sync-googleapi-google-maps-business-categories-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": { "queries": { "title": "Search queries", "maxItems": 50, "type": "array", "description": "Public Google Maps search phrases. Defaults to coffee shops when no query or URL is supplied.", "items": { "type": "string", "minLength": 3, "maxLength": 200 }, "default": [ "coffee shops" ] }, "searchStringsArray": { "title": "Search queries (legacy alias)", "maxItems": 50, "type": "array", "description": "Compatibility alias for queries.", "items": { "type": "string", "minLength": 3, "maxLength": 200 } }, "searchKeywords": { "title": "Search keywords (legacy alias)", "maxItems": 50, "type": "array", "description": "Compatibility alias for queries.", "items": { "type": "string", "minLength": 3, "maxLength": 200 } }, "searchQuery": { "title": "Single search query", "maxLength": 200, "type": "string", "description": "Compatibility alias for one query." }, "startUrls": { "title": "Public Maps URLs", "maxItems": 25, "type": "array", "description": "Public Google Maps search or place URLs. When supplied, these replace generated search URLs.", "items": { "type": "object", "properties": { "url": { "title": "Public URL", "type": "string", "description": "HTTPS Google Maps public search URL or place URL." } }, "required": [ "url" ], "additionalProperties": false } }, "urls": { "title": "Public Maps URLs (legacy alias)", "maxItems": 25, "type": "array", "description": "Compatibility alias for startUrls; accepts public Google Maps search or place URLs.", "items": { "type": "string", "minLength": 1 } }, "locationQuery": { "title": "Location suffix", "maxLength": 200, "type": "string", "description": "Optional location appended to each generated search query." }, "maxItems": { "title": "Maximum businesses", "minimum": 1, "maximum": 100, "type": "integer", "description": "Global maximum number of unique business records across all sources.", "default": 25 }, "maxCrawledPlacesPerSearch": { "title": "Maximum businesses (legacy alias)", "minimum": 1, "maximum": 100, "type": "integer", "description": "Compatibility alias for maxItems." }, "page": { "title": "Starting result batch", "minimum": 1, "maximum": 25, "type": "integer", "description": "One-based rendered Maps result batch to start collecting from. Earlier batches are scrolled past but not emitted.", "default": 1 }, "maxPages": { "title": "Maximum result batches", "minimum": 1, "maximum": 25, "type": "integer", "description": "Maximum rendered result batches per source, starting at page. This is bounded infinite-scroll pagination, not a Google page number.", "default": 3 }, "deduplicate": { "title": "Deduplicate businesses", "type": "boolean", "description": "Remove repeated businesses across result batches and input sources using the public place ID.", "default": true }, "categoryTerms": { "title": "Observed category filter", "maxItems": 50, "type": "array", "description": "Keep records whose visible Google Maps category label contains one of these phrases. Search text is never treated as a category.", "items": { "type": "string", "minLength": 2, "maxLength": 200 } }, "includeDetails": { "title": "Open public business details", "type": "boolean", "description": "Open a bounded number of same-site Google Maps place pages to collect public contact, hours, price, and grouped business attributes. Disabled by default.", "default": false }, "maxDetailItems": { "title": "Maximum detail pages", "minimum": 0, "maximum": 25, "type": "integer", "description": "Maximum number of search-result businesses to open when includeDetails is enabled. Direct place URLs are parsed as the requested target page.", "default": 5 }, "includeMedia": { "title": "Include business photos", "type": "boolean", "description": "Include filtered public Maps photo URLs visible on result cards.", "default": true }, "renderJavaScript": { "title": "Render JavaScript", "type": "boolean", "description": "Use regular headless Chrome rendering for dynamic Google Maps result feeds. Disable only when the public HTTP response contains the requested page data.", "default": true }, "useBrowser": { "title": "Use browser (legacy alias)", "type": "boolean", "description": "Compatibility alias for renderJavaScript. If both are supplied they must agree." }, "requestDelayMs": { "title": "Delay between page actions (ms)", "minimum": 0, "maximum": 10000, "type": "integer", "description": "Bounded pause between result batches and detail-page navigations.", "default": 750 }, "maxRequestRetries": { "title": "Static HTTP retries", "minimum": 0, "maximum": 3, "type": "integer", "description": "Maximum retries for direct HTTP requests when browser rendering is disabled.", "default": 1 }, "requestTimeoutSecs": { "title": "Navigation timeout (seconds)", "minimum": 10, "maximum": 180, "type": "integer", "description": "Maximum duration for each public page navigation or HTTP request.", "default": 60 }, "requestTimeoutMs": { "title": "Navigation timeout (milliseconds alias)", "minimum": 10000, "maximum": 180000, "type": "integer", "description": "Compatibility alias for requestTimeoutSecs. If both are supplied they must agree." }, "maxResponseBytes": { "title": "Maximum static response bytes", "minimum": 10000, "maximum": 20000000, "type": "integer", "description": "Maximum HTML body size considered in direct HTTP mode.", "default": 5000000 }, "browserWaitMs": { "title": "Browser settle wait (ms)", "minimum": 0, "maximum": 15000, "type": "integer", "description": "Bounded wait after navigation and public page interactions before extraction.", "default": 1500 }, "proxyConfiguration": { "title": "Proxy configuration", "type": "object", "description": "Optional Apify Proxy configuration used by the rendered browser. It is not supported in direct HTTP mode." }, "userAgent": { "title": "User agent", "maxLength": 256, "type": "string", "description": "Optional ordinary browser/HTTP user agent. No stealth settings or fingerprint evasion are applied." }, "locale": { "title": "Locale", "maxLength": 20, "type": "string", "description": "Short locale such as en or en-US, passed as an ordinary Accept-Language preference." }, "language": { "title": "Language (legacy alias)", "maxLength": 20, "type": "string", "description": "Compatibility alias for locale. If both are supplied they must agree." } } }, "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 Business Categories 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: