Enrichment

Get company revenue from a domain

Annual revenue in USD for one company. 1 record per company found. A miss costs nothing.

Get your free API key →Free to start. No credit card. 1,000 records to spend whenever you like.

What you get

Company revenue comes back as part of one company lookup. You send a domain or a LinkedIn company URL and get company_data.company_revenue_in_usd, a banded revenue code, and yearly figures where we hold them. There is no separate revenue endpoint (see all enrichments). Values we do not hold come back as null, never guessed.

FieldWhat it isExample
company_data.company_revenue_in_usdAnnual revenue in US dollars38000000
company_data.company_revenue_in_usd_codeThe same revenue as a banded codea band code
company_data.company_financials[]Yearly revenue and growth, where we have themone entry per year
company_data.company_employeesHeadcount and a size band, to sanity-check the revenue240, "201-500"
company_data.company_fundingTotal raised, last round type, date and year"Series B"
company_data.company_name, company_domainWhich company this is"Acme", "acme.com"
company_metricscompletion_score and marketability_score94, 81
metaSources, fetched_at, schema leadocean.company.v1"leadocean.company.v1"

Revenue is thin. The docs call it a bonus, not something to filter on. It sits on a small share of records, and absent is the normal case for small private companies.

What you send

InputRequiredNote
domainOne of the twoWebsite domain, for example acme.com. Preferred key.
linkedin_urlOne of the twoLinkedIn company page URL.

There is no lookup by company name. With only a name, search companies first, then look up the domain you get back.

Three ways to run it

In the app

Revenue is not an export column. The Exports page at app.leadocean.io exports people, and its column picker lists each person's current company: name, domain, industry and employee range, but no revenue. For revenue, use the API or an agent.

With the API

bash
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"}'

This is the sample from the LeadOcean docs, trimmed to the revenue-relevant part. Fields we hold nothing for are left out of the docs sample. A real response has them as null.

json
{
  "success": true,
  "data": {
    "company_data": {
      "company_name": "Acme",
      "company_domain": "acme.com",
      "company_employees": {
        "number_of_employees": 240,
        "number_of_employees_code": "201-500"
      },
      "company_revenue_in_usd": 38000000
    },
    "company_metrics": { "completion_score": 94, "marketability_score": 81 },
    "meta": { "sources": ["own"], "schema": "leadocean.company.v1" }
  },
  "meta": { "credits": 1, "source": "own" }
}

meta.credits: 1 is the cost of the call. GET works too, with domain or linkedin_url as query parameters. Developer detail is on Company Revenue API.

From an AI agent

The MCP tool is leadocean_get_company. It takes domain or linkedin_url and returns the same record. Try: "Look up acme.com and tell me its annual revenue, headcount and HQ country." More in Company Revenue over MCP.

What it costs

One company lookup is 1 record, whether you came in by domain or LinkedIn URL. A 404, meaning we hold nothing for that company, costs nothing. Rejected requests (429, 402, 503) are never metered.

One catch: a hit with no revenue on file still costs 1 record, because you received a company. You pay for the company, not for the revenue field.

Free gives you 1,000 records, one-off, no card. Pro is $499 a month, flat, with no per-record price.

Worked example: look up 10,000 companies and 9,200 are found. That is 9,200 records, and the 800 misses cost nothing. Free covers the first 1,000 once. On Pro the month is $499 whatever the count, inside fair use. See pricing.

Coverage

LeadOcean holds 63M companies (measured September 2026). The docs give no share of those that carry revenue, so we state none. The only way to know for your list is to run it: a sample of a few hundred domains shows your hit rate on the company_revenue_in_usd field before you commit.

To find companies by revenue instead of looking one up, company search has minRevenue and maxRevenue filters in USD. They return only records where we hold a figure. See find companies by revenue.

Accuracy and limits

  • Nulls are honest. Unknown revenue is null. Arrays that hold nothing come back empty, not missing.
  • Do not filter or score on revenue alone. The docs say it is thinly held. Pair it with headcount and completion_score.
  • Banded code. Use the code when you only need a range, and the USD figure when you need a number.
  • Errors. 400 validation, 401 bad key, 403 missing scope, 404 not in our data, 429 too fast, 503 store unreachable. Errors use one shape: success: false and an error object.
  • Rate limit. 100 requests per second per key, on every plan.
  • Gap. The docs do not say which year the revenue figure refers to or how it is sourced per record. Check company_financials[] and meta.fetched_at when the year matters.

FAQ

Can I look up revenue by company name?

No. Send a website domain or a LinkedIn company URL. With a name only, search companies first and use the domain from the result.

Does a company with no revenue cost a record?

Yes, if we hold the company. The lookup returns the record with revenue as null, and that is 1 record. A company we hold nothing for is a 404 and costs nothing.

Is revenue available for every company?

No. It is held for a small share of records and is most often missing for small private companies. Treat it as a bonus field.

Can I export revenue as a CSV?

Not from the Exports page. Its columns cover people and their current company, without revenue. Look up companies through the API or an agent, or search by minRevenue and maxRevenue.

Look up 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 →