# Domain Enrich (`companyenrich/domain-enrich`) Actor

Enrich company domain with the CompanyEnrich Company Enrichment API.

- **URL**: https://apify.com/companyenrich/domain-enrich.md
- **Developed by:** [companyenrich](https://apify.com/companyenrich) (community)
- **Categories:** Lead generation, Agents, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $20.00 / 1,000 company-enrichments

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

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

## 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

### What does CompanyEnrich Domain Enrich do?

**CompanyEnrich Domain Enrich** turns company domains into structured company profiles using the CompanyEnrich Company Enrichment API. Enter a domain such as `apple.com`, `stripe.com`, or a list of domains, and the Actor returns company identity, website, LinkedIn, industry, employee count, country, credit metadata, and the full raw CompanyEnrich company object.

The Actor is built for users who want CompanyEnrich data through Apify workflows, schedules, datasets, API access, and integrations. Users run the Actor with domain inputs only.

### Why use CompanyEnrich Domain Enrich?

Use this Actor when you need company enrichment inside an Apify pipeline, automation, or data workflow. It is useful for CRM enrichment, lead routing, account qualification, list cleanup, research workflows, and lightweight B2B data jobs that start from known company domains.

CompanyEnrich is an API-first B2B data platform for platforms, AI agents, RevOps teams, and GTM workflows. It provides verified company and people intelligence for enrichment, search, lookalikes, people search, reverse email lookup, and MCP workflows.

### How to use CompanyEnrich Domain Enrich

1. Open the Actor in Apify Console.
2. Enter one domain in `domain`, or add multiple domains in `domains`.
3. Click **Start**.
4. Download results from the default dataset as JSON, CSV, Excel, HTML, or through the Apify API.

### Input

| Field                | Type         | Description                                                                                |
| -------------------- | ------------ | ------------------------------------------------------------------------------------------ |
| `domain`             | string       | One company domain or website URL to enrich. Example: `apple.com`.                         |
| `domains`            | string array | Additional company domains to enrich in the same run.                                      |
| `requestTimeoutSecs` | integer      | Maximum time to wait for each CompanyEnrich API request. Default: `30`.                    |
| `maxRetries`         | integer      | Retry count for network errors, rate limits, and transient API errors. Default: `2`.       |
| `failOnError`        | boolean      | If enabled, the run fails after pushing error rows when any domain fails. Default: `true`. |

Example input:

```json
{
    "domain": "apple.com",
    "domains": ["stripe.com", "microsoft.com"]
}
````

### Output

The Actor writes one item per normalized domain to the default dataset. You can download the dataset in JSON, CSV, Excel, HTML, or access it through the Apify API.

Example successful dataset item:

```json
{
    "status": "success",
    "requestedAt": "2026-05-20T20:30:00.000Z",
    "inputDomain": "apple.com",
    "domain": "apple.com",
    "httpStatus": 200,
    "name": "Apple",
    "website": "https://www.apple.com",
    "linkedinUrl": "https://www.linkedin.com/company/apple",
    "industry": "Consumer Electronics",
    "employeeCount": 164000,
    "country": "United States",
    "creditCost": 1,
    "creditRemaining": 499,
    "company": {
        "name": "Apple",
        "domain": "apple.com"
    }
}
```

Example error dataset item:

```json
{
    "status": "error",
    "requestedAt": "2026-05-20T20:30:00.000Z",
    "inputDomain": "invalid-domain",
    "domain": "invalid-domain",
    "httpStatus": 404,
    "errorMessage": "CompanyEnrich API returned HTTP 404 Not Found.",
    "errorBody": {
        "error": "Company not found"
    }
}
```

The default key-value store also contains an `OUTPUT` summary record:

```json
{
    "totalDomains": 3,
    "successful": 2,
    "failed": 1,
    "failedDomains": ["example.invalid"]
}
```

### Data table

| Field             | Description                                               |
| ----------------- | --------------------------------------------------------- |
| `status`          | `success` or `error`.                                     |
| `requestedAt`     | ISO timestamp when the enrichment was requested.          |
| `inputDomain`     | Original user-provided domain or URL.                     |
| `domain`          | Normalized domain sent to CompanyEnrich.                  |
| `httpStatus`      | HTTP status returned by CompanyEnrich.                    |
| `name`            | Company name when available.                              |
| `website`         | Company website when available.                           |
| `linkedinUrl`     | LinkedIn company URL when available.                      |
| `industry`        | Industry or category when available.                      |
| `employeeCount`   | Employee count when available.                            |
| `country`         | Country when available.                                   |
| `creditCost`      | CompanyEnrich credit cost header for the request.         |
| `creditRemaining` | CompanyEnrich remaining credits header after the request. |
| `company`         | Full parsed CompanyEnrich company object.                 |
| `errorMessage`    | Error details when enrichment fails.                      |
| `errorBody`       | Parsed error body from CompanyEnrich when available.      |

### Pricing and usage

This Actor uses Apify pay-per-event pricing. One `company-enrichment` event is charged for each domain request when pay-per-event pricing is active. The final Apify cost depends on the number of domains you submit and the price shown in Apify Console.

CompanyEnrich credit usage depends on the endpoint. A standard company enrichment request is intended to be one CompanyEnrich API call per unique normalized domain.

To control run cost, limit the number of domains in each run.

### Tips and advanced options

- Use bare domains such as `apple.com` when possible. Website URLs are accepted and normalized, but domains are cleaner.
- Duplicate domains are removed after normalization, so `https://www.apple.com/iphone` and `apple.com` count as one request.
- Keep `failOnError` enabled if failed enrichments should fail automation workflows.
- Disable `failOnError` if you prefer a completed run with error rows in the dataset.
- Use `maxRetries` to handle transient `429` or `5xx` responses from CompanyEnrich.
- Use the Apify API, schedules, webhooks, or integrations to connect enriched company records to downstream workflows.

### FAQ, disclaimers, and support

**Does this Actor scrape websites?**\
No. It calls the CompanyEnrich REST API and stores the API response in Apify datasets.

**What happens if CompanyEnrich does not find a company?**\
The Actor pushes an error row for that domain. If `failOnError` is enabled, the run fails after processing.

**Where can I get help?**\
Use the Actor Issues tab in Apify Console for bugs, field requests, or integration questions.

Learn more about CompanyEnrich at https://companyenrich.com.

# Actor input Schema

## `domain` (type: `string`):

Single company domain to enrich. You can use a bare domain such as apple.com or a website URL.

## `domains` (type: `array`):

Optional list of additional domains to enrich.

## `requestTimeoutSecs` (type: `integer`):

Maximum time to wait for each CompanyEnrich API request.

## `maxRetries` (type: `integer`):

Retry count for transient network failures, 429 responses, and 5xx responses.

## `failOnError` (type: `boolean`):

When enabled, the Actor pushes error rows to the dataset and then fails the run if any domain failed.

## Actor input object example

```json
{
  "domain": "apple.com",
  "domains": [
    "microsoft.com",
    "stripe.com"
  ],
  "requestTimeoutSecs": 30,
  "maxRetries": 2,
  "failOnError": true
}
```

# Actor output Schema

## `dataset` (type: `string`):

No description

## `summary` (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 = {
    "domain": "apple.com",
    "domains": [
        "microsoft.com",
        "stripe.com"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("companyenrich/domain-enrich").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 = {
    "domain": "apple.com",
    "domains": [
        "microsoft.com",
        "stripe.com",
    ],
}

# Run the Actor and wait for it to finish
run = client.actor("companyenrich/domain-enrich").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 '{
  "domain": "apple.com",
  "domains": [
    "microsoft.com",
    "stripe.com"
  ]
}' |
apify call companyenrich/domain-enrich --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Domain Enrich",
        "description": "Enrich company domain with the CompanyEnrich Company Enrichment API.",
        "version": "0.1",
        "x-build-id": "RgUyh9JxhL0E1iTPl"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/companyenrich~domain-enrich/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-companyenrich-domain-enrich",
                "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/companyenrich~domain-enrich/runs": {
            "post": {
                "operationId": "runs-sync-companyenrich-domain-enrich",
                "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/companyenrich~domain-enrich/run-sync": {
            "post": {
                "operationId": "run-sync-companyenrich-domain-enrich",
                "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": {
                    "domain": {
                        "title": "Domain",
                        "type": "string",
                        "description": "Single company domain to enrich. You can use a bare domain such as apple.com or a website URL.",
                        "default": "apple.com"
                    },
                    "domains": {
                        "title": "Domains",
                        "type": "array",
                        "description": "Optional list of additional domains to enrich.",
                        "items": {
                            "type": "string"
                        },
                        "default": []
                    },
                    "requestTimeoutSecs": {
                        "title": "Request timeout seconds",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum time to wait for each CompanyEnrich API request.",
                        "default": 30
                    },
                    "maxRetries": {
                        "title": "Max retries",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Retry count for transient network failures, 429 responses, and 5xx responses.",
                        "default": 2
                    },
                    "failOnError": {
                        "title": "Fail run on API errors",
                        "type": "boolean",
                        "description": "When enabled, the Actor pushes error rows to the dataset and then fails the run if any domain failed.",
                        "default": true
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
