Google Maps Area Scanner
Pricing
from $1.99 / 1,000 search results
Google Maps Area Scanner
Scan a bounded radius with overlapping Google Maps search cells and deduplicate public places.
Google Maps Area Scanner
Pricing
from $1.99 / 1,000 search results
Scan a bounded radius with overlapping Google Maps search cells and deduplicate public places.
You can access the Google Maps Area Scanner 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": "2.0", "x-build-id": "MhzG5RBG9W48ig3vf" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/searchapi~google-maps-area-scanner/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-searchapi-google-maps-area-scanner", "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/searchapi~google-maps-area-scanner/runs": { "post": { "operationId": "runs-sync-searchapi-google-maps-area-scanner", "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/searchapi~google-maps-area-scanner/run-sync": { "post": { "operationId": "run-sync-searchapi-google-maps-area-scanner", "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": { "query": { "title": "Search query", "minLength": 1, "maxLength": 200, "type": "string", "description": "Place category or keyword to search in every scan cell.", "default": "coffee shops" }, "queries": { "title": "Search queries", "minItems": 1, "maxItems": 10, "type": "array", "description": "Optional batch; takes precedence over query.", "items": { "type": "string", "minLength": 1, "maxLength": 200 } }, "location": { "title": "Location", "minLength": 1, "maxLength": 200, "type": "string", "description": "City, neighborhood, address, or region used when coordinates are omitted.", "default": "Times Square, New York" }, "latitude": { "title": "Center latitude", "minimum": -85, "maximum": 85, "type": "number", "description": "Optional precise center latitude; provide longitude too." }, "longitude": { "title": "Center longitude", "minimum": -180, "maximum": 180, "type": "number", "description": "Optional precise center longitude; provide latitude too." }, "radiusMeters": { "title": "Radius", "minimum": 100, "maximum": 100000, "type": "integer", "description": "Circular scan radius in meters; coordinate mode filters places to this radius.", "default": 2000 }, "cellSpacingMeters": { "title": "Cell spacing", "minimum": 100, "maximum": 50000, "type": "integer", "description": "Distance between overlapping scan centers.", "default": 1500 }, "maxScanPoints": { "title": "Maximum scan points", "minimum": 1, "maximum": 25, "type": "integer", "description": "Hard number of grid cells per query.", "default": 9 }, "zoom": { "title": "Zoom override", "minimum": 3, "maximum": 21, "type": "number", "description": "Optional Google Maps zoom; otherwise derived from cell spacing." }, "maxItems": { "title": "Maximum records", "minimum": 1, "maximum": 1000, "type": "integer", "description": "Global hard limit across all queries and scan cells.", "default": 50 }, "maxItemsPerScan": { "title": "Maximum records per scan", "minimum": 1, "maximum": 100, "type": "integer", "description": "Hard candidate limit for each query/cell request.", "default": 10 }, "minRating": { "title": "Minimum rating", "minimum": 0, "maximum": 5, "type": "number", "description": "Optional minimum source-backed rating." }, "closedPlaces": { "title": "Closed places", "enum": [ "all", "skipClosed", "onlyClosed" ], "type": "string", "description": "Include all, skip closed, or return only closed places.", "default": "all" }, "maxScrollRounds": { "title": "Maximum scroll rounds", "minimum": 0, "maximum": 20, "type": "integer", "description": "Maximum result-feed scrolls per scan request.", "default": 3 }, "language": { "title": "Language", "pattern": "^[a-z]{2,3}(?:-[A-Z]{2})?$", "type": "string", "description": "Google Maps interface language.", "default": "en" }, "country": { "title": "Google country", "pattern": "^[A-Za-z]{2}$", "type": "string", "description": "Two-letter result-localization country code.", "default": "US" }, "maxConcurrency": { "title": "Maximum concurrency", "minimum": 1, "maximum": 3, "type": "integer", "description": "Simultaneous scan requests; global writes remain serialized.", "default": 1 }, "maxRequestRetries": { "title": "Maximum retries", "minimum": 0, "maximum": 8, "type": "integer", "description": "Bounded temporary browser/network retries.", "default": 2 }, "navigationTimeoutSecs": { "title": "Navigation timeout", "minimum": 10, "maximum": 180, "type": "integer", "description": "Maximum navigation seconds per scan.", "default": 60 }, "requestHandlerTimeoutSecs": { "title": "Handler timeout", "minimum": 30, "maximum": 600, "type": "integer", "description": "Maximum handler seconds per scan.", "default": 180 }, "responseBodyTimeoutSecs": { "title": "Response-body timeout", "minimum": 1, "maximum": 30, "type": "integer", "description": "Maximum seconds to read one intercepted Maps response.", "default": 5 }, "useApifyProxy": { "title": "Use Apify Proxy", "type": "boolean", "description": "Route traffic through authorized Apify Proxy resources.", "default": false }, "proxyGroups": { "title": "Apify Proxy groups", "maxItems": 10, "type": "array", "description": "Optional authorized Apify Proxy groups.", "items": { "type": "string", "minLength": 1 } }, "proxyCountryCode": { "title": "Proxy country", "pattern": "^[A-Za-z]{2}$", "type": "string", "description": "Optional two-letter proxy country code." }, "proxyUrls": { "title": "Custom proxy URLs", "maxItems": 20, "type": "array", "description": "Credentials are never logged or stored.", "items": { "type": "string", "minLength": 1 } }, "proxySessionId": { "title": "Proxy session ID", "pattern": "^(?:[\\w._~]+)?$", "maxLength": 50, "type": "string", "description": "Optional stable authorized proxy session." }, "searchStringsArray": { "title": "Legacy queries", "type": "array", "description": "Backward-compatible alias for queries.", "items": { "type": "string" } }, "locationQuery": { "title": "Legacy location", "type": "string", "description": "Backward-compatible alias for location." }, "lat": { "title": "Legacy latitude", "type": "string", "description": "Backward-compatible numeric-string latitude." }, "lng": { "title": "Legacy longitude", "type": "string", "description": "Backward-compatible numeric-string longitude." }, "radius": { "title": "Legacy radius", "minimum": 100, "maximum": 100000, "type": "integer", "description": "Backward-compatible alias for radiusMeters." }, "maxCrawledPlacesPerSearch": { "title": "Legacy per-scan limit", "minimum": 1, "maximum": 100, "type": "integer", "description": "Backward-compatible alias for maxItemsPerScan." }, "placeMinimumStars": { "title": "Legacy minimum rating", "type": "string", "description": "Backward-compatible minimum rating string." }, "closedPlacesFilter": { "title": "Legacy closed filter", "enum": [ "all", "skipClosed", "onlyClosed" ], "type": "string", "description": "Backward-compatible closed-place filter." }, "proxyConfiguration": { "title": "Legacy proxy configuration", "type": "object", "description": "Backward-compatible Apify proxy-editor input." } } }, "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 } } }, "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 } } } } } } } } }}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 Area Scanner 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: