{
  "openapi": "3.0.1",
  "info": {
    "title": "Website Contact Finder: Email Extractor & Contact Details",
    "description": "Contact details scraper and email extractor for company websites. Get public emails, phones, 13 social networks and contact pages per domain, with optional email verification. One flat price per website, contact pages read first.",
    "version": "0.1",
    "x-build-id": "xqHjNB5GXBgVxVzo6"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automation-lab~website-contact-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automation-lab-website-contact-finder",
        "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/automation-lab~website-contact-finder/runs": {
      "post": {
        "operationId": "runs-sync-automation-lab-website-contact-finder",
        "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/automation-lab~website-contact-finder/run-sync": {
      "post": {
        "operationId": "run-sync-automation-lab-website-contact-finder",
        "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": {
          "urls": {
            "title": "🌐 Website URLs to scan",
            "type": "array",
            "description": "Add the company or business website URLs to scan for contact information. Enter one URL per line. Use the domain root (e.g. https://company.com) — the crawler will automatically find contact and about pages. Domains without http:// are auto-prefixed. Through the API, startUrls, domains and websites are accepted as other names for this list.",
            "items": {
              "type": "string"
            }
          },
          "maxPagesPerSite": {
            "title": "Max pages per site",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Set how many internal pages to crawl per website. Contact and about pages are automatically prioritized. 10–20 pages covers most small and medium sites. Each website also has a crawl time of about 20 seconds on bulk lists and more on short lists (20 s + 600 s shared across the list), so a higher number only helps while time is left. Depth does not change the price per site.",
            "default": 20
          },
          "maxConcurrency": {
            "title": "Concurrent requests per site",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Requested parallel requests for one site (1–20). To stay reliable within 256 MB, the actor enforces a global ceiling of 2 simultaneous page fetches across all sites. Values above 2 remain accepted for API compatibility but do not increase effective throughput.",
            "default": 5
          },
          "maxWebsitesConcurrency": {
            "title": "Concurrent websites",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Requested websites processed in parallel (1–20). All sites share a global ceiling of 2 simultaneous page fetches; for two-site parallelism, use maxConcurrency 1 and maxWebsitesConcurrency 2. Larger values remain accepted for API compatibility but are reduced at runtime.",
            "default": 5
          },
          "requestTimeoutSecs": {
            "title": "Request timeout (seconds)",
            "minimum": 5,
            "maximum": 60,
            "type": "integer",
            "description": "Set the timeout for each HTTP request. Increase to 30+ for slow or international sites.",
            "default": 15
          },
          "useProxy": {
            "title": "Enable proxy",
            "type": "boolean",
            "description": "Enable Apify proxy for requests. Leave off by default — most public websites work without proxy. Enable only if you see timeout errors or empty results from sites you know are accessible.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Configure Apify proxy settings. Only used when Enable proxy is turned on. The datacenter group and your own proxy URLs are supported. The residential group is not available on this flat price: a request for it uses the datacenter group."
          },
          "verifyEmails": {
            "title": "Verify extracted emails",
            "type": "boolean",
            "description": "When enabled, each extracted email address is verified after crawling. Results are added to the `emailVerification` array in the output. Verification is opt-in and charged at $0.002 per verified email (`email-verified` event), using DNS + optional SMTP checks depending on the verification level you choose. Disabled by default — enable for higher-quality lead lists.",
            "default": false
          },
          "verificationLevel": {
            "title": "Verification depth",
            "enum": [
              "format",
              "mx",
              "smtp"
            ],
            "type": "string",
            "description": "Controls how deeply each email is verified:\n\n• **format** — syntax check only (instant, no network calls). Confidence: 0–30.\n• **mx** — syntax + DNS MX record lookup (checks if the domain can receive email). Confidence: 30–45. Recommended for most use cases.\n• **smtp** — syntax + MX + direct SMTP probe (checks if the specific mailbox exists). Confidence: 45–95. Note: Gmail, Microsoft 365, and Yahoo block SMTP probing — confidence is capped at 45 for those providers even at this level.",
            "default": "mx"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}