docs / ats-jobs
Company Job Boards
Jobs straight from company career pages.
base /ats-jobs/v14 endpoints
post
/ats-jobs/v1/company_jobs1 creditall open jobs for a board → {jobs[]{id,title,url,company,location,locations,...}, count, total, company, ats_source}. `ats`=greenhouse|lever|ashby|workable + `company` (board token/subdomain).
| Parameter | Required |
|---|---|
| ats | required |
| company | required |
| limit | optional |
| cursor | optional |
| page | optional |
post
/ats-jobs/v1/job_detail1 creditone fully-populated job (description + requirements/benefits) by `ats` + `company` + `job_id`.
| Parameter | Required |
|---|---|
| ats | required |
| company | required |
| job_id | required |
post
/ats-jobs/v1/search1 creditcross-company job search over the Workable aggregator (170K jobs) → jobs[]. `query` + (default `ats`=workable). paginated.
| Parameter | Required |
|---|---|
| query | required |
| ats | optional |
| limit | optional |
| cursor | optional |
| page | optional |
post
/ats-jobs/v1/providers1 creditthe supported ATS providers + their capabilities
Try in playground →Example request · company_jobs
curl -X POST https://api.reefapi.com/ats-jobs/v1/company_jobs \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"ats":"greenhouse","company":"gitlab"}'Response shape
{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}