Company API

Resolve a company URL into firmographics

One authenticated GET against /v1/companies/details. Identity, headquarters and all locations, size, industries, specialities, page flags, and the last funding round.

GET /v1/companies/details
curl -H "ApiKey: $TRIGUNA_API_KEY" \
  "https://api.triguna.ai/v1/companies/details\
?company_id=northwind\
&bypass_cache=false"
200 response (excerpt)
{
  "company_id": "1035",
  "public_identifier": "microsoft",
  "company_name": "Microsoft",
  "company_url": "https://www.microsoft.com",
  "locations": { "headquarter": { "country": "us", "city": "Redmond" } },
  "industries": [{ "id": "4", "name": "Software Development" }],
  "staff_info": { "staff_count": 221000 },
  "founded_on": { "year": 1975, "month": null, "day": null }
}

What the record carries

Identity

company_id, public_identifier, name, tagline, description, and company_type.

Locations

A headquarters object plus every other location, with country as a lowercase two-letter code, so uppercase it before joining on ISO data.

Size and industry

Exact staff_count where available, a staff_range where not, ordered industries[], and specialities[].

Funding

The last round: type, amount as a raw bigint, lowercase currency, announcement date, and lead investors.

Page flags

auto_generated, claimable, is_paid, and is_showcase: quality signals worth gating on.

Related pages

showcase_pages[] and affiliated_companies[], sharing one trimmed summary shape. Commonly empty.

Three things that catch parsers

Company records are simpler than person records, and every one of these is a naming trap rather than a structural one.

  1. The slug, not the name. company_id takes the URL slug. Acme Corporation returns 404 every time. Reference →
  2. specialities, not specialties. The spelling is load-bearing, and a silent undefined is the failure mode. Reference →
  3. Money is a raw bigint, currency is lowercase. { amount: 45000000, currency: "usd" }. Not cents, and not "USD". Reference →

Common questions

What identifier does the company API take?

The company URL slug, the path segment after /company/. A numeric company id also works. Despite the parameter being named company_id, in normal use it takes the slug, and passing a display name such as Acme Corporation returns 404 every time.

How do I get a reliable headcount?

staff_info.staff_count is the exact figure but is often null. staff_info.staff_range gives { start, end }, where end is null for open-ended top brackets. Fall back to the midpoint of the range, and record whether the number was exact or derived.

Is platform_url the company website?

No. platform_url is the company page on the source platform; company_url is the company own website. The naming runs opposite to intuition and this is the second most common company-endpoint bug after the slug trap.

Does the API return full funding history?

No. funding_data.last_funding_round returns the last round only: type, amount, announcement date, and lead investors. There is no per-round history in the response.

Store company records that age well

Refresh cadences, normalization, and the quality gate worth having.