# Company Data Enrichment API - Firmographics by Domain or Name (`nabeelbaghoor/company-data-enrichment-api`) Actor

Enrich a list of companies by domain, name or profile URL and export firmographics - industry, employee count and range, revenue, funding, founded year, headquarters, socials and description. Pay per result. Bring your own API key.

- **URL**: https://apify.com/nabeelbaghoor/company-data-enrichment-api.md
- **Developed by:** [Nabeel Hassan](https://apify.com/nabeelbaghoor) (community)
- **Categories:** Business, Developer tools, Lead generation
- **Stats:** 2 total users, 1 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

$10.00 / 1,000 company results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Company Data Enrichment API - firmographics from domain or name

**Company Data Enrichment API** turns a plain list of companies into rich, structured firmographic records. Give it website domains, company names or profile URLs, and get back industry, employee count, revenue, funding, founded year, headquarters, socials and description - as JSON, CSV or Excel.

Bring your own API key and pay only for the records you keep.

### Why use this actor?

- **Bulk enrichment** - paste hundreds or thousands of companies and enrich them in one run.
- **Flexible input** - match by website domain (most accurate), company name, or company profile URL. Auto-detected per entry.
- **Rich firmographics** - industry, employee count and range, revenue, funding, founded year, HQ, follower count, socials, description, specialties and competitors.
- **Clean, flat output** - every record carries an `query` field so you can join results back to your input list.
- **Pay per result** - you are charged only for the company records actually returned, up to 5,000 per run.
- **No proxies, no blocks** - data comes through a stable API, so runs are fast and reliable.

### Use cases

- **CRM enrichment** - append firmographics to your accounts from just a domain or name.
- **Lead scoring** - enrich inbound leads with size, revenue and industry to prioritize them.
- **List building** - turn a raw company list into a complete account dataset.
- **Data cleaning** - standardize company names, domains and industries across your database.
- **Market research** - profile a set of competitors or target accounts at scale.

### Input

Configure everything from the visual editor - no code needed. Example JSON input:

```json
{
  "companies": ["stripe.com", "Airbnb", "https://www.linkedin.com/company/notion-hq"],
  "matchBy": "auto",
  "maxResults": 100,
  "apiKey": "YOUR_API_KEY"
}
```

Force every entry to be treated as a domain:

```json
{
  "companies": ["stripe.com", "airbnb.com", "notion.so"],
  "matchBy": "domain",
  "maxResults": 500,
  "apiKey": "YOUR_API_KEY"
}
```

### Output

One clean JSON object per company:

```json
{
  "query": "stripe.com",
  "company_name": "Stripe",
  "company_id": "stripe",
  "domain": "stripe.com",
  "industry": "Software Development",
  "employee_count": 8000,
  "employee_range": "5001-10000",
  "revenue": "$1B+",
  "founded": 2010,
  "headquarters": "South San Francisco, California",
  "follower_count": 900000,
  "linkedin_url": "https://www.linkedin.com/company/stripe",
  "description": "Financial infrastructure for the internet."
}
```

### Do I need an API key?

Yes. This actor calls a company data API on your behalf, which requires your own **API key**. Sign up self-serve with the provider to get a key, paste it into the input, and run. Your key is stored securely and never logged.

### Pay per result

You pay only for the company records the actor actually returns - no subscriptions, no minimums. Companies with no match are skipped and not charged. Set **Maximum results** to cap each run's spend exactly.

### FAQ

#### What is the Company Data Enrichment API?

It is a B2B company data API that takes a company identifier - a website domain, a company name, or a company profile URL - and returns a full firmographic profile: industry, employee count, revenue, funding, founded year, headquarters, socials and description. This actor runs that enrichment for a whole list at once and exports the results as JSON, CSV or Excel.

#### What input does each company need?

One of: a website domain (for example `acme.com`, the most accurate), a company name (for example `Acme Inc`), or a company profile URL. Set **Interpret each entry as** to force a type, or leave it on auto-detect.

#### What fields are returned?

Company name, company id, domain, industry, employee count and range, revenue, funding, founded year, headquarters, follower count, LinkedIn and other social URLs, logo, description, specialties and competitors - subject to availability per company.

#### How many companies can I enrich per run?

Up to 5,000 per run. Each company is one request against your key, and you are charged only for companies that return a match.

#### How much does it cost?

Pricing is pay-per-result: a small fixed amount per company record returned, plus standard Apify platform usage, plus your own API usage against your key. Companies with no match are not charged.

#### Can I run this on a schedule?

Yes. Use Apify Schedules to run it daily or weekly and connect the dataset to Zapier, Make, n8n, webhooks or the API to push enriched accounts into your CRM or data warehouse.

#### Is this legal?

The actor returns company-level firmographic data retrieved through a licensed API using your own credentials. It focuses on business data, not personal data.

### Keyword map

company enrichment api, company data api, firmographics api, b2b data api, domain to company api, company lookup api, bulk company enrichment, crm enrichment api, company name to data, account enrichment, company profile api, revenue and headcount data.

### Support and feedback

Found an issue or missing a field? Open an issue in the **Issues** tab - it is monitored daily.

# Actor input Schema

## `companies` (type: `array`):

One entry per company to enrich. Each entry can be a website domain (`acme.com`, most accurate), a company name (`Acme Inc`), or a company profile URL or slug. The actor auto-detects the type, or you can force it below.

## `matchBy` (type: `string`):

How to treat each entry. `Auto-detect` picks domain vs profile URL vs name automatically. Domain is the most accurate match.

## `maxResults` (type: `integer`):

Enrich at most this many companies from the list (1-5,000). You are charged per company record returned.

## `apiKey` (type: `string`):

Your company data API key. Required. Sign up self-serve with the provider to get a key. Stored securely and never logged.

## Actor input object example

```json
{
  "matchBy": "auto",
  "maxResults": 100
}
```

# 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 = {
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("nabeelbaghoor/company-data-enrichment-api").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 = { "maxResults": 100 }

# Run the Actor and wait for it to finish
run = client.actor("nabeelbaghoor/company-data-enrichment-api").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 '{
  "maxResults": 100
}' |
apify call nabeelbaghoor/company-data-enrichment-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=nabeelbaghoor/company-data-enrichment-api",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/acts/scds8POZKYbEHxlbu/builds/mPtREZaEtJXOjkKhg/openapi.json
