Google Maps Scraper & Business Intelligence
Pricing
from $2.00 / 1,000 business results
Go to Apify Store
Google Maps Scraper & Business Intelligence
Find businesses, enrich public company data and track Google Maps changes.
Google Maps Scraper & Business Intelligence
Pricing
from $2.00 / 1,000 business results
Find businesses, enrich public company data and track Google Maps changes.
You can access the Google Maps Scraper & Business Intelligence 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.0", "x-build-id": "9uzggyQParUdYFR9e" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/akatra~google-maps-business-intelligence/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-akatra-google-maps-business-intelligence", "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/akatra~google-maps-business-intelligence/runs": { "post": { "operationId": "runs-sync-akatra-google-maps-business-intelligence", "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/akatra~google-maps-business-intelligence/run-sync": { "post": { "operationId": "run-sync-akatra-google-maps-business-intelligence", "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": { "searchQueries": { "title": "Search queries", "type": "array", "description": "What to search on Google Maps, one per line, e.g. \"dentists\", \"software companies\", \"fruit wholesaler\". Each query runs with the location below.", "items": { "type": "string" } }, "location": { "title": "Location", "type": "string", "description": "City, region or address the queries run in, e.g. \"London, United Kingdom\" or \"Antalya, Türkiye\". Add the country: a bare \"Berlin\" can also match Berlin in the USA." }, "countryCode": { "title": "Country", "pattern": "^[A-Za-z]{2}$", "type": "string", "description": "Two-letter country code Google Maps uses for the search (US, GB, DE, TR ...). It localises results and phone formats.", "default": "US" }, "language": { "title": "Language", "pattern": "^[A-Za-z]{2,3}(-[A-Za-z]{2,4})?$", "type": "string", "description": "Language of categories, addresses and opening hours (en, de, tr, pt-br ...).", "default": "en" }, "maxResultsPerQuery": { "title": "Max businesses per query", "minimum": 1, "maximum": 1000, "type": "integer", "description": "One Google Maps search ends after about 240 businesses. For more, use coordinates with a radius (area search).", "default": 100 }, "startUrls": { "title": "Google Maps links", "type": "array", "description": "Optional. Track known businesses by Google Maps link: google.com/maps/place/..., maps.google.com/?cid=..., maps.app.goo.gl/... or a place ID as https://www.google.com/maps/place/?q=place_id:ChIJ... Links on other domains are rejected.", "items": { "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string", "title": "URL of a web page", "format": "uri" } } } }, "includeContactEnrichment": { "title": "Find company email and social profiles", "type": "boolean", "description": "Read the business's own website (a few same-domain pages: home, contact, about) for the fields below that Google Maps does not show. Only role-based company emails and company profiles; never personal data.", "default": false }, "requiredFields": { "title": "Fields to complete", "uniqueItems": true, "type": "array", "description": "Only these fields are researched, and only when Google Maps does not already provide them.", "items": { "type": "string", "enum": [ "businessEmail", "linkedinCompany", "instagram", "facebook", "x", "youtube" ], "enumTitles": [ "Business email (role-based, e.g. info@)", "LinkedIn company page", "Instagram", "Facebook", "X (Twitter)", "YouTube" ] }, "default": [ "businessEmail" ] }, "monitorKey": { "title": "Monitor key", "type": "string", "description": "Name of a tracking job, e.g. \"london-dentists-weekly\". Runs with the same key are compared: the first run stores a baseline, later runs report rating, review count, phone, website, hours, status, address and name changes." }, "onlyChanged": { "title": "Only changed businesses", "type": "boolean", "description": "With a monitor key: after the first run, write only new, changed, removed or returned businesses. Unchanged ones are not written and not charged.", "default": false }, "coordinates": { "title": "Coordinates (optional)", "type": "object", "description": "Center of the search instead of a location name, e.g. {\"latitude\": 51.5072, \"longitude\": -0.1276}." }, "radiusKm": { "title": "Radius (km)", "minimum": 0.5, "maximum": 50, "type": "number", "description": "With coordinates: search the circle cell by cell (at most 64 cells) to go past the ~240 results of a single search. Duplicates are removed." } } }, "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 Scraper & Business Intelligence 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: