{
  "openapi": "3.0.1",
  "info": {
    "title": "Local Business Email Finder",
    "description": "Find local businesses by niche and city and get name, address, category, website, public emails and phone numbers. Built on OpenStreetMap plus each business's own website, up to 50 businesses per run. Emails are found for some businesses, not all. No login or API key needed.",
    "version": "0.1",
    "x-build-id": "ckeGwKyCz24WMa8fI"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/axiomworks~business-email-extractor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-axiomworks-business-email-extractor",
        "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/axiomworks~business-email-extractor/runs": {
      "post": {
        "operationId": "runs-sync-axiomworks-business-email-extractor",
        "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/axiomworks~business-email-extractor/run-sync": {
      "post": {
        "operationId": "run-sync-axiomworks-business-email-extractor",
        "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": [
          "query",
          "location"
        ],
        "properties": {
          "query": {
            "title": "Business type or name, e.g. coffee",
            "type": "string",
            "description": "Business type or name as plain text, e.g. 'coffee', 'plumber' or 'dentist'; matched against names and OpenStreetMap categories. Supply location too. No website URLs or email addresses. No matches returns 0 results successfully; try a broader type."
          },
          "location": {
            "title": "City or area, e.g. Austin, TX",
            "type": "string",
            "description": "City or area as plain text, e.g. 'Austin, TX' or 'Berlin, Germany'. Supply query too. Results must match this location. Unknown places return 0 results successfully; check spelling or choose a larger nearby city."
          },
          "maxItems": {
            "title": "Business limit, e.g. 5",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Maximum businesses to return, 1-50; if omitted, falls back to maxResults, then 10. e.g. 5. Takes precedence over legacy maxResults. Filters apply before counting; fewer may return when matches or time run out. One shared limit for the query and location."
          },
          "requireEmail": {
            "title": "Require public email, e.g. true",
            "type": "boolean",
            "description": "Boolean, e.g. true to return only businesses with at least one public email. Default false permits website-only or phone-only rows. Combine with requirePhone=true to require both. Skipped businesses do not count toward maxItems.",
            "default": false
          },
          "includeWithoutContact": {
            "title": "Keep missing contacts, e.g. true",
            "type": "boolean",
            "description": "Boolean, e.g. true to include businesses without a website, email or phone. Default false skips them. requireEmail and requirePhone still apply when enabled. Missing contacts are null or empty arrays; no contact details are guessed.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Website proxy, e.g. Apify Proxy",
            "type": "object",
            "description": "Proxy settings object, e.g. {\"useApifyProxy\":true}. Used for website search and retrying blocked business pages with fresh sessions. Default and prefill enable Apify Proxy; local tests can use {\"useApifyProxy\":false}. Blocked lookups return 0 results with a suggestion to change the query, location or proxy.",
            "default": {
              "useApifyProxy": true
            }
          },
          "requirePhone": {
            "title": "Require public phone, e.g. true",
            "type": "boolean",
            "description": "Boolean, e.g. true to return only businesses with a public phone number. Default false does not require a phone. Combine with requireEmail=true to require both. Skipped businesses do not count toward maxItems.",
            "default": false
          },
          "maxResults": {
            "title": "Legacy business limit, e.g. 5",
            "minimum": 1,
            "maximum": 50,
            "type": "integer",
            "description": "Legacy alias for maxItems, e.g. 5; 1-50. Used only when maxItems is not set (then 10 if neither is set). Prefer maxItems for new calls. Filters apply before counting returned businesses."
          },
          "excludeFreeEmailProviders": {
            "title": "Exclude free mailbox providers",
            "type": "boolean",
            "description": "Exclude emails on common free mailbox providers such as Gmail, Yahoo and Outlook. Default false keeps all extracted public addresses. Applied before requireEmail and maxItems; a business with only excluded emails is skipped when requireEmail is true.",
            "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
                  },
                  "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}