{
  "openapi": "3.0.1",
  "info": {
    "title": "Local Business Leads: Emails, Phones & Socials",
    "description": "Local business leads from open data (Overture Maps, OpenStreetMap): validated phones, graded emails, socials, hours, city-license and open/closed checks. No Google scraping.",
    "version": "0.1",
    "x-build-id": "3FlWLeOWYOfugpA4x"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/clearfeedlabs~local-business-leads/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-clearfeedlabs-local-business-leads",
        "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/clearfeedlabs~local-business-leads/runs": {
      "post": {
        "operationId": "runs-sync-clearfeedlabs-local-business-leads",
        "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/clearfeedlabs~local-business-leads/run-sync": {
      "post": {
        "operationId": "run-sync-clearfeedlabs-local-business-leads",
        "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": [
          "categories",
          "locations"
        ],
        "properties": {
          "categories": {
            "title": "Business categories",
            "type": "array",
            "description": "What to look for, like on a map search: dentist, plumber, hvac, restaurant, cafe, bar, auto repair, hair salon, nail salon, lawyer, accountant, real estate agent, gym, electrician, roofer, contractor, veterinarian, pharmacy, doctor, hotel, insurance agency, chiropractor, florist, bakery. Other words are matched against the Overture category taxonomy (e.g. \"yoga_studio\", \"pet groomer\").",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations (US)",
            "type": "array",
            "description": "\"City, ST\" (Austin, TX), \"Name County, ST\" (Cook County, IL), a 5-digit ZIP, or \"lat,lng\". Placed offline with the US Census Gazetteer.",
            "items": {
              "type": "string"
            }
          },
          "radiusKm": {
            "title": "Radius (km)",
            "minimum": 1,
            "maximum": 150,
            "type": "integer",
            "description": "Optional. Overrides the automatic radius derived from the city/county/ZIP land area. Required precision for lat,lng searches (default 5 km)."
          },
          "maxLeadsPerSearch": {
            "title": "Max leads per category × location",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Closest to the center first. No 120-result cap: set it high to get every match in the area.",
            "default": 200
          },
          "addEmails": {
            "title": "Add-on: email finding + deliverability grade ($0.002)",
            "type": "boolean",
            "description": "Emails from the data and the business's own website, each with a DNS/MX grade (A/B/C). Charged only when at least one graded email is found.",
            "default": true
          },
          "addSocials": {
            "title": "Add-on: social profiles ($0.001)",
            "type": "boolean",
            "description": "Facebook, Instagram, LinkedIn, X, YouTube, TikTok links. Charged only when at least one is found.",
            "default": true
          },
          "addLicenseCheck": {
            "title": "Add-on: city license match + open/closed check ($0.002)",
            "type": "boolean",
            "description": "Website response check, closed signals, and active business-license match in Los Angeles, San Francisco and Seattle open data. Charged only when the check returns a result.",
            "default": false
          },
          "addSiteDetails": {
            "title": "Add-on: hours, services & rating from the business's site ($0.001)",
            "type": "boolean",
            "description": "Opening hours, services, price range and self-published rating, only where the site publishes schema.org data. Charged only when found.",
            "default": false
          },
          "contactEnrichment": {
            "title": "Website contact enrichment",
            "enum": [
              "missing",
              "all",
              "off"
            ],
            "type": "string",
            "description": "Visits each business's own homepage to check it responds and to read schema.org data (hours, services, self-published rating). When email or phone is missing it also reads the best contact/about pages. robots.txt honored, 1 request/s per site, no proxies.",
            "default": "missing"
          },
          "maxPagesPerSite": {
            "title": "Max pages per website",
            "minimum": 1,
            "maximum": 6,
            "type": "integer",
            "description": "Website pages read per business (home page plus the best contact/about pages).",
            "default": 3
          },
          "includeOsm": {
            "title": "Add OpenStreetMap data (opening hours, wheelchair, cuisine)",
            "type": "boolean",
            "description": "Downloads the state's OpenStreetMap extract (Geofabrik) during the run: adds 30–90 s. Rows that contain OSM data are licensed ODbL 1.0 (attribution and share-alike).",
            "default": false
          },
          "minConfidence": {
            "title": "Minimum Overture confidence",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "Overture's existence-confidence score. Lower it for more (but less certain) places.",
            "default": 0.7
          },
          "onlyWithContacts": {
            "title": "Only return leads with an email or phone",
            "type": "boolean",
            "description": "Skip (and do not bill) businesses where no email or phone was found.",
            "default": false
          },
          "closedHandling": {
            "title": "Likely-closed businesses",
            "enum": [
              "drop",
              "flag"
            ],
            "type": "string",
            "description": "A business is 'likely closed' when Overture marks it closed, its own site says permanently closed, or its website no longer exists and no source has updated it in a year (and no active city license was found).",
            "default": "drop"
          },
          "minLeadScore": {
            "title": "Minimum lead score (0–100)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Per-lead quality score from source confidence, website response, active city license, valid phone, email grade, data freshness and schema.org data. Leads below it are skipped and not billed.",
            "default": 0
          },
          "includeAlternateCategories": {
            "title": "Also match secondary categories",
            "type": "boolean",
            "description": "Also match places whose secondary category fits (more results, less precise).",
            "default": false
          },
          "nameContains": {
            "title": "Name contains",
            "type": "string",
            "description": "Optional text filter on the business name."
          },
          "includeClosed": {
            "title": "Include closed places",
            "type": "boolean",
            "description": "Include places Overture marks as temporarily or permanently closed.",
            "default": false
          },
          "includePersonalEmails": {
            "title": "Include personal-looking emails found on websites",
            "type": "boolean",
            "description": "Off by default (GDPR/CCPA). Role emails like info@ and sales@ are always included.",
            "default": false
          },
          "skipPreviouslySeen": {
            "title": "Only new places since my last run",
            "type": "boolean",
            "description": "Remembers delivered places in a key-value store in your account, so scheduled runs bill only new businesses.",
            "default": false
          },
          "overtureRelease": {
            "title": "Overture release (advanced)",
            "type": "string",
            "description": "Leave empty to use the latest monthly release."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}