{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Maps B2B Leads Scraper + Verified Emails ($3/1k)",
    "description": "Scrape Google Maps businesses with phone numbers, websites, social profiles, owner names, and live SMTP-verified work emails. 0% bounce rate guarantee ($3 per 1,000 leads). Save 70%+ vs Apollo & Hunter.",
    "version": "1.0",
    "x-build-id": "bViFybQppP4gC0N29"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/blessiticus~google-maps-leads-scraper-with-emails/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-blessiticus-google-maps-leads-scraper-with-emails",
        "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/blessiticus~google-maps-leads-scraper-with-emails/runs": {
      "post": {
        "operationId": "runs-sync-blessiticus-google-maps-leads-scraper-with-emails",
        "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/blessiticus~google-maps-leads-scraper-with-emails/run-sync": {
      "post": {
        "operationId": "run-sync-blessiticus-google-maps-leads-scraper-with-emails",
        "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": {
          "country": {
            "title": "Target Country",
            "enum": [
              "US",
              "GB",
              "CA",
              "AU",
              "DE",
              "FR",
              "GLOBAL"
            ],
            "type": "string",
            "description": "Select target country. Automatically tunes regional business directories and geolocation.",
            "default": "US"
          },
          "targetCity": {
            "title": "Target City / Metro Area (Dropdown)",
            "enum": [
              "Miami, FL",
              "New York, NY",
              "Los Angeles, CA",
              "Chicago, IL",
              "Houston, TX",
              "Dallas, TX",
              "Austin, TX",
              "Atlanta, GA",
              "Phoenix, AZ",
              "Tampa, FL",
              "San Diego, CA",
              "Denver, CO",
              "Orlando, FL",
              "London, UK",
              "Toronto, ON",
              "Sydney, NSW",
              "CUSTOM"
            ],
            "type": "string",
            "description": "Select your target metropolitan area from top business hubs. The backend automatically expands this into surrounding suburbs and municipalities to 10x your lead count.",
            "default": "Miami, FL"
          },
          "customCity": {
            "title": "Custom City (If 'Other' selected above)",
            "type": "string",
            "description": "Type any custom city, town, or zip code worldwide (e.g. 'Boise, ID', 'Manchester, UK', 'Vancouver, BC'). Leave empty if using the Metro Dropdown above."
          },
          "searchTerms": {
            "title": "Business Category / Niche",
            "type": "array",
            "description": "Business niche or keyword to search (e.g. 'HVAC', 'Plumbers', 'Roofing', 'Dentists', 'Lawyers'). The engine automatically expands it into related industry categories.",
            "items": {
              "type": "string"
            },
            "default": [
              "HVAC contractors"
            ]
          },
          "autoExpandMetro": {
            "title": "⚡ 10x Lead Yield (Auto-Expand Suburbs & Synonyms)",
            "type": "boolean",
            "description": "When enabled (recommended), the backend automatically breaks the target city into surrounding suburbs, municipalities, and keyword variations in the backend to bypass Google's 100-result limit and extract 500-2,000+ leads.",
            "default": true
          },
          "maxPlacesPerSearch": {
            "title": "Max Results Per Search / Total Limit",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of places to collect ($0.003/lead = $3/1k leads). Set to 0 or leave empty for ALL available leads. Free tier trial capped at 100 leads.",
            "default": 100
          },
          "extractContacts": {
            "title": "Extract Contact Info & Socials (Included)",
            "type": "boolean",
            "description": "Automatically crawl the business website to discover emails, phone numbers, social links, and owner/founder names. Included in the base $3/1k lead price (no extra charge).",
            "default": true
          },
          "verifyEmails": {
            "title": "Live SMTP Email Verification (+$0.002 / email)",
            "type": "boolean",
            "description": "Perform real-time SMTP handshakes (250 OK) to guarantee 0% bounce rate (< 1%). Adds +$0.002 per verified deliverable email found ($2 per 1,000 verified emails). You are ONLY charged when an email is successfully found. Toggle OFF if you only want scraped leads without email verification ($3/1k only).",
            "default": true
          },
          "onlyWithWebsite": {
            "title": "Only Keep Places With Websites",
            "type": "boolean",
            "description": "Filter out listings that do not have a business website registered on Google Maps.",
            "default": false
          },
          "onlyWithEmail": {
            "title": "Only Keep Leads With Verified Email",
            "type": "boolean",
            "description": "Save only records where a valid corporate email was successfully discovered and verified. Leads without a verified email are discarded.",
            "default": false
          },
          "startUrls": {
            "title": "Google Maps URLs (Direct Links)",
            "type": "array",
            "description": "Paste direct Google Maps URLs. Supports: 1) Zoom/Coordinate area URLs ('https://www.google.com/maps/search/HVAC/@25.76,-80.19,12z'), 2) Search URLs ('https://www.google.com/maps/search/plumbers+in+miami/'), 3) Single place links ('https://www.google.com/maps/place/...'), 4) Shortlinks ('https://maps.app.goo.gl/...').",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "locations": {
            "title": "Additional Custom Locations (Optional)",
            "type": "array",
            "description": "Leave empty if using Target City above, or enter custom cities/states/zip codes here.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "concurrency": {
            "title": "Website Crawling Concurrency",
            "minimum": 1,
            "maximum": 15,
            "type": "integer",
            "description": "Number of business websites to crawl and verify in parallel.",
            "default": 5
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}