---
title: "List companies"
method: GET
path: "/v1/companies"
tags: ["companies"]
---

# List companies

`GET /v1/companies`

## Request

- Base URL: `https://api.datahyena.com`
- URL: `https://api.datahyena.com/v1/companies`
- Auth: API key in header `X-API-Key`

Search and filter company records. Costs one credit per returned record.

## Query parameters

- `cursor` string
- `since` string
- `limit` number
- `search` string
- `domain` string
- `includeTotal` boolean
- `countries` string[]
- `industryGroups` string[]
- `naicsCode` '11' | '111' | '1114' | '113' | '114' | '21' | '2111' | '212' | '22' | '2211' | '2213' | '23' | '236' | '2361' | '238' | '2382' | '31-33' | '311' | '3111' | '3115' | '3116' | '3117' | '3118' | '3121' | '3122' | '313' | '315' | '316' | '3162' | '321' | '322' | '3222' | '323' | '325' | '3253' | '3254' | '3255' | '3256' | '3261' | '327' | '3272' | '331' | '332' | '3323' | '3325' | '3328' | '3331' | '3332' | '3334' | '3341' | '3342' | '3343' | '3344' | '3345' | '335' | '3351' | '3352' | '3353' | '3359' | '336' | '3361' | '3363' | '3364' | '3365' | '3366' | '337' | '3372' | '3391' | '3399' | '42' | '4231' | '4233' | '4234' | '4235' | '4236' | '4238' | '4244' | '4245' | '4246' | '4247' | '4248' | '44-45' | '4411' | '4441' | '4451' | '4491' | '4561' | '4571' | '458' | '4591' | '4593' | '48-49' | '4811' | '482' | '483' | '484' | '485' | '4851' | '4853' | '4921' | '493' | '51' | '5121' | '5122' | '5131' | '5132' | '5161' | '5162' | '5173' | '519' | '5192' | '52' | '5221' | '5231' | '5239' | '5241' | '5242' | '53' | '5311' | '5312' | '532' | '5322' | '54' | '5411' | '5412' | '5413' | '5414' | '5415' | '5416' | '5417' | '5418' | '5419' | '5511' | '56' | '5613' | '5614' | '5615' | '5616' | '5617' | '562' | '5621' | '611' | '6111' | '6113' | '6114' | '6115' | '621' | '6213' | '6214' | '6215' | '6216' | '622' | '623' | '6241' | '6242' | '6244' | '71' | '7111' | '7112' | '7115' | '712' | '7132' | '7139' | '721' | '722' | '7225' | '81' | '811' | '8111' | '812' | '8121' | '8123' | '8129' | '813' | '8131' | '8132' | '8134' | '8139' | '92' | '9211' | '9221' | '9281' | 'unknown'
- `employeeCountBuckets` string[]
- `foundedYearMin` number
- `foundedYearMax` number
- `sort` 'recent' | 'prominence'
- `order` 'asc' | 'desc'
- `minFundingUsdLast12mo` number
- `minKnownPeople` number
- `hasKnownFounder` boolean

## Response `200`

Request accepted. The number of records returned may be lower than limit when credits or data run out.

- object
  - `success` true, required
  - `data` PublicCompanyDto[], required
    - `id` object, nullable, required
    - `name` string, required
    - `domain` object, nullable, required
    - `website` object, nullable, required: The address the company website loads at, which can differ from domain (for example a www host). Null when no working site is known.
    - `description` object, nullable, required
    - `linkedinHandle` object, nullable, required
    - `linkedinUrl` object, nullable, required
    - `linkedinGeoId` object, nullable, required
    - `linkedinIndustryId` object, nullable, required
    - `naicsCode` object, nullable, required: NAICS 2022 code derived from the industry classification. Null when no honest mapping exists.
    - `naicsLevel` 2 | 3 | 4, nullable, required: Depth of naicsCode: 2 = sector, 3 = subsector, 4 = industry group.
    - `hqCity` object, nullable, required
    - `hqCountry` CountryDto, required
      - `code` string, required: ISO 3166-1 alpha-2 country code.
      - `name` string, required: Human-readable country name.
    - `industryGroup` object, nullable, required
    - `industrySubTags` string[], required
    - `verticals` string[], required
    - `employeeCountBucket` object, nullable, required
    - `foundedYear` object, nullable, required
    - `businessModel` object, nullable, required
  - `pagination` PublicPagination, required
    - `hasMore` boolean, required: Whether another page is available.
    - `nextCursor` object, nullable, required: Cursor to pass to the next request. Null when hasMore is false.
    - `total` number: Total records matching the filters across all pages. Present only when includeTotal=true; the same on every page of a listing.
  - `meta` PublicResponseMeta, required
    - `endpoint` string, required: Stable endpoint identifier for logging and support.
    - `creditsUsed` number, required: Credits consumed by this request after the response size is known.
    - `creditsRemaining` object, nullable, required: Workspace credits remaining after this request.
    - `notice` string: Present only when a lookup resolved nothing. Absence of a company is an ordinary outcome here, not a failed request: records are built from funding, acquisition and executive-move announcements, so a company that has not appeared in one is simply not covered.

## Other responses

- `400`: Invalid query parameter, body, or pagination cursor.
- `401`: Missing, invalid, or disabled API key.
- `402`: Workspace has no credits available for the request.
- `403`: Request blocked by abuse prevention policy.
- `429`: Rate limit exceeded for this workspace and plan.

---

[API](https://skmtc.dev/datahyena/apis/datahyena-public-api.md) · [All operations](https://skmtc.dev/datahyena/apis/datahyena-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/datahyena/apis/datahyena-public-api/revisions/0de0060625e4?raw)
