{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Maps Scraper",
    "description": "Quickly extract data from thousands of locations. Scrape Google Maps using keywords, categories, coordinates or GeoJSON polygons. Collect rich business data including addresses, contacts, opening hours, ratings, and more. Export results in multiple formats, run via API and integrate seamlessly.",
    "version": "0.0",
    "x-build-id": "kjJkhG9JfKqqTgB8e"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/poidata~google-maps-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-poidata-google-maps-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/poidata~google-maps-scraper/runs": {
      "post": {
        "operationId": "runs-sync-poidata-google-maps-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/poidata~google-maps-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-poidata-google-maps-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": [
          "term"
        ],
        "properties": {
          "term": {
            "title": "👉 Search Term",
            "maxItems": 50,
            "type": "array",
            "description": "The term or search terms to look for (e.g. restaurant, cafe, dentist, etc). Must be 25 characters or less.",
            "default": [
              "Restaurant"
            ],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "🌍 Location",
            "maxLength": 50,
            "type": "string",
            "description": "The location to search in (e.g. New York, Paris). Must be 50 characters or less.",
            "default": "New York, USA"
          },
          "language": {
            "title": "🔠 Language",
            "enum": [
              "en",
              "es",
              "fr",
              "de",
              "it",
              "pt-BR",
              "pt-PT",
              "nl",
              "pl",
              "ru",
              "ja",
              "ko",
              "zh-CN",
              "zh-TW",
              "ar",
              "hi",
              "tr",
              "vi",
              "id",
              "th",
              "sv",
              "no",
              "fi",
              "da",
              "cs"
            ],
            "type": "string",
            "description": "Language for search results",
            "default": "en"
          },
          "country": {
            "title": "Country Context",
            "enum": [
              "us",
              "gb",
              "ca",
              "au",
              "fr",
              "de",
              "it",
              "es",
              "jp",
              "in",
              "br",
              "mx",
              "ar",
              "cn",
              "ru",
              "za",
              "sg",
              "ae",
              "nl",
              "ch",
              "se",
              "dk",
              "no",
              "fi",
              "nz"
            ],
            "type": "string",
            "description": "Country context for search results",
            "default": "us"
          },
          "total": {
            "title": "🔢 Total Results",
            "minimum": 20,
            "maximum": 300,
            "type": "integer",
            "description": "Up to 300 results per term, max 4,500 for 50 terms. Actual count depends on your run budget (max cost per run / Apify credits).",
            "default": 20
          },
          "coordinateSection": {
            "title": "Scrape with Geo-coordinates",
            "type": "string",
            "description": "Scrape with geo-coordinates"
          },
          "latitude": {
            "title": "Latitude",
            "type": "string",
            "description": "Latitude of the location (optional if location is provided)."
          },
          "longitude": {
            "title": "Longitude",
            "type": "string",
            "description": "Longitude of the location (optional if location is provided)."
          },
          "polygon": {
            "title": "Polygon",
            "type": "string",
            "description": "Polygon of the location (optional if location is provided)."
          },
          "radius": {
            "title": "Radius",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Set radius to scrape around the geocoordinate location.",
            "default": 1
          },
          "totalAroundCoordinate": {
            "title": "Total Results Around Coordinate",
            "minimum": 20,
            "maximum": 100000,
            "type": "integer",
            "description": "Set total results to scrape around the geocoordinate location per term. Actual count depends on your run budget (max cost per run / Apify credits).",
            "default": 20
          },
          "advanceOptionSection": {
            "title": "⚙️ Filters",
            "type": "string",
            "description": "Filters"
          },
          "min_rating": {
            "title": "Minimum Rating",
            "pattern": "^(?:[0-4](?:\\.\\d+)?|5(?:\\.0+)?)$",
            "type": "string",
            "description": "Minimum star rating (0–5, decimals allowed)",
            "default": "0"
          },
          "min_reviews": {
            "title": "Minimum Reviews",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of reviews",
            "default": 0
          },
          "min_photos": {
            "title": "Minimum Photos",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of photos",
            "default": 0
          },
          "name_filter": {
            "title": "Business Name Filter",
            "type": "string",
            "description": "Filter businesses by name (case-insensitive substring match)"
          },
          "categories_filter": {
            "title": "Multiple Categories Filter",
            "type": "array",
            "description": "Filter businesses by category (comma-separated, case-insensitive)",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}