Email Scraper & Validator
Pricing
$10.00 / 1,000 email results
Go to Apify Store
Email Scraper & Validator
Crawl websites, extract email addresses, validate each with a third-party validation API, and output clean, scored results.
Email Scraper & Validator
Pricing
$10.00 / 1,000 email results
Crawl websites, extract email addresses, validate each with a third-party validation API, and output clean, scored results.
You can access the Email Scraper & Validator programmatically from your own applications by using the Apify API. You can also choose the language preference from below. To use the Apify API, you’ll need an Apify account and your API token, found in API & Integrations in Apify Console.
{ "openapi": "3.0.1", "info": { "version": "0.1", "x-build-id": "hEc85Nn9tlImqaXQC" }, "servers": [ { "url": "https://api.apify.com/v2" } ], "paths": { "/acts/akash9078~email-scraper-validator/run-sync-get-dataset-items": { "post": { "operationId": "run-sync-get-dataset-items-akash9078-email-scraper-validator", "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/akash9078~email-scraper-validator/runs": { "post": { "operationId": "runs-sync-akash9078-email-scraper-validator", "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/akash9078~email-scraper-validator/run-sync": { "post": { "operationId": "run-sync-akash9078-email-scraper-validator", "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": { "startUrls": { "title": "Start URLs", "type": "array", "description": "One or more website URLs to crawl for email addresses.", "items": { "type": "object", "required": [ "url" ], "properties": { "url": { "type": "string", "title": "URL of a web page", "format": "uri" } } } }, "emails": { "title": "Emails to validate", "type": "array", "description": "Validate-only mode: provide email addresses directly without crawling. Leave empty to crawl startUrls.", "items": { "type": "string" } }, "maxPagesPerDomain": { "title": "Max pages per domain", "minimum": 1, "maximum": 1000, "type": "integer", "description": "Maximum number of pages crawled per domain before stopping.", "default": 10 }, "maxDepth": { "title": "Max crawl depth", "minimum": 0, "maximum": 10, "type": "integer", "description": "How many link levels deep to crawl from each start URL.", "default": 2 }, "prioritizeContactPages": { "title": "Prioritize contact pages", "type": "boolean", "description": "Prefer URLs and links containing contact, about, team, support, impact, reach, imprint, kontakt, legal.", "default": true }, "sameDomainOnly": { "title": "Same domain only", "type": "boolean", "description": "Only follow links on the same domain as the start URL.", "default": true }, "validateEmails": { "title": "Validate emails", "type": "boolean", "description": "Validate extracted emails with the validation API.", "default": true }, "validationApiUrl": { "title": "Validation API URL", "type": "string", "description": "Base URL of the email validation API.", "default": "https://email.lifestep.io" }, "validationBatchSize": { "title": "Validation batch size", "minimum": 1, "maximum": 100, "type": "integer", "description": "Number of emails per validation API request.", "default": 25 }, "minScore": { "title": "Minimum score", "minimum": 0, "maximum": 100, "type": "integer", "description": "Filter out emails with a validation score below this value (0-100).", "default": 0 }, "excludeDisposable": { "title": "Exclude disposable", "type": "boolean", "description": "Exclude disposable and temporary email addresses.", "default": true }, "excludeRoleAccounts": { "title": "Exclude role accounts", "type": "boolean", "description": "Exclude role accounts such as info@, support@, admin@.", "default": false }, "excludeFreeProviders": { "title": "Exclude free providers", "type": "boolean", "description": "Exclude emails from free providers such as Gmail, Yahoo, Outlook.", "default": false }, "maxResults": { "title": "Max results", "minimum": 0, "type": "integer", "description": "Maximum number of email rows to output (0 = unlimited).", "default": 0 }, "maxConcurrency": { "title": "Max concurrency", "minimum": 1, "maximum": 50, "type": "integer", "description": "Maximum concurrent crawler requests.", "default": 10 } } }, "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 } } } } } } } } }}OpenAPI is a standard for designing and describing RESTful APIs, allowing developers to define API structure, endpoints, and data formats in a machine-readable way. It simplifies API development, integration, and documentation.
OpenAPI is effective when used with AI agents and GPTs by standardizing how these systems interact with various APIs, for reliable integrations and efficient communication.
By defining machine-readable API specifications, OpenAPI allows AI models like GPTs to understand and use varied data sources, improving accuracy. This accelerates development, reduces errors, and provides context-aware responses, making OpenAPI a core component for AI applications.
You can download the OpenAPI definitions for Email Scraper & Validator from the options below:
If you’d like to learn more about how OpenAPI powers GPTs, read our blog post.
You can also check out our other API clients: