Google Maps Business Leads Scraper
Pricing
from $3.99 / 1,000 results
Google Maps Business Leads Scraper
Bounded extraction of source-backed public Google Maps business details; stops at login, CAPTCHA, and traffic boundaries.
Google Maps Business Leads Scraper
Pricing
from $3.99 / 1,000 results
Bounded extraction of source-backed public Google Maps business details; stops at login, CAPTCHA, and traffic boundaries.
You can access the Google Maps Business Leads 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": "Q3ovPzNW3BbhkseHD" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/googleapi~google-maps-business-leads-scraper/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-googleapi-google-maps-business-leads-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-leads-scraper/runs": { "post": { "operationId": "runs-sync-googleapi-google-maps-business-leads-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-leads-scraper/run-sync": { "post": { "operationId": "run-sync-googleapi-google-maps-business-leads-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": { "searchStringsArray": { "title": "Search queries", "maxItems": 50, "type": "array", "description": "One or more public Google Maps business searches. If no query or Maps URL is supplied, the runtime uses its built-in Technology companies search.", "items": { "type": "string", "minLength": 3, "maxLength": 200 } }, "queries": { "title": "Queries (API alias)", "maxItems": 50, "type": "array", "description": "API alias for searchStringsArray.", "items": { "type": "string", "minLength": 3, "maxLength": 200 } }, "searchQuery": { "title": "Single query (API alias)", "maxLength": 200, "type": "string", "description": "Single-query API alias for searchStringsArray." }, "startUrls": { "title": "Public Maps URLs", "maxItems": 25, "type": "array", "description": "Public Google Maps search or place URLs. Only Maps URLs on Google domains are accepted.", "items": { "type": "object", "properties": { "url": { "title": "Public URL", "description": "HTTPS Google Maps search or place URL.", "type": "string" } }, "required": [ "url" ], "additionalProperties": false } }, "urls": { "title": "Maps URLs (API alias)", "maxItems": 25, "type": "array", "description": "String-list API alias for startUrls.", "items": { "type": "string" } }, "locationQuery": { "title": "Location suffix", "maxLength": 200, "type": "string", "description": "Optional location appended to each generated search." }, "maxItems": { "title": "Maximum businesses", "minimum": 1, "maximum": 100, "type": "integer", "description": "Global maximum number of business records to return.", "default": 25 }, "maxCrawledPlacesPerSearch": { "title": "Maximum businesses (legacy alias)", "minimum": 1, "maximum": 100, "type": "integer", "description": "API compatibility alias for maxItems." }, "maxPages": { "title": "Maximum result batches", "minimum": 1, "maximum": 25, "type": "integer", "description": "Maximum rendered result batches per source.", "default": 3 }, "page": { "title": "Starting result page", "minimum": 1, "maximum": 100, "type": "integer", "description": "One-based starting page for generated search URLs (10-result offset).", "default": 1 }, "deduplicate": { "title": "Deduplicate businesses", "type": "boolean", "description": "Deduplicate returned businesses by public place identity.", "default": true }, "minRating": { "title": "Minimum rating", "minimum": 1, "maximum": 5, "type": "number", "description": "Optional minimum public Maps rating." }, "minReviews": { "title": "Minimum review count", "minimum": 0, "maximum": 10000000, "type": "integer", "description": "Optional minimum public review count." }, "categoryFilter": { "title": "Category filter", "maxLength": 200, "type": "string", "description": "Optional case-insensitive substring filter on the visible primary category." }, "includeMedia": { "title": "Include business photos", "type": "boolean", "description": "Include visible public photo URLs when present.", "default": true }, "includeDetails": { "title": "Enrich with public business details", "type": "boolean", "description": "When enabled, visit up to maxDetailItems public Maps profiles and read visible hours, About-tab business attributes, aggregate review summary/topics, menu highlights, price-report counts, rating breakdowns, and profile links. Off by default.", "default": false }, "maxDetailItems": { "title": "Maximum profiles to enrich", "minimum": 0, "maximum": 25, "type": "integer", "description": "Maximum number of result profiles to visit when includeDetails is enabled; set to 0 to disable profile visits.", "default": 10 }, "renderJavaScript": { "title": "Render JavaScript", "type": "boolean", "description": "Use regular Puppeteer rendering for public Maps pages. Stops on access challenges and does not attempt to solve or bypass them.", "default": true }, "useBrowser": { "title": "Use browser (legacy alias)", "type": "boolean", "description": "API compatibility alias for renderJavaScript." }, "requestDelayMs": { "title": "Delay between batches (ms)", "minimum": 0, "maximum": 10000, "type": "integer", "description": "Bounded delay between ordinary page batches.", "default": 750 }, "maxRequestRetries": { "title": "Network retries", "minimum": 0, "maximum": 3, "type": "integer", "description": "Retries for transient transport failures only. Access challenges and HTTP error responses are not retried.", "default": 1 }, "requestTimeoutSecs": { "title": "Request timeout (seconds)", "minimum": 10, "maximum": 180, "type": "integer", "description": "Navigation or request timeout.", "default": 60 }, "requestTimeoutMs": { "title": "Request timeout in milliseconds (API alias)", "minimum": 10000, "maximum": 180000, "type": "integer", "description": "Millisecond alias for requestTimeoutSecs." }, "maxResponseBytes": { "title": "Maximum response bytes", "minimum": 10000, "maximum": 20000000, "type": "integer", "description": "Maximum HTML response size when JavaScript rendering is disabled.", "default": 5000000 }, "browserWaitMs": { "title": "Browser settle delay (ms)", "minimum": 0, "maximum": 15000, "type": "integer", "description": "Bounded wait for the public Maps result view to render.", "default": 1500 }, "proxyConfiguration": { "title": "Proxy configuration", "type": "object", "description": "Optional Apify Proxy configuration for Puppeteer rendering. It is unsupported when renderJavaScript is false. The Actor still stops when a public access boundary is returned." }, "locale": { "title": "Locale", "maxLength": 16, "type": "string", "description": "Short locale such as en or en-US." }, "language": { "title": "Language (legacy alias)", "maxLength": 16, "type": "string", "description": "API compatibility alias for locale." }, "includeWebsiteEnrichment": { "title": "Enrich from the business website", "type": "boolean", "description": "Fetch one public website page per selected Maps business. Organization/menu data stays website-scoped; branch facts require exact Maps feature identity.", "default": false }, "maxWebsiteEnrichmentItems": { "title": "Maximum website enrichment items", "minimum": 0, "maximum": 25, "type": "integer", "description": "Maximum selected business websites to fetch. Each request has an 8-second timeout, 1.5 MB HTML bound and at most three DNS-validated redirects.", "default": 2 } } }, "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 Leads 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: