{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Maps Local SEO Scraper",
    "description": "Google Maps Local SEO Scraper helps agencies, marketers, and lead generation teams extract public Google Maps business data for local SEO, competitor analysis, and local lead discovery. It  turn Google Maps results into structured business intelligence you can export, filter, and market research.",
    "version": "0.4",
    "x-build-id": "6Zmr2mzPhQfaQXemq"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shahabuddin38~Google-Maps-Local-SEO-Scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shahabuddin38-Google-Maps-Local-SEO-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/shahabuddin38~Google-Maps-Local-SEO-Scraper/runs": {
      "post": {
        "operationId": "runs-sync-shahabuddin38-Google-Maps-Local-SEO-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/shahabuddin38~Google-Maps-Local-SEO-Scraper/run-sync": {
      "post": {
        "operationId": "run-sync-shahabuddin38-Google-Maps-Local-SEO-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",
        "required": [
          "query"
        ],
        "properties": {
          "query": {
            "title": "Primary search query",
            "minLength": 1,
            "type": "string",
            "description": "Enter the core keyword or business type to search in Google Maps, such as <code>dentist</code>, <code>plumber</code>, <code>coffee shop</code>, or <code>real estate agent</code>."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Add a city, state, region, or service area to localize the results. Example: <code>Chicago, IL</code>, <code>Toronto</code>, or <code>Dubai Marina</code>.",
            "default": "Chicago, IL"
          },
          "businessName": {
            "title": "Target business name",
            "type": "string",
            "description": "Optionally enter a business you want to benchmark. The Actor will try to match it against the scraped results and use it for competitor and ranking analysis."
          },
          "keywords": {
            "title": "Tracked keywords",
            "maxItems": 8,
            "uniqueItems": true,
            "type": "array",
            "description": "Optional extra keywords for local rank checks. You can choose suggested examples or enter your own custom keywords.",
            "items": {
              "type": "string",
              "enumSuggestedValues": [
                "emergency dentist",
                "family dentist",
                "cosmetic dentist",
                "dentist near me",
                "best dentist"
              ]
            }
          },
          "country": {
            "title": "Country code",
            "pattern": "^[a-z]{2,5}$",
            "minLength": 2,
            "maxLength": 5,
            "type": "string",
            "description": "Two-letter country code used for Google market targeting. You can select a common market or type your own custom code.",
            "default": "us"
          },
          "language": {
            "title": "Language code",
            "pattern": "^[a-z]{2,5}$",
            "minLength": 2,
            "maxLength": 5,
            "type": "string",
            "description": "Language code used in the Google request. Keep <code>en</code> for most English-language searches, or switch to the local market language when needed.",
            "default": "en"
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 3,
            "maximum": 20,
            "type": "integer",
            "description": "How many Google Maps results to extract from the public results page. A value of <code>10</code> is a strong default for quick local SEO audits.",
            "default": 10
          },
          "includeBusinessEnrichment": {
            "title": "Include business enrichment",
            "type": "boolean",
            "description": "Turn on public-data enrichment for website, phone, citations, photo availability, and coordinate signals when available.",
            "default": true
          },
          "includeKeywordGeoRankings": {
            "title": "Include keyword geo rankings",
            "type": "boolean",
            "description": "Run additional Google Maps searches for the tracked keywords and check whether the target business appears in those local results.",
            "default": true
          },
          "useGoogleSerpProxy": {
            "title": "Use Apify Google SERP proxy",
            "type": "boolean",
            "description": "Use the Apify <code>GOOGLE_SERP</code> proxy group for Google requests when available, with direct-request fallback if unavailable. This is recommended for more stable Google scraping on Apify.",
            "default": true
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}