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

# Find a LinkedIn company from a website

> Pass a website domain to companies/enrich and get the live LinkedIn company page back.

You have `acme.com`. You want the LinkedIn company page — and the live firmographics behind it. That's one call: [`POST /v1/companies/enrich`](/api-reference/companies/enrich) with `domain`. We search LinkedIn companies for that host, then scrape the matching page.

## The request

Pass the **host only** — no `https://`, no `www.`, no path.

<CodeGroup>
  ```bash cURL theme={null}
  curl -X POST https://api.up2data.ai/v1/companies/enrich \
    -H "X-API-Key: $UP2DATA_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"domain": "anthropic.com"}'
  ```

  ```python Python theme={null}
  import requests

  resp = requests.post(
      "https://api.up2data.ai/v1/companies/enrich",
      headers={"X-API-Key": UP2DATA_API_KEY},
      json={"domain": "anthropic.com"},
  )
  company = resp.json()["data"]
  linkedin_url = company["url"]
  linkedin_id = company["linkedin_id"]
  ```

  ```javascript Node theme={null}
  const resp = await fetch("https://api.up2data.ai/v1/companies/enrich", {
    method: "POST",
    headers: { "X-API-Key": process.env.UP2DATA_API_KEY, "Content-Type": "application/json" },
    body: JSON.stringify({ domain: "anthropic.com" }),
  });
  const { data } = await resp.json();
  ```
</CodeGroup>

<Note>
  `https://www.anthropic.com/about` → `anthropic.com`. `domain` is a website host, not a LinkedIn slug.
</Note>

**Cost:** 1 credit if we find the company. Misses, timeouts, and our errors are free — [pay-on-success](/concepts/pay-on-success).

## What you get

The same live company record as a LinkedIn-URL enrich. The two fields this recipe is usually for:

| Field         | Use it for                                                                |
| ------------- | ------------------------------------------------------------------------- |
| `url`         | Canonical LinkedIn company page                                           |
| `linkedin_id` | [`/v1/search/people`](/api-reference/search/people) `filters.company_ids` |

Plus name, website, industry, current headcount, HQ, funding, and the rest of the [company schema](/api-reference/companies/enrich).

```json theme={null}
{
  "data": {
    "url": "https://linkedin.com/company/anthropic",
    "linkedin_id": "74126343",
    "name": "Anthropic",
    "website": "https://anthropic.com",
    "industry": "Research Services",
    "headcount": 2841
  },
  "meta": { "creditsUsed": 1, "billed": true, "reason": "company_found" }
}
```

You can identify a company with **one of** `url`, `domain`, or `linkedin_id`. Same cost either way.

## Then find people there

[`/v1/profiles/enrich`](/api-reference/profiles/enrich) needs a person URL — it does not take a domain. Resolve the company first, then search:

```bash theme={null}
curl -X POST https://api.up2data.ai/v1/search/people \
  -H "X-API-Key: $UP2DATA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "filters": {
      "company_ids": ["74126343"],
      "titles": ["CTO", "VP Engineering"]
    },
    "max_results": 25
  }'
```

Feed result URLs into [profile enrich](/api-reference/profiles/enrich) or a [batch job](/guides/bulk-enrichment).

## Same `domain` on other company calls

[`insights`](/api-reference/companies/insights) and [`jobs-count`](/api-reference/companies/jobs-count) accept `domain` the same way. [Company posts](/api-reference/companies/posts) currently need `url` or `linkedin_id` — resolve first, then list posts.

## Next

<Card title="Enrich a company" icon="building" href="/api-reference/companies/enrich">
  Full field list, playground, and error cases.
</Card>
