datahyena-com Hiring Signals API

Hiring signals from company job boards: leadership openings, founding roles, team scaling, technology hiring (beta) and hard-to-fill roles, plus each company's current hiring profile. Build-outs, surges, freezes, country expansion and filled leadership roles are rolling out as weekly history accumulates.

Operations 1

GET /v1/hiring-signals List hiring signals #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/datahyena-com:datahyena-com-hiring-signals-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

datahyena-com-hiring-signals-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Datahyena Public Hiring Signals API
  description: Read-only API for funding events, acquisitions, executive moves, hiring signals, companies, and investors.
  version: '1.0'
  contact: {}
servers:
- url: https://api.datahyena.com
  description: Production
security:
- apiKey: []
tags:
- name: hiring-signals
  description: 'Hiring signals from company job boards: leadership openings, founding roles, team scaling, technology hiring (beta) and hard-to-fill roles, plus each company''s current hiring profile. Build-outs, surges, freezes, country expansion and filled leadership roles are rolling out as weekly history accumulates.'
  x-displayName: Hiring Signals
paths:
  /v1/hiring-signals:
    get:
      description: 'Returns hiring signals read from companies'' own job boards and careers pages, newest first: leadership openings, founding roles, team scaling, technology hiring (beta) and hard-to-fill roles. Build-outs, surges, freezes, country expansion and filled leadership roles appear as weekly history accumulates. Each signal carries the roles behind it, with salary and technologies where the posting states them. Costs one credit per returned signal.'
      operationId: hiring_signals_list
      parameters:
      - name: cursor
        required: false
        in: query
        description: Opaque pagination cursor returned as pagination.nextCursor.
        schema:
          type: string
      - name: companyId
        required: false
        in: query
        description: Company UUID filter.
        schema:
          example: 01jykbrpavr3zdvcpzxv
          type: string
      - name: domain
        required: false
        in: query
        description: Return only hiring signals for the company with this domain. Matches the company's primary domain or any domain it has redirected from; a full URL is accepted. An unknown domain returns an empty page.
        schema:
          example: figma.com
          type: string
      - name: eventType
        required: false
        in: query
        description: Signal types (OR). Repeat the query key for multiple values.
        schema:
          example:
          - leadership_opening
          type: array
          items:
            type: string
            enum:
            - leadership_opening
            - founding_role
            - role_family_scaling
            - technology_hiring
            - team_buildout
            - hiring_surge
            - hiring_freeze
            - location_expansion
            - hard_to_fill
            - leadership_filled
      - name: function
        required: false
        in: query
        description: Job functions (OR), for example sales or engineering, or all for company-wide signals.
        schema:
          example:
          - sales
          - marketing
          type: array
          items:
            type: string
            enum:
            - engineering
            - data
            - security
            - it
            - product
            - design
            - sales
            - marketing
            - customer_success
            - operations
            - finance
            - people
            - legal
            - research
            - healthcare
            - executive
            - other
            - all
      - name: seniority
        required: false
        in: query
        description: Seniority (OR). Matches a leadership opening of that level, or any signal with at least one posting at that level.
        schema:
          example:
          - c_level
          - vp_level
          type: array
          items:
            type: string
            enum:
            - c_level
            - vp_level
            - head
            - director
            - manager
            - senior
            - individual
            - entry
            - intern
      - name: technologies
        required: false
        in: query
        description: Technologies named in the roles behind the signal (OR), for example snowflake.
        schema:
          example:
          - snowflake
          - dbt
          type: array
          items:
            type: string
            enum:
            - python
            - typescript
            - javascript
            - java
            - golang
            - rust
            - cpp
            - csharp
            - ruby
            - php
            - kotlin
            - swift
            - scala
            - elixir
            - sql
            - react
            - react-native
            - nextjs
            - vue
            - angular
            - nodejs
            - django
            - fastapi
            - spring
            - flutter
            - graphql
            - spark
            - kafka
            - airflow
            - dbt
            - snowflake
            - databricks
            - bigquery
            - redshift
            - tableau
            - looker
            - power-bi
            - pandas
            - pytorch
            - tensorflow
            - llm
            - langchain
            - openai
            - hugging-face
            - cuda
            - aws
            - gcp
            - azure
            - cloudflare
            - vercel
            - kubernetes
            - docker
            - terraform
            - ansible
            - github-actions
            - datadog
            - grafana
            - postgresql
            - mysql
            - mongodb
            - redis
            - elasticsearch
            - clickhouse
            - dynamodb
            - salesforce
            - hubspot
            - zendesk
            - intercom
            - outreach
            - salesloft
            - gong
            - apollo
            - zoominfo
            - linkedin-sales-navigator
            - clay
            - marketo
            - google-ads
            - google-analytics
            - segment
            - braze
            - webflow
            - netsuite
            - sap
            - quickbooks
            - xero
            - workday
            - excel
            - figma
            - jira
            - amplitude
            - mixpanel
            - notion
            - soc2
            - iso27001
            - okta
            - crowdstrike
      - name: roleFamily
        required: false
        in: query
        description: Role families behind the signal (OR), for example sales_development or revops.
        schema:
          example:
          - sales_development
          - revops
          type: array
          items:
            type: string
            enum:
            - sales_development
            - sales
            - sales_engineering
            - revops
            - gtm_engineering
            - partnerships
            - marketing
            - demand_gen
            - product_marketing
            - content_brand
            - customer_success
            - support
            - software_engineering
            - hardware_engineering
            - infrastructure
            - security
            - data_engineering
            - data_analytics
            - ml_ai
            - product_management
            - design
            - recruiting
            - people
            - finance
            - legal
            - it
            - operations
            - science
            - production
      - name: countries
        required: false
        in: query
        description: Headquarters country codes (OR). Repeat the query key for multiple values.
        schema:
          example:
          - US
          - GB
          type: array
          items:
            type: string
            enum:
            - AD
            - AE
            - AF
            - AG
            - AI
            - AL
            - AM
            - AO
            - AR
            - AS
            - AT
            - AU
            - AW
            - AX
            - AZ
            - BA
            - BB
            - BD
            - BE
            - BF
            - BG
            - BH
            - BI
            - BJ
            - BL
            - BM
            - BN
            - BO
            - BQ
            - BR
            - BS
            - BT
            - BW
            - BY
            - BZ
            - CA
            - CD
            - CF
            - CG
            - CH
            - CI
            - CK
            - CL
            - CM
            - CN
            - CO
            - CR
            - CU
            - CV
            - CW
            - CY
            - CZ
            - DE
            - DJ
            - DK
            - DM
            - DO
            - DZ
            - EC
            - EE
            - EG
            - EH
            - ER
            - ES
            - ET
            - FI
            - FJ
            - FK
            - FM
            - FO
            - FR
            - GA
            - GB
            - GD
            - GE
            - GF
            - GG
            - GH
            - GI
            - GL
            - GM
            - GN
            - GP
            - GQ
            - GR
            - GT
            - GU
            - GW
            - GY
            - HK
            - HN
            - HR
            - HT
            - HU
            - ID
            - IE
            - IL
            - IM
            - IN
            - IQ
            - IR
            - IS
            - IT
            - JE
            - JM
            - JO
            - JP
            - KE
            - KG
            - KH
            - KI
            - KM
            - KN
            - KP
            - KR
            - KW
            - KY
            - KZ
            - LA
            - LB
            - LC
            - LI
            - LK
            - LR
            - LS
            - LT
            - LU
            - LV
            - LY
            - MA
            - MC
            - MD
            - ME
            - MF
            - MG
            - MH
            - MK
            - ML
            - MM
            - MN
            - MO
            - MP
            - MQ
            - MR
            - MS
            - MT
            - MU
            - MV
            - MW
            - MX
            - MY
            - MZ
            - NA
            - NC
            - NE
            - NG
            - NI
            - NL
            - 'NO'
            - NP
            - NR
            - NU
            - NZ
            - OM
            - PA
            - PE
            - PF
            - PG
            - PH
            - PK
            - PL
            - PM
            - PR
            - PS
            - PT
            - PW
            - PY
            - QA
            - RE
            - RO
            - RS
            - RU
            - RW
            - SA
            - SB
            - SC
            - SD
            - SE
            - SG
            - SH
            - SI
            - SK
            - SL
            - SM
            - SN
            - SO
            - SR
            - SS
            - ST
            - SV
            - SX
            - SY
            - SZ
            - TC
            - TD
            - TG
            - TH
            - TJ
            - TK
            - TL
            - TM
            - TN
            - TO
            - TR
            - TT
            - TV
            - TW
            - TZ
            - UA
            - UG
            - US
            - UY
            - UZ
            - VA
            - VC
            - VE
            - VG
            - VI
            - VN
            - VU
            - WF
            - WS
            - YE
            - YT
            - ZA
            - ZM
            - ZW
            - unknown
      - name: activeOnly
        required: false
        in: query
        description: 'Return only signals still in progress: the roles are still open. Ended signals stay available for history.'
        schema:
          example: true
          type: boolean
      - name: includeTotal
        required: false
        in: query
        description: Also return pagination.total, the number of records matching these filters across all pages. Costs no credits; adds a count query, so ask for it when you need the list size.
        schema:
          example: true
          type: boolean
      - name: since
        required: false
        in: query
        description: Return signals dated on or after this date (YYYY-MM-DD). ISO-8601 timestamps are also accepted.
        schema:
          example: '2026-10-01'
          type: string
      - name: until
        required: false
        in: query
        description: Return signals dated on or before this date (YYYY-MM-DD, inclusive). ISO-8601 timestamps are also accepted.
        schema:
          example: '2026-10-31'
          type: string
      - name: limit
        required: false
        in: query
        description: Maximum records to return.
        schema:
          minimum: 1
          maximum: 100
          default: 20
          type: number
      responses:
        '200':
          description: Request accepted. The number of records returned may be lower than limit when credits or data run out.
          content:
            application/json:
              schema:
                type: object
                required:
                - success
                - data
                - pagination
                - meta
                properties:
                  success:
                    type: boolean
                    enum:
                    - true
                    example: true
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/PublicHiringSignalResponseItem'
                  pagination:
                    $ref: '#/components/schemas/PublicPagination'
                  meta:
                    $ref: '#/components/schemas/PublicResponseMeta'
        '400':
          description: Invalid query parameter, body, or pagination cursor.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorEnvelope'
              example:
                success: false
                error:
                  code: INVALID_INPUT
                  message: limit must not be greater than 100
                meta:
                  requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
        '401':
          description: Missing, invalid, or disabled API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorEnvelope'
              example:
                success: false
                error:
                  code: UNAUTHORIZED
                  message: Missing or invalid API key.
                meta:
                  requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
        '402':
          description: Workspace has no credits available for the request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorEnvelope'
              example:
                success: false
                error:
                  code: PAYMENT_REQUIRED
                  message: Workspace has no credits remaining. Top up to continue.
                meta:
                  requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
        '403':
          description: Request blocked by abuse prevention policy.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorEnvelope'
              example:
                success: false
                error:
                  code: FORBIDDEN
                  message: Request blocked by abuse prevention policy.
                meta:
                  requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
        '429':
          description: Rate limit exceeded for this workspace and plan.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicErrorEnvelope'
              example:
                success: false
                error:
                  code: TOO_MANY_REQUESTS
                  message: Rate limit exceeded for this workspace and plan.
                meta:
                  requestId: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
      security:
      - apiKey: []
      summary: List hiring signals
      tags:
      - hiring-signals
components:
  schemas:
    PublicHiringSignalResponseItem:
      type: object
      properties:
        id:
          type: string
          example: 019e8a3c-0a12-7e88-a3d1-4f5a6b7c8d9e
        eventType:
          type: string
          example: leadership_opening
        function:
          type: string
          example: sales
          description: The function the signal is about, or all for company-wide signals.
        seniority:
          type:
          - object
          - 'null'
          example: vp_level
        roleFamily:
          type:
          - object
          - 'null'
          example: sales_development
          description: The role family the signal is about, for example sales_development or revops.
        country:
          description: The new country, on location_expansion signals.
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/CountryDto'
        technologies:
          example:
          - salesforce
          - gong
          description: Technologies named across the roles behind the signal.
          type: array
          items:
            type: string
        announcedAt:
          type: string
          example: '2026-10-02'
          description: When the signal started.
        endedAt:
          type:
          - object
          - 'null'
          example: null
          description: When every role behind it closed.
        active:
          type: boolean
          example: true
          description: Whether any role behind the signal is still open.
        roleCount:
          type: number
          example: 2
          description: Number of open roles behind the signal.
        roles:
          description: Up to 10 roles behind the signal.
          type: array
          items:
            $ref: '#/components/schemas/HiringRoleDto'
        board:
          type: string
          example: ashby
          description: The company's hiring platform.
        discoveredAt:
          type: string
          example: '2026-10-13T09:20:00.000Z'
        company:
          $ref: '#/components/schemas/PublicCompanyDto'
      required:
      - id
      - eventType
      - function
      - seniority
      - roleFamily
      - country
      - technologies
      - announcedAt
      - endedAt
      - active
      - roleCount
      - roles
      - board
      - discoveredAt
      - company
    CountryDto:
      type: object
      properties:
        code:
          type: string
          example: US
          description: ISO 3166-1 alpha-2 country code.
        name:
          type: string
          example: United States
          description: Human-readable country name.
      required:
      - code
      - name
    HiringSalaryDto:
      type: object
      properties:
        min:
          type:
          - object
          - 'null'
          example: 185000
        max:
          type:
          - object
          - 'null'
          example: 250000
        currency:
          type:
          - object
          - 'null'
          example: USD
        interval:
          type:
          - string
          - 'null'
          example: year
          enum:
          - year
          - month
          - week
          - day
          - hour
      required:
      - min
      - max
      - currency
      - interval
    HiringRoleDto:
      type: object
      properties:
        title:
          type: string
          example: Head of Sales
        function:
          type: string
          example: sales
        seniority:
          type: string
          example: head
        roleFamily:
          type:
          - object
          - 'null'
          example: sales
        location:
          type:
          - object
          - 'null'
          example: London, United Kingdom
        postedAt:
          type:
          - object
          - 'null'
          example: '2026-10-02'
        url:
          type:
          - object
          - 'null'
          example: https://jobs.ashbyhq.com/acme/1234
        salary:
          description: Posted pay range.
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/HiringSalaryDto'
        technologies:
          example:
          - salesforce
          - gong
          description: Technologies the role names.
          type: array
          items:
            type: string
      required:
      - title
      - function
      - seniority
      - roleFamily
      - location
      - postedAt
      - url
      - salary
      - technologies
    PublicResponseMeta:
      type: object
      properties:
        endpoint:
          type: string
          example: funding_events.list
          description: Stable endpoint identifier for logging and support.
        creditsUsed:
          type: number
          example: 20
          description: Credits consumed by this request after the response size is known.
        creditsRemaining:
          type:
          - object
          - 'null'
          example: 980
          description: Workspace credits remaining after this request.
        notice:
          type: string
          example: No events on record for this company.
          description: '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.'
        discovery:
          description: Present when we held nothing for an exact domain and have started researching it. Ask again later; nothing is charged meanwhile.
          allOf:
          - $ref: '#/components/schemas/DiscoveryMeta'
      required:
      - endpoint
      - creditsUsed
      - creditsRemaining
    PublicErrorEnvelope:
      type: object
      properties:
        success:
          type: boolean
          enum:
          - false
          example: false
        error:
          $ref: '#/components/schemas/PublicErrorBody'
        meta:
          $ref: '#/components/schemas/PublicErrorMeta'
      required:
      - success
      - error
      - meta
    PublicCompanyDto:
      type: object
      properties:
        id:
          type:
          - object
          - 'null'
          example: 019e8a3c-2b10-7c44-8a1f-9d8e7c6b5a40
        name:
          type: string
          example: Acme AI
        domain:
          type:
          - object
          - 'null'
          example: acme.ai
        website:
          type:
          - object
          - 'null'
          example: https://www.acme.ai/
          description: 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:
          type:
          - object
          - 'null'
          example: AI workflow automation for enterprise revenue teams.
        linkedinHandle:
          type:
          - object
          - 'null'
          example: acme-ai
        linkedinUrl:
          type:
          - object
          - 'null'
          example: https://www.linkedin.com/company/acme-ai
        linkedinGeoId:
          type:
          - object
          - 'null'
          example: '90000084'
        linkedinIndustryId:
          type:
          - object
          - 'null'
          example: '4'
        naicsCode:
          type:
          - object
          - 'null'
          example: '5132'
          description: NAICS 2022 code derived from the industry classification. Null when no honest mapping exists.
        naicsLevel:
          type:
          - number
          - 'null'
          example: 4
          enum:
          - 2
          - 3
          - 4
          description: 'Depth of naicsCode: 2 = sector, 3 = subsector, 4 = industry group.'
        hqCity:
          type:
          - object
          - 'null'
          example: San Francisco
        hqCountry:
          type:
          - object
          - 'null'
          allOf:
          - $ref: '#/components/schemas/CountryDto'
        industryGroup:
          type:
          - object
          - 'null'
          example: Software Development
        industrySubTags:
          example:
          - Artificial Intelligence
          - Sales Automation
          type: array
          items:
            type: string
        verticals:
          example:
          - ai
          - fintech
          type: array
          items:
            type: string
        employeeCountBucket:
          type:
          - object
          - 'null'
          example: 51-200
        foundedYear:
          type:
          - object
          - 'null'
          example: 2021
        businessModel:
          type:
          - object
          - 'null'
          example: B2B SaaS
      required:
      - id
      - name
      - domain
      - website
      - description
      - linkedinHandle
      - linkedinUrl
      - linkedinGeoId
      - linkedinIndustryId
      - naicsCode
      - naicsLevel
      - hqCity
      - hqCountry
      - industryGroup
      - industrySubTags
      - verticals
      - employeeCountBucket
      - foundedYear
      - businessModel
    PublicErrorMeta:
      type: object
      properties:
        requestId:
          type: string
          example: 019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c
          description: Request id when one was attached by the server.
    DiscoveryMeta:
      type: object
      properties:
        status:
          type: string
          example: building
          enum:
          - building
        domain:
          type: object
          example: acme.com
        retryAfterSeconds:
          type: number
          example: 300
          description: Seconds to wait before asking again. Research usually completes within hours.
        note:
          type: string
          example: We had not read this company yet and have started now.
      required:
      - status
      - domain
      - retryAfterSeconds
    PublicPagination:
      type: object
      properties:
        hasMore:
          type: boolean
          example: true
          description: Whether another page is available.
        nextCursor:
          type:
          - object
          - 'null'
          example: eyJpZCI6IjAxOWU4YTNjLTJiMTAtN2M0NC04YTFmLTlkOGU3YzZiNWE0MCJ9
          description: Cursor to pass to the next request. Null when hasMore is false.
        total:
          type: number
          example: 1284
          description: Total records matching the filters across all pages. Present only when includeTotal=true; the same on every page of a listing.
      required:
      - hasMore
      - nextCursor
    PublicErrorBody:
      type: object
      properties:
        code:
          type: string
          enum:
          - INVALID_CURSOR
          - INVALID_INPUT
          - UNAUTHORIZED
          - FORBIDDEN
          - NOT_FOUND
          - PAYMENT_REQUIRED
          - TOO_MANY_REQUESTS
          example: INVALID_INPUT
        message:
          type: string
          example: limit must not be greater than 100
        details:
          type: object
          additionalProperties: true
          description: Optional machine-readable context for validation errors.
      required:
      - code
      - message
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: X-API-Key