---
title: "Company hiring profile"
method: GET
path: "/v1/companies/hiring"
tags: ["companies"]
---

# Company hiring profile

`GET /v1/companies/hiring`

## Request

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

Resolve one company by id, domain, name, or LinkedIn URL and return its hiring picture right now: open roles by role family and function, leadership and founding roles, the tools its roles name, its hiring stance and its hiring signals from the last 90 days. Costs one credit. A company we have not read yet answers 202 with meta.discovery and is read straight away; nothing is charged.

## Query parameters

- `id` string
- `domain` string
- `name` string
- `linkedinUrl` string
- `include` string[]

## Response `200`

Item resolved. Returns the item and credit usage in meta.

- object
  - `success` true, required
  - `data` HiringProfileDto, required
    - `company` CompanyDto, 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
      - `createdAt` object, nullable, required
      - `updatedAt` object, nullable, required
    - `stance` 'frozen' | 'none_open' | 'expanding' | 'building_founding_team' | 'building_leadership' | 'building_gtm' | 'scaling_engineering' | 'hiring_steadily' | 'no_public_board', required: The company hiring stance right now. no_public_board means we found no public job board, which is not the same as not hiring.
    - `traits` string[], required: Every stance that applies, most significant first.
    - `board` HiringBoardDto, required
      - `platform` string, required: The company's hiring platform, or careers_page.
      - `careersUrl` object, nullable, required
      - `readAt` string, required: When we last read it.
      - `complete` object, nullable, required: Whether the last read listed every open role the board reports.
    - `openRoles` number, required: Open roles the board reports.
    - `leadershipRoles` number, required: Open leadership roles (C-level, VP, Head, Director).
    - `foundingRoles` number, required: Open founding or first-hire roles.
    - `byRoleFamily` HiringBreakdownDto[], required: Open roles by role family.
      - `key` string, required
      - `openRoles` number, required
    - `byFunction` HiringBreakdownDto[], required: Open roles by function.
      - `key` string, required
      - `openRoles` number, required
    - `technologies` HiringTechnologyCountDto[], required: Business tools the open roles name, most frequent first.
      - `technology` string, required
      - `openRoles` number, required
    - `recentSignals` HiringSignalResponseItem[], required: Hiring signals from the last 90 days, newest first, up to 10.
      - `id` string, required
      - `eventType` string, required
      - `company` CompanyDto, 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
        - `createdAt` object, nullable, required
        - `updatedAt` object, nullable, required
      - `function` string, required: The function the signal is about, or all for company-wide signals.
      - `seniority` object, nullable, required
      - `roleFamily` object, nullable, required: The role family the signal is about, for example sales_development or revops.
      - `country` CountryDto, required
        - `code` string, required: ISO 3166-1 alpha-2 country code.
        - `name` string, required: Human-readable country name.
      - `technologies` string[], required: Technologies named across the roles behind the signal.
      - `announcedAt` string, required: When the signal started.
      - `endedAt` object, nullable, required: When every role behind it closed.
      - `active` boolean, required: Whether any role behind the signal is still open.
      - `roleCount` number, required: Number of open roles behind the signal.
      - `roles` HiringRoleDto[], required: Up to 10 roles behind the signal.
        - `title` string, required
        - `function` string, required
        - `seniority` string, required
        - `roleFamily` object, nullable, required
        - `location` object, nullable, required
        - `postedAt` object, nullable, required
        - `url` object, nullable, required
        - `salary` HiringSalaryDto, required
          - `min` object, nullable, required
          - `max` object, nullable, required
          - `currency` object, nullable, required
          - `interval` 'year' | 'month' | 'week' | 'day' | 'hour', nullable, required
        - `technologies` string[], required: Technologies the role names.
      - `board` string, required: The company's hiring platform.
      - `discoveredAt` string, required
      - `confidenceScore` object, nullable, required
      - `confidence` 'high' | 'medium' | 'low', nullable, required
  - `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)
