What you get
There is no separate headcount endpoint. Headcount comes back inside the company lookup, as the company_employees block of leadocean.company.v1. You get a number, a size band and a min and max, so you can still filter on a range when the exact count is unknown. Values we do not hold come back as null, never guessed.
| Field | What it is | Example |
|---|---|---|
company_data.company_employees.number_of_employees | Headcount as a number | 240 |
company_data.company_employees.number_of_employees_code | Size band | "201-500" |
company_data.company_employees min and max | Bounds of the band | 201, 500 |
company_data.company_name | Name | "Acme" |
company_data.company_domain | Website domain | "acme.com" |
company_data.company_number_of_profiles | People we hold at the company | 312 |
meta.fetched_at | When the record was fetched | "2026-09-01" |
The size bands are 1-10, 11-50, 51-200, 201-500, 501-1000, 1001-5000, 5001-10000 and 10001+. The same call also returns industry, HQ, funding and website tech. See Enrich a company for the full record, or browse all enrichments.
What you send
| Input | Required | Note |
|---|---|---|
domain | One of the two | Website domain, for example acme.com. Preferred key. |
linkedin_url | One of the two | LinkedIn company page URL. |
There is no lookup by company name. If you only have a name, search companies first, then look up the domain you get back.
Three ways to run it
In the app
A company lookup is not an export. The Exports page at app.leadocean.io builds a people export, and its column picker includes current_company_employees, current_company_employees_range, current_company_employees_min and current_company_employees_max. Each row is a person, 1 record, with their employer's headcount beside them.
With the API
curl -X POST "https://api.leadocean.io/v1/companies/enrich" \
-H "x-api-key: $LEADOCEAN_API_KEY" \
-H "content-type: application/json" \
-d '{"domain":"acme.com"}'A hit returns success: true, the record, and meta.credits: 1. The headcount part looks like this (placeholder values):
"company_employees": { "number_of_employees": 240, "number_of_employees_code": "201-500" }GET works too. Parameter detail is in Company Headcount API.
From an AI agent
The MCP tool is leadocean_get_company. It takes domain or linkedin_url. Try: "Look up acme.com and tell me its employee count and size band." More in Company Headcount over MCP.
What it costs
One lookup is 1 record, by domain or by LinkedIn URL. A 404, meaning we hold nothing for that company, costs nothing. Rejected requests (429, 402, 503) are never metered.
Free gives you 1,000 records, one-off, no card. Pro is $499 a month, flat, with no per-record price. See pricing.
Worked example: you check headcount on 10,000 domains and 9,000 are found. That is 9,000 records and the 1,000 misses cost nothing. Free covers the first 1,000 once. On Pro the month is $499 whatever the count, inside fair use.
Coverage
LeadOcean holds 63M companies and 693M people (measured September 2026). We do not publish the share of companies that carry a headcount, and we have not run an accuracy test against other sources. Do not assume every company has a figure. Check for null.
To go the other way and list companies by size, use the headcount filters. See find companies by headcount.
Accuracy and limits
- Snapshot, not a feed. The dataset is refreshed monthly, and each record carries its own
fetched_atdate. Read it before you act on a number. - Band when exact is missing. Use
number_of_employees_codewherenumber_of_employeesisnull. - Filters skip gaps. In search,
minEmployees,maxEmployeesandemployeeRangereturn only records where we hold a value. A company with no figure is never returned. - Errors. 400 validation, 401 bad key, 403 missing scope, 404 not in our data, 429 too fast, 503 store unreachable.
- Rate limit. 100 requests per second per key, on every plan.
- Gap. One company, one call. Headcount by department is not in the record.
FAQ
How do I get a company's employee count from a domain?
Call the company lookup with domain and read company_data.company_employees. It costs 1 record when found. A miss costs nothing.
Is the employee count exact?
It is a number where we hold one, with a size band alongside. Treat it as a snapshot and check meta.fetched_at. Where the number is null, use the band.
Can I get headcount for a company name?
Not directly. Search companies by name to find the domain, then look up the domain.
How do I filter companies by size instead?
Use employeeRange, minEmployees or maxEmployees in search. Companies without a figure on file are not returned.
Look up headcount for your first 1,000 companies free
Free to start. No credit card. 1,000 records to spend whenever you like.
Get your free API key →