# Company Enrichment - Domain to Tech Stack & Contacts (`renzomacar/company-enrichment`) Actor

Enrich any domain into a full company profile: tech stack, industry, size signals, social links, and decision-maker contacts with a confidence score on every email. Pay-per-result Clearbit & Clay alternative.

- **URL**: https://apify.com/renzomacar/company-enrichment.md
- **Developed by:** [Renzo Madueno](https://apify.com/renzomacar) (community)
- **Categories:** Lead generation, AI
- **Stats:** 3 total users, 2 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

## Company Enrichment — Domain to Tech Stack, Company Data & Contacts

Turn a domain into a complete company profile in one call — **tech stack, industry, size signals, social links, and decision-maker contacts with a confidence score on every email.** The pay-per-result **Clearbit and Clay alternative**, built for GTM teams, SDRs, and AI agents.

⭐ **Using it and it works? [Leave a 30-second review](https://apify.com/renzomacar/company-enrichment/reviews).** It's the single biggest thing that helps other developers find it.

### What is Company Enrichment?

Give it a list of domains and it crawls each company's own website (homepage + about, team, and contact pages) and returns a structured, ready-to-use company record — no API keys, no Clearbit/ZoomInfo subscription. **You only pay for companies it actually resolves.**

### What data does it return?

| Field | Description |
|-------|-------------|
| `companyName`, `description` | From schema.org, Open Graph, and on-page signals |
| `techStack` | Detected technologies (Shopify, HubSpot, Next.js, GA4, Intercom, Stripe…) |
| `emails` | Each with a **confidence score** + type (personal vs role) + on-domain + MX-verified |
| `decisionMakers` | Names + titles (CEO, Founder, VP…) paired to a likely email, with confidence |
| `socialLinks` | LinkedIn, X, Facebook, Instagram, YouTube, GitHub |
| `address`, `phones` | From schema.org and page content |
| `foundingDate`, `employeesEstimate` | When published in structured data |
| `confidenceScore` | Overall 0–1 signal coverage for the record |

### How do I use it?

1. Add the **domains** you want to enrich (e.g. `stripe.com`, `notion.so`).
2. Run it. Each company comes back as one dataset row.
3. Export to CSV/JSON or pipe into your CRM, sequencer, or AI agent.

It pairs perfectly with [Email & Contact Finder](https://apify.com/renzomacar/website-contact-finder) and [Google Maps Business Scraper](https://apify.com/renzomacar/google-maps-businesses) as the enrichment step of your pipeline.

### What does the output look like?

```json
{
  "domain": "stripe.com",
  "companyName": "Stripe",
  "description": "Financial infrastructure for the internet.",
  "techStack": ["Cloudflare", "Google Analytics", "Next.js", "Stripe"],
  "emails": [
    { "email": "press@stripe.com", "type": "role", "onDomain": true, "confidence": 0.75 }
  ],
  "decisionMakers": [
    { "name": "Jane Doe", "title": "VP of Sales", "email": "jane@stripe.com", "confidence": 0.9 }
  ],
  "socialLinks": { "linkedin": "https://linkedin.com/company/stripe", "twitter": "https://x.com/stripe" },
  "domainHasMx": true,
  "confidenceScore": 0.85
}
````

### How much does it cost?

Pay-per-result — and **you only pay for companies we resolve** (records below your `minConfidence` are returned free):

| Event | Price |
|-------|-------|
| Actor start | $0.01 |
| Enriched company | $0.02 / company |

No subscription, no per-seat fees, no credits that expire — a fraction of Clearbit, Clay, ZoomInfo, or Apollo per record.

### How is this different from Clearbit / Clay / Apollo?

- **Pay per result, not per seat** — enrich 50 or 50,000 domains, pay only for what resolves.
- **Tech stack + contacts + confidence in one call** — most actors do only one of those.
- **No API key, no account** — runs on Apify; export anywhere or call from an AI agent / MCP client.

### FAQ

**Where does the data come from?** The company's own public website (homepage, about, team, contact pages) plus structured data (schema.org) — not a stale third-party database.

**How accurate are the emails?** Every email carries a confidence score: on-domain personal emails with valid MX rank highest; role inboxes (info@, sales@) and pattern matches rank lower. You decide the threshold.

**Can I run it on thousands of domains?** Yes — pass them all in `domains`. It crawls each independently.

**Does it work inside an AI agent?** Yes — call it via the Apify API or MCP and feed the JSON straight into your agent.

***

Built and maintained by [Renzo Madueño](https://apify.com/renzomacar) — I ship 45+ web-data and lead-gen Actors. Found a bug or want another field? Open an issue or leave a review and tell me.

# Actor input Schema

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

Company domains or website URLs to enrich (e.g. stripe.com, https://www.notion.so).

## `maxPagesPerDomain` (type: `integer`):

How many pages to crawl per company (homepage + about/team/contact). More pages = more contacts, slower.

## `minConfidence` (type: `number`):

Records below this confidence score are returned but NOT charged — you only pay for resolved companies.

## Actor input object example

```json
{
  "domains": [
    "stripe.com",
    "vercel.com"
  ],
  "maxPagesPerDomain": 4,
  "minConfidence": 0.2
}
```

# 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 = {
    "domains": [
        "stripe.com",
        "vercel.com"
    ]
};

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

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

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Company Enrichment - Domain to Tech Stack & Contacts",
        "description": "Enrich any domain into a full company profile: tech stack, industry, size signals, social links, and decision-maker contacts with a confidence score on every email. Pay-per-result Clearbit & Clay alternative.",
        "version": "0.1",
        "x-build-id": "g1FAnYKFO2mU8uk72"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/renzomacar~company-enrichment/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-renzomacar-company-enrichment",
                "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/renzomacar~company-enrichment/runs": {
            "post": {
                "operationId": "runs-sync-renzomacar-company-enrichment",
                "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/renzomacar~company-enrichment/run-sync": {
            "post": {
                "operationId": "run-sync-renzomacar-company-enrichment",
                "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",
                "required": [
                    "domains"
                ],
                "properties": {
                    "domains": {
                        "title": "Domains to enrich",
                        "type": "array",
                        "description": "Company domains or website URLs to enrich (e.g. stripe.com, https://www.notion.so).",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxPagesPerDomain": {
                        "title": "Max pages per domain",
                        "minimum": 1,
                        "maximum": 10,
                        "type": "integer",
                        "description": "How many pages to crawl per company (homepage + about/team/contact). More pages = more contacts, slower.",
                        "default": 4
                    },
                    "minConfidence": {
                        "title": "Minimum confidence to charge",
                        "minimum": 0,
                        "maximum": 1,
                        "type": "number",
                        "description": "Records below this confidence score are returned but NOT charged — you only pay for resolved companies.",
                        "default": 0.2
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
