---
title: "Is this company hiring?"
method: GET
path: "/v1/companies/{company_id}/is-hiring"
---

# Is this company hiring?

`GET /v1/companies/{company_id}/is-hiring`

## Request

- Base URL: `https://api.reqbeat.com`
- URL: `https://api.reqbeat.com/v1/companies/{company_id}/is-hiring`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Cheap is-hiring gate -- LinkedIn-excluded (ATS tenants plus public job boards and aggregators),
freshness-floored: qualifies a
company before an agent spends on a richer call. A free-tier account
past its cost-to-serve cap degrades to a demand-signal-only path,
returning `202 {status: "over_cap"}` instead of a served read -- the
same convention as the cold-tail `202 {job_id, status: "crawling"}`.

Requires the `read` scope.

## Path parameters

- `company_id` integer, required: The plane's company id -- returned as `company_id` by /v1/reqs/search and by every company motion response.

## Headers

- `Idempotency-Key` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `401`: No API key was sent.
- `402`: The key is over its plan's rolling call quota, or the account is past its spend cap. `upgrade_url` and `purchase_url` are the ways out.
- `403`: The presented key is invalid or revoked, or (see `x-required-scope` on this operation) it does not carry the scope this operation requires.
- `422`: Validation Error
- `429`: Too many calls in the current 60-second window. The limit is per API key, set by the key's plan, and shared by every metered REST route and MCP tool; the shared demo key is limited per IP address instead. Wait `Retry-After` seconds and retry. The `RateLimit-*` headers are absent when `reason` is `key_throttled`.

---

[API](https://skmtc.dev/reqbeat/apis/reqbeat-api.md) · [All operations](https://skmtc.dev/reqbeat/apis/reqbeat-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reqbeat/apis/reqbeat-api/revisions/4758e5957e8c?raw)
