Data catalog · Enrichment
Send the URL of a LinkedIn company page and get back the company record behind it: name, website, industry, headcount band, headquarters, founding year and specialties. One provider, one flat credit cost, billed on any 2xx including a response that comes back thin.
Last updated September 22, 2026
You have the URL of a company's LinkedIn page. `POST /enrich_company` returns the company behind it as structured JSON: website, industry, headcount band, headquarters, founding year and the specialties list the company wrote about itself. **[Get 25 free credits — no card](https://app.richapi.ai)**
The one required field is `url`, and it is **a LinkedIn company page URL**. Not a domain. Not a company name. If you pass `acme.com` you are not going to get Acme back. That matters because most company-enrichment APIs are domain-in. Ours is not, and we would rather you find that out on this page than three hours into an integration. If the record you are enriching already carries a LinkedIn company URL — from a CRM field, from a scraper, from a person record you already pulled — this endpoint is a one-call, one-credit fill. If all you have is a domain, read the gap section below before you plan anything around it.
This endpoint is **not** a multi-provider waterfall. Billing is on HTTP 2xx. A thin 2xx still bills. 4xx and 5xx bill nothing, on any endpoint. The miss-free rule on the email finder, phone finder and email verifier does not apply here.
**1. Get a key.** Sign up at [app.richapi.ai](https://app.richapi.ai). 25 free credits, no card. **2. POST the LinkedIn company URL.** ```bash curl -X POST https://api.richapi.ai/api/v1/enrich_company \ -H "x-api-key: $RICHAPI_KEY" \ -H "Content-Type: application/json" \ -d '{"url": "https://www.linkedin.com/company/example-co/"}' ``` **3. Read the record.** The response is a flat object: ```json { "name": "example", "website": "example", "industry": "example", "companySize": "example", "headquarters": "example", "founded": 1, "followerCount": 1, "specialties": [], "description": "example", "logo": "example", "linkedinUrl": "example" } ``` Those are the literal placeholder values from the live OpenAPI example, so read the shape and the key names, not the contents. `founded` and `followerCount` are integers; `specialties` is an array; everything else is a string. The live OpenAPI types `companySize` as a string. Treat it as a band label, not a headcount integer, until you inspect a live response. **4. Or ask for it from your agent.** The [hosted MCP server](/integrations/claude) exposes `enrich_company` as a tool in Claude, Cursor, Windsurf and VS Code, no install: ``` Enrich this LinkedIn company page and tell me the headcount band and HQ city. ```
If your input is a domain, there is no public endpoint here that resolves it to a company record. We are not going to dress that up. The domain-in, provider-waterfall company product exists internally but is not exposed in the live OpenAPI, so telling you to call it would be telling you to call something that will 404. What you can do today is get the LinkedIn company URL some other way. It often already sits on a person record you pulled from [person enrichment](/api/person-enrichment), and `people_search` accepts a `domain` filter and returns profiles whose companies you can walk. That is a workaround, and it will break on any account whose people you cannot find. If this gap is the reason you would not buy, say so in support; it is the kind of thing that moves a roadmap.
| Field | Type | What it is | |---|---|---| | `name` | string | Company name as it appears on the page | | `website` | string | The company's own website URL | | `industry` | string | LinkedIn's industry label | | `companySize` | string | Headcount band | | `headquarters` | string | HQ location | | `founded` | integer | Founding year | | `followerCount` | integer | LinkedIn page followers | | `specialties` | array | Self-described specialties | | `description` | string | The company's About text | | `logo` | string | Logo image URL | | `linkedinUrl` | string | Canonical company URL |
Flat `1 credit` per call, billed on any 2xx. There is no per-result component and no volume tier on the endpoint itself — the per-credit rate is set by your package on [the pricing page](/pricing), so pull the rate from there rather than assuming one number. Validate your URLs before the loop rather than inside it. A column of half-broken LinkedIn URLs will bill for every row that returns 2xx with very little in it.
**Filling the account object behind a signed-up user.** Someone signs up with a work email, your onboarding already resolves them to a LinkedIn profile, and that profile carries a company URL. One call gives you the industry and headcount band to route them to the right plan and the right rep. **Agencies auditing a client's target list.** You inherit a list of accounts with LinkedIn URLs and no firmographics. Enriching it gives you industry and size bands to segment on before you write a single piece of copy, and you pay per account rather than per seat. **Agent workflows doing account research mid-run.** An agent researching an account can pull the description and specialties and use them as prompt context for the next step, rather than you pre-building an account brief nobody reads.
- [Person enrichment API](/api/person-enrichment) — the same idea for a LinkedIn profile URL - [B2B people search API](/api/people-search) — filter by domain, industry and title to get profiles back - [Technology lookup API](/api/tech-stack-lookup) — what a company's site is actually built on - [Email finder API](/api/email-finder) — name and domain to a work email, waterfall-billed - [All endpoints](/api) — the full catalog - [Pricing](/pricing) — credit packages and tier rates
**What am I charged for?** Any 2xx. `enrich_company` is a single-provider enrichment endpoint, not a waterfall, so a response that comes back with fewer fields than you hoped still bills the flat per-call cost. Errors bill nothing. **Can I pass a domain instead of a LinkedIn URL?** No. `url` must be a LinkedIn company page URL. Domain-to-company is a genuine gap in the public API right now, covered in the section above. **What about a showcase page or a Sales Navigator link?** Pass the canonical `linkedin.com/company/{slug}` form. **Does this return the employees at the company?** No, it returns the company record. People come from [people search](/api/people-search) or [LinkedIn profile search](/api/linkedin-profile-search), which are separate, per-result-priced calls. **How fresh is the data?** The call fetches at request time rather than reading a stored company graph. Companies rewrite their About text, cross a headcount band, and move headquarters, and none of those changes reach a snapshot someone licensed you last quarter. **Can I call this from Claude or Cursor (MCP)?** Yes. The hosted MCP server exposes `enrich_company` as a tool with a copy-paste config and no install. **Do I need a credit card?** No. 25 free credits on signup, no card.
Enrich your first company in two minutes. **[Get 25 free credits](https://app.richapi.ai)**