{
  "openapi": "3.0.1",
  "info": {
    "title": "Local Business Leads by City & Category (Maps Alternative)",
    "description": "Find local businesses by category and city: name, phone, website, email, address and socials from the open Overture Maps dataset. A cheap Google Maps scraper alternative: no scraping, no proxies, no blocks. Optional website check finds emails and contact forms.",
    "version": "0.1",
    "x-build-id": "XV0sBFfeVMJBqELb5"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/mortenm~business-leads-overture/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-mortenm-business-leads-overture",
        "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/mortenm~business-leads-overture/runs": {
      "post": {
        "operationId": "runs-sync-mortenm-business-leads-overture",
        "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/mortenm~business-leads-overture/run-sync": {
      "post": {
        "operationId": "run-sync-mortenm-business-leads-overture",
        "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": [
          "locations"
        ],
        "properties": {
          "categories": {
            "title": "Business types",
            "type": "array",
            "description": "Everyday words such as plumber, dentist, roofer, restaurant, lawyer, hair salon, HVAC, real estate agent, or exact Overture category ids such as dental_clinic. Each word is matched to Overture categories (shown in the run log and RUN_SUMMARY). Up to 20.",
            "items": {
              "type": "string"
            }
          },
          "locations": {
            "title": "Locations",
            "type": "array",
            "description": "Cities or towns as \"City, State/Region, Country\" (e.g. Houston, TX or Bergen, Norway), or \"latitude, longitude\". Each location is searched in a circle around its centre; see Search radius. Up to 20.",
            "items": {
              "type": "string"
            }
          },
          "maxResults": {
            "title": "Max businesses per location",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "The closest businesses to the centre come first. Up to 5,000 per location (20,000 per run).",
            "default": 100
          },
          "checkWebsites": {
            "title": "Check websites for emails and contact forms",
            "type": "boolean",
            "description": "Visit each business website (homepage plus contact page) and add emails, phone numbers, contact form, booking links, social profiles, the site's technology and whether the business name appears on the site. Charged per website where an email, contact form or booking link was found; nothing for dead, parked or empty sites. Slower: about 1-3 minutes per 100 websites.",
            "default": false
          },
          "radiusKm": {
            "title": "Search radius (km)",
            "minimum": 0.5,
            "maximum": 100,
            "type": "number",
            "description": "Radius around each location's centre. Empty = automatic from the population (30 km for 2M+ cities, 20 km for 500k+, 12 km for 100k+, 7 km for 20k+, otherwise 4 km; 10 km for coordinates)."
          },
          "nameKeywords": {
            "title": "Name keywords",
            "type": "array",
            "description": "Only businesses whose name contains one of these words (case-insensitive), e.g. \"plumbing\". With no business types, any category whose name matches is returned.",
            "items": {
              "type": "string"
            }
          },
          "requireWebsite": {
            "title": "Only businesses with a website",
            "type": "boolean",
            "description": "Skip businesses whose listing has no website of their own (Facebook and directory pages do not count).",
            "default": false
          },
          "requirePhone": {
            "title": "Only businesses with a phone number",
            "type": "boolean",
            "description": "Skip businesses whose listing has no phone number.",
            "default": false
          },
          "requireEmail": {
            "title": "Only businesses with an email in the listing",
            "type": "boolean",
            "description": "Listing emails are less common than phones and websites (roughly a quarter of businesses). Use the website check to find more.",
            "default": false
          },
          "excludeChains": {
            "title": "Exclude national chains",
            "type": "boolean",
            "description": "Skip places that belong to a known brand (a brand with a Wikidata id, e.g. Subway or Starbucks). Local multi-location businesses are kept.",
            "default": false
          },
          "includeAlternateCategories": {
            "title": "Also match secondary categories",
            "type": "boolean",
            "description": "Also return businesses whose secondary (alternate) category matches, e.g. a general contractor that also lists plumbing. The output column matchedOn tells which.",
            "default": true
          },
          "includeClosed": {
            "title": "Include closed places",
            "type": "boolean",
            "description": "Include places marked permanently or temporarily closed.",
            "default": false
          },
          "minConfidence": {
            "title": "Minimum confidence (0-1)",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "Overture's confidence that the place exists as listed. 0.5 (default) removes most stale listings; 0 returns everything.",
            "default": 0.5
          },
          "maxPagesPerSite": {
            "title": "Pages per website (website check)",
            "minimum": 1,
            "maximum": 4,
            "type": "integer",
            "description": "1 = homepage only. 2 (default) also fetches the contact page. Up to 4.",
            "default": 2
          },
          "overtureRelease": {
            "title": "Overture release",
            "type": "string",
            "description": "Leave empty for the latest monthly release (e.g. 2026-09-23.1)."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}