{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Maps Data Scraper",
    "description": "Scrape Google Maps business listings at scale — names, addresses, phones, websites, ratings, reviews, popular times, price, categories, coordinates & 48 fields. Search by keyword + location, paste Maps URLs, or look up a Place ID. Fast, browserless, no ~120-result limit.",
    "version": "1.0",
    "x-build-id": "af6h7mgYfyGkCbgLd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/delicious_zebu~google-maps-data-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-delicious_zebu-google-maps-data-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/delicious_zebu~google-maps-data-scraper/runs": {
      "post": {
        "operationId": "runs-sync-delicious_zebu-google-maps-data-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/delicious_zebu~google-maps-data-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-delicious_zebu-google-maps-data-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",
        "properties": {
          "keywords": {
            "title": "Search keywords",
            "uniqueItems": true,
            "type": "array",
            "description": "Enter what to search for on Google Maps, e.g. <code>restaurants</code>, <code>coffee shops</code>, <code>dentists</code>. Put the area in the Location field below — not in the keyword. Each keyword is searched separately (the **Max result pages** limit applies to each keyword on its own). To fetch one specific place by its Google Place ID instead, enter it with a <code>place_id:</code> prefix — for example <code>place_id:ChIJvx7i_BlawokRidb5WfdvqRM</code> ([this one opens Eataly in New York](https://www.google.com/maps/place/?q=place_id:ChIJvx7i_BlawokRidb5WfdvqRM)). You can look up any Place ID with [Google's Place ID Finder](https://developers.google.com/maps/documentation/places/web-service/place-id).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "The city or area to search within, e.g. <code>New York City</code>. A specific city gives better results than a broad region (e.g. 'United States'). Results are kept within this location's real boundary.",
            "default": "New York City"
          },
          "urls": {
            "title": "Google Maps URLs",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional. Paste Google Maps URLs — handy when you already have a map view or a place open in your browser. Two kinds work: a **search URL** scrapes all of its results — e.g. [maps/search/restaurants/@40.71,-74.00,12z](https://www.google.com/maps/search/restaurants/@40.7127281,-74.0060152,12z) — and the **Max result pages** limit applies to each such URL on its own; a **single place's URL** or a <code>?cid=...</code> URL returns just that one place — e.g. [a place URL](https://www.google.com/maps/place/Eataly/data=!4m5!3m4!1s0x89c25a19fce21ebf:0x13a96ff759f9d689) or [maps.google.com/?cid=…](https://maps.google.com/?cid=1416786665941882505). Can be used together with, or instead of, keywords.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "language": {
            "title": "Language",
            "enum": [
              "English (United States)",
              "Afrikaans",
              "azərbaycan",
              "Bahasa Indonesia",
              "Bahasa Melayu",
              "bosanski",
              "català",
              "Čeština",
              "Dansk",
              "Deutsch (Deutschland)",
              "eesti",
              "Español (España)",
              "Español (Latinoamérica)",
              "euskara",
              "Filipino",
              "Français (France)",
              "galego",
              "Hrvatski",
              "isiZulu",
              "íslenska",
              "Italiano",
              "Kiswahili",
              "latviešu",
              "lietuvių",
              "magyar",
              "Nederlands",
              "norsk",
              "oʻzbekcha",
              "polski",
              "Português (Brasil)",
              "Português (Portugal)",
              "română",
              "shqip",
              "Slovenčina",
              "slovenščina",
              "Suomi",
              "Svenska",
              "Tiếng Việt",
              "Türkçe",
              "Ελληνικά",
              "български",
              "кыргызча",
              "қазақ тілі",
              "македонски",
              "монгол",
              "Русский",
              "српски (ћирилица)",
              "Українська",
              "ქართული",
              "հայերեն",
              "עברית",
              "اردو",
              "العربية",
              "فارسی",
              "አማርኛ",
              "नेपाली",
              "हिन्दी",
              "मराठी",
              "বাংলা",
              "ਪੰਜਾਬੀ",
              "ગુજરાતી",
              "தமிழ்",
              "తెలుగు",
              "ಕನ್ನಡ",
              "മലയാളം",
              "සිංහල",
              "ไทย",
              "ລາວ",
              "ဗမာ",
              "ខ្មែរ",
              "한국어",
              "日本語",
              "简体中文",
              "繁體中文"
            ],
            "type": "string",
            "description": "Language of the returned Google Maps data (place names, categories, addresses).",
            "default": "English (United States)"
          },
          "maxCrawlPages": {
            "title": "Max result pages",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum number of result pages to collect — each page is about 20 places (so 10 ≈ 200 places, 50 ≈ 1,000). This limit applies to <b>each keyword and each URL separately</b>, not to the whole run — e.g. 3 keywords at 10 pages can return up to ~600 places. Higher values collect more but take longer and cost more.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}