{
  "openapi": "3.0.1",
  "info": {
    "title": "Google Maps Leads & Email Finder API",
    "description": "Extract local business leads from Google Maps with emails, phones, websites, ratings, reviews, addresses, and social links. Perfect for cold outreach, local SEO prospecting, agency lead generation, and sales research. Export clean lead data in JSON or CSV format.",
    "version": "0.8",
    "x-build-id": "A4XdIpyaVQhNlcnrY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/shahabuddin38~Google-Maps-Lead-Finder-API-with-SEO-Audit/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-shahabuddin38-Google-Maps-Lead-Finder-API-with-SEO-Audit",
        "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-Lead-Finder-API-with-SEO-Audit/runs": {
      "post": {
        "operationId": "runs-sync-shahabuddin38-Google-Maps-Lead-Finder-API-with-SEO-Audit",
        "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-Lead-Finder-API-with-SEO-Audit/run-sync": {
      "post": {
        "operationId": "run-sync-shahabuddin38-Google-Maps-Lead-Finder-API-with-SEO-Audit",
        "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": {
          "keyword": {
            "title": "Business Keyword",
            "type": "string",
            "description": "Business type, service, or niche to search on Google Maps. Use a specific local category such as dentist, plumber, roofing contractor, or coffee shop."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Target search area for Google Maps results. Enter a city, city and state, region, or country, for example Dallas, TX or London, UK."
          },
          "maxResults": {
            "title": "Maximum Leads",
            "minimum": 10,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of deduplicated business leads to save to the dataset. Higher values can increase run time and website enrichment costs.",
            "default": 100
          },
          "language": {
            "title": "Language",
            "type": "string",
            "description": "Language code used as a hint for Google Maps pages and search results, such as en, es, fr, or de.",
            "default": "en"
          },
          "includeClosed": {
            "title": "Include Closed Businesses",
            "type": "boolean",
            "description": "When enabled, keep businesses that Google Maps marks as temporarily or permanently closed. Leave disabled for active outreach lists.",
            "default": false
          },
          "includeEmailDiscovery": {
            "title": "Find Emails",
            "type": "boolean",
            "description": "When enabled, visit each business website to find publicly visible email addresses from homepage, contact, and about pages.",
            "default": true
          },
          "emailScanDepth": {
            "title": "Email Scan Depth",
            "minimum": 1,
            "maximum": 3,
            "type": "integer",
            "description": "How many pages to scan on each website for emails. Use 1 for homepage only, 2 for homepage plus one contact/about page, or 3 for deeper contact-page discovery.",
            "default": 1
          },
          "maxWebsitesToEnrich": {
            "title": "Maximum Websites To Enrich",
            "minimum": 0,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum number of business websites to visit for email and social discovery. Use this to control run time when maxResults is high.",
            "default": 25
          },
          "includeSocialLinks": {
            "title": "Find Social Links",
            "type": "boolean",
            "description": "When enabled, collect visible Facebook, Instagram, LinkedIn, Twitter/X, and YouTube links from business websites.",
            "default": true
          },
          "emailMxCheck": {
            "title": "Verify Email Domains",
            "type": "boolean",
            "description": "When enabled, check discovered email domains for MX records before keeping them. This can improve email quality but may increase processing time.",
            "default": false
          },
          "dedupeBy": {
            "title": "Dedupe Leads By",
            "enum": [
              "placeId",
              "website_or_phone",
              "business_name_location"
            ],
            "type": "string",
            "description": "Choose how duplicate businesses should be removed before saving results. Website or phone is recommended for outreach lists.",
            "default": "website_or_phone"
          },
          "exportFormat": {
            "title": "Export Format",
            "enum": [
              "dataset",
              "csv-ready",
              "json"
            ],
            "type": "string",
            "description": "Preferred output style for downstream exports. Dataset keeps standard Apify rows, csv-ready favors flat export columns, and json keeps structured lead data.",
            "default": "dataset"
          },
          "requestTimeoutSecs": {
            "title": "Request Timeout Seconds",
            "minimum": 10,
            "maximum": 180,
            "type": "integer",
            "description": "Maximum time to wait for each Google Maps or website page request. Increase this when Maps loads slowly or when using slower proxies.",
            "default": 60
          },
          "maxConcurrency": {
            "title": "Maximum Concurrency",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "Maximum number of browser pages processed at the same time. Lower values are more stable for Google Maps; higher values may finish faster.",
            "default": 2
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Proxy settings used for Google Maps browsing. Residential or platform proxy access can improve reliability when Google Maps is slow or blocks direct traffic."
          },
          "debugLog": {
            "title": "Debug Logs",
            "type": "boolean",
            "description": "Enable detailed logs for troubleshooting crawler navigation, extraction, and website enrichment.",
            "default": false
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}