---
title: "Hiring Signals"
description: "Detect which companies are actively hiring based on recent job changes."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.kooperativa.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Hiring Signals

`GET /api/v1/company/hiring-signals`

Returns people who recently joined a company, a strong signal the company is actively hiring and growing.

:::tip
Combine this with [Headcount by Seniority](/companies/headcount-by-seniority) to understand where a company is growing. If they're hiring mostly engineers, they're in a build phase; mostly sales means they're scaling revenue.
:::

## Query parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `company_id` | string | **Yes** | Numeric company ID |
| `days` | integer | No | Lookback window in days (default: 90) |
| `page` | integer | No | Page number (default: 1) |
| `per_page` | integer | No | Results per page (default: 10, max: 50) |

## Code examples

```bash title="cURL"
curl "https://kooperativa.io/api/v1/company/hiring-signals?company_id=2135371&days=30" \
  -H "Authorization: Bearer ik_live_..."
```

```js title="JavaScript"
const res = await fetch(
  "https://kooperativa.io/api/v1/company/hiring-signals?company_id=2135371&days=30",
  { headers: { Authorization: `Bearer ${process.env.KOOPERATIVA_API_KEY}` } }
);
const { results, total } = await res.json();
```

## Response

```json
{
  "company_id": "2135371",
  "window_days": 30,
  "results": [
{
  "id": "c3d4e5f6-...",
  "full_name": "Alex Johnson",
  "current_title": "Senior Engineer",
  "current_company": "Stripe"
}
  ],
  "total": 103,
  "page": 1,
  "per_page": 10
}
```

:::note
Results reflect people whose `fetched_at` date falls within the window. This is when our data lake last saw them at this company, not necessarily their exact start date.
:::

Source: https://docs.kooperativa.io/companies/hiring-signals/index.mdx
