{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Maps Scraper-  Advanced Filters Unlocked🌍",
    "description": "🗺️ Extract Google Maps data:📍 Name, address, coordinates, website ⭐ Rating, review count 🕒 Opening hours, status 💰 Price level 🍽️ Cuisine types, services 📸 Photos, videos 💬 Customer reviews 🎯 Categories, amenities 🚗 Parking info 🌐 Works worldwide! Get 1000+ results with auto-expansion 🚀",
    "version": "1.0",
    "x-build-id": "UPm7ZY34CLqmK7zXO"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapearchitect~google-maps-scraper-advanced-filters-unlocked/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapearchitect-google-maps-scraper-advanced-filters-unlocked",
        "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/scrapearchitect~google-maps-scraper-advanced-filters-unlocked/runs": {
      "post": {
        "operationId": "runs-sync-scrapearchitect-google-maps-scraper-advanced-filters-unlocked",
        "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/scrapearchitect~google-maps-scraper-advanced-filters-unlocked/run-sync": {
      "post": {
        "operationId": "run-sync-scrapearchitect-google-maps-scraper-advanced-filters-unlocked",
        "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": [
          "searchMode"
        ],
        "properties": {
          "searchMode": {
            "title": "🔍 Search Mode",
            "enum": [
              "keyword",
              "urls",
              "both"
            ],
            "type": "string",
            "description": "How to search: keyword (e.g., 'restaurant in New York'), URLs (direct Google Maps links), or both",
            "default": "keyword"
          },
          "keyword": {
            "title": "🔑 Search Keyword",
            "type": "string",
            "description": "What to search for: 'restaurant', 'coffee shop', 'hotel', 'gym', 'hospital', etc. Results will be filtered to match this keyword in name/category"
          },
          "urls": {
            "title": "🌐 Google Maps URLs",
            "type": "array",
            "description": "Direct Google Maps URLs to scrape (e.g., https://www.google.com/maps/search/restaurant+dhaka). Add multiple URLs!",
            "items": {
              "type": "object"
            }
          },
          "location": {
            "title": "📍 Location (for keywords)",
            "type": "string",
            "description": "Where to search: 'New York', 'Tokyo', 'London', 'Dhaka', etc. Can auto-expand to neighborhoods!"
          },
          "country": {
            "title": "🌍 Country Filter",
            "enum": [
              "auto",
              "US",
              "GB",
              "CA",
              "AU",
              "DE",
              "FR",
              "ES",
              "IT",
              "NL",
              "BD",
              "IN",
              "PK",
              "JP",
              "CN",
              "BR",
              "MX",
              "AR",
              "ZA",
              "NG",
              "EG",
              "SA",
              "AE",
              "SG",
              "MY",
              "TH",
              "ID",
              "PH",
              "VN",
              "KR",
              "TR",
              "RU",
              "UA",
              "PL",
              "CZ",
              "SE",
              "NO",
              "DK",
              "FI",
              "IE",
              "NZ"
            ],
            "type": "string",
            "description": "Filter results by specific country. Auto-detects if not specified.",
            "default": "auto"
          },
          "cities": {
            "title": "🏙️ Specific Cities",
            "type": "array",
            "description": "Search only in these cities (e.g., 'Dhaka', 'New York', 'London'). Leave empty to search entire location",
            "items": {
              "type": "string"
            }
          },
          "autoExpand": {
            "title": "🚀 Auto-Expand to Neighborhoods",
            "type": "boolean",
            "description": "Automatically expand city to multiple neighborhoods (get 1000+ results instead of 100!)",
            "default": true
          },
          "targetResults": {
            "title": "🎯 Target Total Results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Target number of total results to collect (1-10000). Scraper stops when reached",
            "default": 30
          },
          "maxResultsPerArea": {
            "title": "📊 Max Results per Area",
            "minimum": 1,
            "maximum": 120,
            "type": "integer",
            "description": "Maximum results to collect per neighborhood/area (1-120). Google Maps limit is ~120",
            "default": 20
          },
          "detailMode": {
            "title": "📋 Detail Mode",
            "enum": [
              "fast",
              "detailed"
            ],
            "type": "string",
            "description": "💡 Activate DETAILED MODE ('detailed') to extract business emails, phone numbers, website contact data, reviews, photos, and operating hours! FAST MODE ('fast') extracts basic info only (name, address, rating) for maximum speed.",
            "default": "fast"
          },
          "minRating": {
            "title": "⭐ Minimum Rating",
            "minimum": 1,
            "maximum": 5,
            "type": "number",
            "description": "Minimum Google rating (1.0-5.0). Only return places with rating >= this value"
          },
          "maxRating": {
            "title": "⭐ Maximum Rating",
            "minimum": 1,
            "maximum": 5,
            "type": "number",
            "description": "Maximum Google rating (1.0-5.0)"
          },
          "minReviews": {
            "title": "💬 Minimum Review Count",
            "minimum": 0,
            "type": "integer",
            "description": "Minimum number of reviews. Filter out places with few reviews"
          },
          "maxReviews": {
            "title": "💬 Maximum Review Count",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of reviews"
          },
          "mustHaveReviews": {
            "title": "💬 Must Have Reviews",
            "type": "boolean",
            "description": "Only include places that have at least 1 review",
            "default": false
          },
          "openNow": {
            "title": "🕒 Open Now Only",
            "type": "boolean",
            "description": "Only include places currently open",
            "default": false
          },
          "mustHaveWebsite": {
            "title": "🌐 Must Have Website",
            "type": "boolean",
            "description": "Only include places with a website URL",
            "default": false
          },
          "placeTypes": {
            "title": "🏢 Place Types Filter",
            "type": "array",
            "description": "Filter by Google Maps place types (e.g., 'restaurant', 'cafe', 'hotel', 'store')",
            "items": {
              "type": "string"
            }
          },
          "excludeKeywords": {
            "title": "🚫 Exclude Keywords",
            "type": "array",
            "description": "Exclude places with these words in name (e.g., 'closed', 'permanently')",
            "items": {
              "type": "string"
            }
          },
          "includeKeywords": {
            "title": "✅ Must Include Keywords",
            "type": "array",
            "description": "Place name MUST contain at least one of these words",
            "items": {
              "type": "string"
            }
          },
          "priceLevel": {
            "title": "💰 Price Level",
            "uniqueItems": true,
            "type": "array",
            "description": "Filter by price level (1=cheap, 4=expensive). Can select multiple levels",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4"
              ]
            }
          },
          "maxConcurrency": {
            "title": "⚡ Max Concurrency",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "Number of parallel requests (1-10). Higher = faster but may trigger blocks",
            "default": 3
          },
          "requestDelay": {
            "title": "⏱️ Request Delay (seconds)",
            "minimum": 0,
            "maximum": 10,
            "type": "number",
            "description": "Delay between requests in seconds (0-10). Higher = slower but safer",
            "default": 2
          },
          "maxRetries": {
            "title": "🔄 Max Retries",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Number of retry attempts for failed requests",
            "default": 3
          },
          "sortBy": {
            "title": "📊 Sort Results By",
            "enum": [
              "relevance",
              "rating_desc",
              "rating_asc",
              "reviews_desc",
              "reviews_asc",
              "name_asc",
              "name_desc"
            ],
            "type": "string",
            "description": "How to sort final results",
            "default": "relevance"
          },
          "deduplication": {
            "title": "🔄 Deduplication",
            "enum": [
              "place_id",
              "name_address",
              "title_only",
              "none"
            ],
            "type": "string",
            "description": "How to remove duplicate places",
            "default": "place_id"
          },
          "includeRawData": {
            "title": "🔧 Include Raw HTML",
            "type": "boolean",
            "description": "Include raw HTML data from Google Maps (for debugging)",
            "default": false
          },
          "verbose": {
            "title": "📝 Verbose Logging",
            "type": "boolean",
            "description": "Enable detailed logging for debugging",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}