# Domain Lead Enricher (`runtime/domain-lead-enricher`) Actor

Enrich company domains and websites into CRM-ready lead records with company metadata, public contacts, social profiles, website technologies, source evidence, and lead scores.

- **URL**: https://apify.com/runtime/domain-lead-enricher.md
- **Developed by:** [scraping automation](https://apify.com/runtime) (community)
- **Categories:** Lead generation, Business, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Domain Lead Enricher

Turn company domains and websites into CRM-ready leads with metadata, contacts, social links, and evidence.

### Who this is for
- Sales teams
- Growth teams
- Lead enrichment workflows
- Market mapping teams

### What it helps you do
- Enrich domain lists
- Discover company pages and public contacts
- Create clean lead records for CRM import

### Inputs you can use
- Company websites or domains
- Discovery search queries
- Maximum domains and pages

### Data you get
- domain
- company name
- website
- description
- industry hints
- social links
- contacts
- confidence score
- source evidence

### How to get better results
- Start with a narrow, specific query or a small list of source URLs.
- Use realistic limits for the first run, then increase the volume once the output looks right.
- Keep source URLs, dates, and location context when you need repeatable market monitoring.
- Review a few sample records before connecting the dataset to a larger workflow.

### Notes
- Results depend on what the public source exposes at run time.
- Some pages may hide, delay, rename, or remove fields, so individual records can have partial data.
- Use the built-in output table to inspect results before exporting to spreadsheets, dashboards, or automation tools.

### Support
If a run returns unexpected data, open an issue from the Actor page with the input used, the run ID, and the result you expected.

# Actor input Schema

## `startUrls` (type: `array`):

Company website URLs to enrich. Use this for known domains or URLs.
## `domains` (type: `array`):

Plain domains to enrich, for example apify.com. Mixed URLs and domains are accepted.
## `searchQueries` (type: `array`):

Optional DuckDuckGo discovery queries. Search result domains will be enriched together with direct domains.
## `includeWebDiscovery` (type: `boolean`):

Search DuckDuckGo for domains from the discovery queries.
## `manualSearchResults` (type: `array`):

Optional search result records to enrich without running web discovery. Useful for bundles and tests.
## `manualPages` (type: `array`):

Optional HTML pages to parse instead of fetching live pages. Each item needs url and html.
## `includePageCrawl` (type: `boolean`):

Fetch home, contact, about, pricing, team, legal, and social-link pages on the same domain.
## `maxDomains` (type: `integer`):

Maximum number of unique domains to enrich.
## `maxPagesPerDomain` (type: `integer`):

Maximum same-domain pages to inspect per domain.
## `maxSearchResults` (type: `integer`):

Maximum search results to collect across all discovery queries.
## `requestTimeoutSecs` (type: `integer`):

HTTP request timeout in seconds.
## `includePageText` (type: `boolean`):

Save a compact evidence text preview. Disabled by default to keep datasets small.
## `includeExternalEmails` (type: `boolean`):

Include emails that do not match the enriched domain in the main emails field. Disabled by default to avoid saving example, agency, or third-party emails as company contacts.
## `pageTextMaxChars` (type: `integer`):

Maximum text preview length when includePageText is enabled.
## `failOnNoResults` (type: `boolean`):

Fail the run when no domain lead records are saved.
## `proxyConfiguration` (type: `object`):

Optional Apify Proxy configuration. Most small website runs work without proxy; enable proxy for tougher websites or large batches.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://apify.com"
    }
  ],
  "domains": [
    "apify.com"
  ],
  "searchQueries": [
    "AI startup launch maker website"
  ],
  "includeWebDiscovery": false,
  "manualSearchResults": [
    {
      "title": "Apify - Web scraping and automation platform",
      "url": "https://apify.com",
      "snippet": "Apify provides web scraping, automation, and data extraction tools."
    }
  ],
  "manualPages": [],
  "includePageCrawl": true,
  "maxDomains": 25,
  "maxPagesPerDomain": 5,
  "maxSearchResults": 50,
  "requestTimeoutSecs": 25,
  "includePageText": false,
  "includeExternalEmails": false,
  "pageTextMaxChars": 1200,
  "failOnNoResults": false,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
````

# Actor output Schema

## `leads` (type: `string`):

No description

## `contacts` (type: `string`):

No description

## `diagnostics` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        {
            "url": "https://apify.com"
        }
    ],
    "domains": [
        "apify.com"
    ],
    "searchQueries": [
        "AI startup launch maker website"
    ],
    "manualSearchResults": [
        {
            "title": "Apify - Web scraping and automation platform",
            "url": "https://apify.com",
            "snippet": "Apify provides web scraping, automation, and data extraction tools."
        }
    ],
    "manualPages": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("runtime/domain-lead-enricher").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": [{ "url": "https://apify.com" }],
    "domains": ["apify.com"],
    "searchQueries": ["AI startup launch maker website"],
    "manualSearchResults": [{
            "title": "Apify - Web scraping and automation platform",
            "url": "https://apify.com",
            "snippet": "Apify provides web scraping, automation, and data extraction tools.",
        }],
    "manualPages": [],
}

# Run the Actor and wait for it to finish
run = client.actor("runtime/domain-lead-enricher").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://apify.com"
    }
  ],
  "domains": [
    "apify.com"
  ],
  "searchQueries": [
    "AI startup launch maker website"
  ],
  "manualSearchResults": [
    {
      "title": "Apify - Web scraping and automation platform",
      "url": "https://apify.com",
      "snippet": "Apify provides web scraping, automation, and data extraction tools."
    }
  ],
  "manualPages": []
}' |
apify call runtime/domain-lead-enricher --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=runtime/domain-lead-enricher",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Domain Lead Enricher",
        "description": "Enrich company domains and websites into CRM-ready lead records with company metadata, public contacts, social profiles, website technologies, source evidence, and lead scores.",
        "version": "0.1",
        "x-build-id": "KLwJaySrJ4D5wrmPk"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/runtime~domain-lead-enricher/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-runtime-domain-lead-enricher",
                "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/runtime~domain-lead-enricher/runs": {
            "post": {
                "operationId": "runs-sync-runtime-domain-lead-enricher",
                "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/runtime~domain-lead-enricher/run-sync": {
            "post": {
                "operationId": "run-sync-runtime-domain-lead-enricher",
                "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": "Company websites",
                        "type": "array",
                        "description": "Company website URLs to enrich. Use this for known domains or URLs.",
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "domains": {
                        "title": "Domains",
                        "type": "array",
                        "description": "Plain domains to enrich, for example apify.com. Mixed URLs and domains are accepted."
                    },
                    "searchQueries": {
                        "title": "Discovery search queries",
                        "type": "array",
                        "description": "Optional DuckDuckGo discovery queries. Search result domains will be enriched together with direct domains.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeWebDiscovery": {
                        "title": "Use web discovery",
                        "type": "boolean",
                        "description": "Search DuckDuckGo for domains from the discovery queries.",
                        "default": false
                    },
                    "manualSearchResults": {
                        "title": "Manual search results",
                        "type": "array",
                        "description": "Optional search result records to enrich without running web discovery. Useful for bundles and tests."
                    },
                    "manualPages": {
                        "title": "Manual pages",
                        "type": "array",
                        "description": "Optional HTML pages to parse instead of fetching live pages. Each item needs url and html."
                    },
                    "includePageCrawl": {
                        "title": "Crawl website pages",
                        "type": "boolean",
                        "description": "Fetch home, contact, about, pricing, team, legal, and social-link pages on the same domain.",
                        "default": true
                    },
                    "maxDomains": {
                        "title": "Max domains",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of unique domains to enrich.",
                        "default": 25
                    },
                    "maxPagesPerDomain": {
                        "title": "Max pages per domain",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Maximum same-domain pages to inspect per domain.",
                        "default": 5
                    },
                    "maxSearchResults": {
                        "title": "Max search results",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum search results to collect across all discovery queries.",
                        "default": 50
                    },
                    "requestTimeoutSecs": {
                        "title": "Request timeout",
                        "minimum": 5,
                        "maximum": 120,
                        "type": "integer",
                        "description": "HTTP request timeout in seconds.",
                        "default": 25
                    },
                    "includePageText": {
                        "title": "Include page text",
                        "type": "boolean",
                        "description": "Save a compact evidence text preview. Disabled by default to keep datasets small.",
                        "default": false
                    },
                    "includeExternalEmails": {
                        "title": "Include external emails",
                        "type": "boolean",
                        "description": "Include emails that do not match the enriched domain in the main emails field. Disabled by default to avoid saving example, agency, or third-party emails as company contacts.",
                        "default": false
                    },
                    "pageTextMaxChars": {
                        "title": "Page text max characters",
                        "minimum": 0,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum text preview length when includePageText is enabled.",
                        "default": 1200
                    },
                    "failOnNoResults": {
                        "title": "Fail if no leads are saved",
                        "type": "boolean",
                        "description": "Fail the run when no domain lead records are saved.",
                        "default": false
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Optional Apify Proxy configuration. Most small website runs work without proxy; enable proxy for tougher websites or large batches.",
                        "default": {
                            "useApifyProxy": 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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
