Google Maps Competitor Analyzer avatar
Google Maps Competitor Analyzer

Pricing

$29.00 / 1,000 results

Go to Store
Google Maps Competitor Analyzer

Google Maps Competitor Analyzer

Developed by

Brian Pyatt

Brian Pyatt

Maintained by Community

Find competitors near any business location using Google Maps. Enter addresses, Place IDs, or coordinates to discover nearby businesses with ratings, reviews, and rankings. Perfect for market research, site selection, and competitive analysis. Supports bulk locations and custom search terms

0.0 (0)

Pricing

$29.00 / 1,000 results

0

Total users

5

Monthly users

5

Runs succeeded

11%

Last modified

18 hours ago

You can access the Google Maps Competitor Analyzer 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 Integrations settings in Apify Console.

{
"openapi": "3.0.1",
"info": {
"version": "1.7",
"x-build-id": "ufrklnlryPtkWaWb6"
},
"servers": [
{
"url": "https://api.apify.com/v2"
}
],
"paths": {
"/acts/spotcircuit~google-maps-competitor-analyzer/run-sync-get-dataset-items": {
"post": {
"operationId": "run-sync-get-dataset-items-spotcircuit-google-maps-competitor-analyzer",
"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/spotcircuit~google-maps-competitor-analyzer/runs": {
"post": {
"operationId": "runs-sync-spotcircuit-google-maps-competitor-analyzer",
"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/spotcircuit~google-maps-competitor-analyzer/run-sync": {
"post": {
"operationId": "run-sync-spotcircuit-google-maps-competitor-analyzer",
"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",
"required": [
"searchQuery"
],
"properties": {
"inputMethod": {
"title": "📝 Input Method",
"enum": [
"structured",
"bulk"
],
"type": "string",
"description": "Choose how you want to enter your locations",
"default": "structured"
},
"searchQuery": {
"title": "🔎 Search Category",
"type": "string",
"description": "🏪 What type of businesses are you looking for? Be specific for best results! Examples: \"medical spa\", \"mexican restaurant\", \"coffee shop\", \"dentist\", \"gym\", \"hair salon\"",
"default": "medical spa"
},
"city": {
"title": "🏙️ City",
"type": "string",
"description": "Enter the city name (e.g., Seattle, Los Angeles, New York)"
},
"state": {
"title": "📍 State",
"pattern": "^[A-Z]{2}$",
"maxLength": 2,
"type": "string",
"description": "Enter the 2-letter state code (e.g., WA, CA, NY)"
},
"zipCode": {
"title": "📮 ZIP Code",
"pattern": "^\\d{5}$",
"maxLength": 5,
"type": "string",
"description": "Enter the 5-digit ZIP code (optional)"
},
"businessName": {
"title": "🏢 Your Business Name",
"type": "string",
"description": "Optional: Enter your business name to identify it in the results"
},
"bulkLocations": {
"title": "📋 Bulk Location Input",
"type": "string",
"description": "Paste multiple locations, one per line. Supported formats:\n\n✅ **Full addresses**: 123 Main St, Seattle, WA 98101\n✅ **City, State**: Seattle, WA\n✅ **ZIP codes**: 98101\n✅ **Place IDs**: ChIJ2eUgeAK6j4ARbn5u_wAGqWA\n✅ **Coordinates**: 47.6062,-122.3321\n✅ **With business names**: 123 Main St, Seattle, WA | My Business\n\n💡 Tip: Use pipe (|) to separate address from business name"
},
"locations": {
"title": "📍 Advanced Location Input",
"type": "array",
"description": "For power users: Enter locations with full control over format",
"items": {
"type": "object",
"required": [
"key",
"value"
],
"properties": {
"key": {
"type": "string",
"title": "Key"
},
"value": {
"type": "string",
"title": "Value"
}
}
}
},
"maxCompetitors": {
"title": "📊 Maximum Competitors per Location",
"minimum": 1,
"maximum": 30,
"type": "integer",
"description": "🎯 How many nearby competitors do you want to analyze? Google Maps typically shows 20-30 businesses in a search area. More competitors = more comprehensive analysis!",
"default": 30
},
"verbose": {
"title": "🔧 Debug Mode",
"type": "boolean",
"description": "🐛 Enable detailed logging to troubleshoot issues. This shows exactly how the scraper parses each business listing - useful if you're getting unexpected results!",
"default": false
},
"proxyConfiguration": {
"title": "🌐 Proxy Settings",
"type": "object",
"description": "🛡️ Use residential proxies to avoid rate limits and blocks. Highly recommended when analyzing multiple locations or running frequently!"
}
}
},
"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
}
}
}
}
}
}
}
}
}
}

Google Maps Competitor Finder - Business Location Analyzer OpenAPI definition

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 Competitor Analyzer 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: