> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crustdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Company Enrich

> Learn how to enrich company records using domains, profile URLs, names, or IDs, and get a detailed company profile.

**Use this when** you already know the company and want its full profile —
for research, scoring, personalization, or diligence.

The Company Enrich API takes an identifier you already have — a website
domain, a profile URL, a company name, or a Crustdata company ID — and
returns a detailed company profile with headcount, funding, industry, hiring,
and more. The same endpoint supports both single-company lookups and
multi-company requests.

Every request goes to the same endpoint:

```
POST https://api.crustdata.com/company/enrich
```

<Note>
  Replace `YOUR_API_KEY` in each example with your actual API key. All
  requests require the `x-api-version: 2025-11-01` header.
</Note>

### Request body

| Parameter                                                                           | Type      | Required       | Default          | Description                                                          |
| ----------------------------------------------------------------------------------- | --------- | -------------- | ---------------- | -------------------------------------------------------------------- |
| `domains` / `professional_network_profile_urls` / `names` / `crustdata_company_ids` | array     | Yes — one only | —                | Submit exactly one identifier type.                                  |
| `fields`                                                                            | string\[] | No             | `["basic_info"]` | Sections of `company_data` to include in the response.               |
| `exact_match`                                                                       | boolean   | No             | `null`           | Set to `true` to restrict results to exact `primary_domain` matches. |

<Tip>
  **Looking for the list of sections you can request?** See [Valid `fields`
  values](/company-docs/enrichment/reference#valid-fields-values) for the full
  table of section group names you can pass to `fields`.
</Tip>

### Response body

The response is a top-level array. Each entry corresponds to one input
identifier.

| Field                        | Type   | Description                                                                  |
| ---------------------------- | ------ | ---------------------------------------------------------------------------- |
| `matched_on`                 | string | The input identifier you submitted                                           |
| `match_type`                 | string | `domain`, `name`, `crustdata_company_id`, `professional_network_profile_url` |
| `matches`                    | array  | Candidate matches. Empty for no-match inputs.                                |
| `matches[].confidence_score` | number | Higher is better. `1.0` is common for direct identifier lookups.             |
| `matches[].company_data`     | object | Full enriched company profile.                                               |

### Rate limits and pricing

<Callout icon="coins" color="#5345e4">
  <strong>Pricing:</strong> <code>2 credits per record</code>.
</Callout>

* **Rate limit:** 15 requests per minute.

<Info>
  If you only need lightweight discovery, start with [Company
  Search](/company-docs/search/introduction), then enrich the companies you
  want in full detail.
</Info>

<CardGroup cols={2}>
  <Card title="Examples" icon="fingerprint" href="/company-docs/enrichment/examples">
    Enrich by profile URL, name, or company ID. Exact match and
    multi-company requests.
  </Card>

  <Card title="Reference" icon="book" href="/company-docs/enrichment/reference">
    Request parameters, response fields, valid `fields` values,
    `company_data` sections, validation, errors.
  </Card>
</CardGroup>

***

## Your first enrichment: look up a company by domain

The simplest enrichment takes a website domain and returns matching company
profiles. Pass the domain in the `domains` array.

<CodeGroup>
  ```bash Request theme={"theme":"vitesse-black"}
  curl --request POST \
    --url https://api.crustdata.com/company/enrich \
    --header 'authorization: Bearer YOUR_API_KEY' \
    --header 'content-type: application/json' \
    --header 'x-api-version: 2025-11-01' \
    --data '{
      "domains": ["retool.com"]
    }'
  ```

  ```json Response theme={"theme":"vitesse-black"}
  [
      {
          "matched_on": "retool.com",
          "match_type": "domain",
          "matches": [
              {
                  "confidence_score": 11.0,
                  "company_data": {
                      "crustdata_company_id": 633593,
                      "basic_info": {
                          "name": "Retool",
                          "primary_domain": "retool.com",
                          "all_domains": ["retool.com"],
                          "website": "https://retool.com/",
                          "description": "Build internal software better with AI...",
                          "company_type": "Privately Held",
                          "year_founded": 2017,
                          "employee_count_range": "201-500",
                          "markets": ["PRIVATE"],
                          "industries": [
                              "Software Development",
                              "Technology, Information and Internet",
                              "Technology, Information and Media"
                          ]
                      }
                  }
              }
          ]
      }
  ]
  ```
</CodeGroup>

<Note>
  `description` in `basic_info` is truncated in this snippet for readability.
  Other fields reflect the default response — when `fields` is omitted,
  `company_data` only contains `crustdata_company_id` and `basic_info`.
  Request additional sections such as `headcount`, `funding`, or `people`
  explicitly via `fields` (see [Using the `fields`
  parameter](/company-docs/enrichment/reference#using-the-fields-parameter)).
</Note>

### Understanding the response

The Enrich API returns a **top-level array** — one entry per identifier you
submitted. Each entry has three fields:

* **`matched_on`** — the identifier you submitted (the domain, URL, name, or ID).
* **`match_type`** — which identifier type was used. Possible values: `domain`, `name`, `crustdata_company_id`, `professional_network_profile_url`.
* **`matches`** — an array of candidate companies. Each match includes a `confidence_score` and the full `company_data` object.

Domain lookups may return multiple matches if the domain is ambiguous. The
highest `confidence_score` indicates the best match. Use `exact_match: true`
to restrict results to companies whose `primary_domain` exactly matches your
input (see
[Examples](/company-docs/enrichment/examples#use-exact-match-for-stricter-domain-matching)).

### How to interpret results

* **Multiple matches:** If `matches` contains more than one entry, check `confidence_score` — the highest score is the best match. Use `primary_domain` to verify.
* **Empty `matches` array:** The identifier did not match any company. Check for typos or try a different identifier type.
* **`confidence_score`:** Higher is better. A score of `1.0` is common for
  direct identifier lookups such as profile URLs or company IDs.

***

## What to do next

* **Enrich by other identifiers** — see [Examples](/company-docs/enrichment/examples) for profile URL, name, company ID, exact match, and multi-company requests.
* **Look up request/response details and `fields`** — see [Enrich reference](/company-docs/enrichment/reference) for request parameters, `company_data` sections, and valid `fields` values.
* **Search for companies first** — use [Company Search](/company-docs/search/introduction) to find companies by industry, funding, headcount, and more, then enrich the matches.
* **Discover filter values** — use [Autocomplete](/company-docs/autocomplete/introduction) to find valid values before building search filters.
