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

# ATS job board APIs

> Search active job postings from Greenhouse, Lever, Ashby, Workday, SmartRecruiters, and Recruitee through GET /v1/search. One normalized schema, 1 credit.

Pinned indexes over public applicant tracking system boards. Each engine locks
`ats` to that provider. The posting schema matches [indexed Jobs search](/docs/jobs-api/search):
title, company, location, workplace, apply URL, and skills.

These are **not** live scrapes of a company's career site at request time.
Clair reads its prebuilt ATS index. 1 credit per call.

See the catalog: [Greenhouse](https://clair.im/dashboard/apis/greenhouse),
[Lever](https://clair.im/dashboard/apis/lever),
[Ashby](https://clair.im/dashboard/apis/ashby),
[Workday](https://clair.im/dashboard/apis/workday),
[SmartRecruiters](https://clair.im/dashboard/apis/smartrecruiters),
[Recruitee](https://clair.im/dashboard/apis/recruitee).

## Endpoint

`GET /v1/search?engine={ats}` · **1 credit**

| `engine`          | Pin                   |
| ----------------- | --------------------- |
| `greenhouse`      | `ats=greenhouse`      |
| `lever`           | `ats=lever`           |
| `ashby`           | `ats=ashby`           |
| `workday`         | `ats=workday`         |
| `smartrecruiters` | `ats=smartrecruiters` |
| `recruitee`       | `ats=recruitee`       |

```sh theme={null}
curl -G https://api.clair.im/v1/search \
  -H "Authorization: Bearer YOUR_KEY" \
  --data-urlencode "engine=greenhouse" \
  --data-urlencode "q=platform engineer" \
  --data-urlencode "workplace_type=remote" \
  --data-urlencode "limit=25"
```

## Parameters

| Parameter        | Required | Contract                                    |
| ---------------- | -------- | ------------------------------------------- |
| `engine`         | yes      | One of the ATS ids above.                   |
| `q`              | no       | Keyword over title and company.             |
| `workplace_type` | no       | `remote`, `hybrid`, or `onsite`.            |
| `limit`          | no       | Page size. Default 25, max 100.             |
| `cursor`         | no       | Opaque continuation from the previous page. |

Do not send `page`. These engines use `limit` and `cursor` like
[`GET /v1/jobs`](/docs/jobs-api/search). Do not pass a different `ats` than the
engine pin.

For every ATS at once, call [`GET /v1/jobs`](/docs/jobs-api/search) instead of
`/v1/search`.

Auth, credits, and error codes: [Authentication](/docs/authentication).
