Company Job Boards API
The ATS Job Boards API returns company-direct job postings pulled straight from applicant-tracking systems (Greenhouse, Lever and more) as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary company_jobs endpoint returns a company's open roles with title, URL, location(s), department and the ATS source — the authoritative postings, before they are syndicated to job boards. You can also fetch a single job_detail, search across companies and list the supported providers. It is built for recruiting tools, labor-market analysts and sales-intelligence teams that want first-source hiring data without scraping dozens of separate career pages. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/ats-jobs/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"query": "python engineer",
"ats": "workable"
}
}{
"ok": true,
"meta": {
"api": "ats-jobs",
"endpoint": "search",
"mode": "live",
"latency_ms": 1931.6,
"record_count": 50,
"bytes": 421776,
"cache_hit": false,
"completeness_pct": 93.7,
"ats": "workable",
"total": 2201,
"requests": 3
},
"data": {
"jobs": [
{
"id": "3xbmgvn389SGfSwERYGABM",
"title": "Junior Python Engineer (f/m/d)",
"url": "https://jobs.workable.com/view/3xbmgvn389SGfSwERYGABM/hybrid-junior-python-engineer-(f%2Fm%2Fd)-in-vienna-at-adverity",
"ats_source": "workable",
"company": "Adverity",
"location": "Vienna, Vienna, Austria",
"locations": [
"Vienna, Vienna, Austria"
],
"department": "Engineering",
"team": null,
"employment_type": "full_time",
"remote": false,
"workplace_type": "hybrid",
"posted_date": "[redacted-phone]T14:52:10.751Z",
"updated_date": "[redacted-phone]T14:52:10.751Z",
"requisition_id": null,
"apply_url": null,
"compensation": null,
"description_html": "<p>We are looking for a curious and driven<strong> Junior Python Engineer</strong> to join our product organisation. You'll help build features that genuinely solve problems for our users, working alongside experienced colleagues and mentors from day one.</p><p>This is a full-time role based in Vienna. We ask you to be in the office three times per week, as we value in-person collaboration and see real benefit in it.</p><h3><strong>Some of the things you'll work on:</strong></h3><ul><li>Join a team and work closely with colleagues, mentors, and team leads.</li><li>Get up to speed on our engine",
"description_text": "We are looking for a curious and driven Junior Python Engineer to join our product organisation. You'll help build features that genuinely solve problems for our users, working alongside experienced colleagues and mentors from day one.\nThis is a full-time role based in Vienna. We ask you to be in the office three times per week, as we value in-person collaboration and see real benefit in it.\nSome of the things you'll work on:\nJoin a team and work closely with colleagues, mentors, and team leads.\nGet up to speed on our engineering practices and product landscape through your first projects.\nBui",
"company_slug": "adverity",
"location_parsed": {
"remote": false,
"city": "Vienna",
"region": "Austria"
},
"is_new": true,
"is_active": true
},
{
"id": "ej9PWCnmQ92jUWWvcendDF",
"title": "Senior Python Engineer - Data & ML Systems",
"url": "https://jobs.workable.com/view/ej9PWCnmQ92jUWWvcendDF/remote-senior-python-engineer---data-%26-ml-systems-in-ireland-at-finclude",
"ats_source": "workable",
"company": "Finclude",
"location": "Ireland",
"locations": [
"TELECOMMUTE",
"Ireland"
],
"department": "Technology",
"team": null,
"employment_type": "full_time",
"remote": true,
"workplace_type": "remote",
"posted_date": "[redacted-phone]T13:32:37.924Z",
"updated_date": "[redacted-phone]T13:32:37.924Z",
"requisition_id": null,
"apply_url": null,
"compensation": null,
"description_html": "<h3>About us</h3><p>Finclude is a Dublin-based fintech pioneer revolutionizing how creditworthiness is assessed across Europe. We are bridging the gap for over 200 million people who lack traditional credit access by replacing outdated history-based models with real-time, AI-driven transactional intelligence. </p><p></p><h3>What you’ll be working on</h3><p>You will work on a Python-based system responsible for:</p><ul><li>Processing and transforming transactional data from multiple banking sources</li><li>Designing data pipelines tailored to real-world data inconsistencies and edge cases</li><",
"description_text": "About us\nFinclude is a Dublin-based fintech pioneer revolutionizing how creditworthiness is assessed across Europe. We are bridging the gap for over 200 million people who lack traditional credit access by replacing outdated history-based models with real-time, AI-driven transactional intelligence. \n\nWhat you’ll be working on\nYou will work on a Python-based system responsible for:\nProcessing and transforming transactional data from multiple banking sources\nDesigning data pipelines tailored to real-world data inconsistencies and edge cases\nBuilding systems for data normalization, categorization",
"company_slug": "finclude",
"location_parsed": {
"remote": false,
"city": "Ireland",
"country": "Ireland"
},
"is_new": false,
"is_active": true
},
{
"id": "tHHAVj4LfDiQ274AduhhMQ",
"title": "Senior Python Engineer - Data & ML Systems",
"url": "https://jobs.workable.com/view/tHHAVj4LfDiQ274AduhhMQ/remote-senior-python-engineer---data-%26-ml-systems-in-greece-at-finclude",
"ats_source": "workable",
"company": "Finclude",
"location": "Greece",
"locations": [
"TELECOMMUTE",
"Greece"
],
"department": "Technology",
"team": null,
"employment_type": "full_time",
"remote": true,
"workplace_type": "remote",
"posted_date": "[redacted-phone]T13:32:37.712Z",
"updated_date": "[redacted-phone]T13:32:37.712Z",
"requisition_id": null,
"apply_url": null,
"compensation": null,
"description_html": "<h3>About us</h3><p>Finclude is a Dublin-based fintech pioneer revolutionizing how creditworthiness is assessed across Europe. We are bridging the gap for over 200 million people who lack traditional credit access by replacing outdated history-based models with real-time, AI-driven transactional intelligence. </p><p></p><h3>What you’ll be working on</h3><p>You will work on a Python-based system responsible for:</p><ul><li>Processing and transforming transactional data from multiple banking sources</li><li>Designing data pipelines tailored to real-world data inconsistencies and edge cases</li><",
"description_text": "About us\nFinclude is a Dublin-based fintech pioneer revolutionizing how creditworthiness is assessed across Europe. We are bridging the gap for over 200 million people who lack traditional credit access by replacing outdated history-based models with real-time, AI-driven transactional intelligence. \n\nWhat you’ll be working on\nYou will work on a Python-based system responsible for:\nProcessing and transforming transactional data from multiple banking sources\nDesigning data pipelines tailored to real-world data inconsistencies and edge cases\nBuilding systems for data normalization, categorization",
"company_slug": "finclude",
"location_parsed": {
"remote": false,
"city": "Greece"
},
"is_new": false,
"is_active": true
}
],
"count": 50,
"total": 2201,
"query": "python engineer",
"ats_source": "workable"
}
}What the Company Job Boards API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| company_jobs | all 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). | Recruiting teams call company_jobs to get all open jobs for a board → {jobs[]{id,title,url,company,location,locations,...}, count, tota…. | ats, company, limit, cursor, page |
| job_detail | one fully-populated job (description + requirements/benefits) by `ats` + `company` + `job_id`. | Labor-market analysts call job_detail to get one fully-populated job (description + requirements/benefits) by `ats` + `company` + `job_id`.. | ats, company, job_id |
| search | cross-company job search over the Workable aggregator (170K jobs) → jobs[]. `query` + (default `ats`=workable). paginated. | Job boards call search to get cross-company job search over the Workable aggregator (170K jobs) → jobs[]. | query, ats, limit, cursor, page |
| providers | the supported ATS providers + their capabilities | Sales intelligence teams call providers to get the supported ATS providers + their capabilities. | none |
Call search from your stack
curl -X POST https://api.reefapi.com/ats-jobs/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"python engineer","ats":"workable"}'import requests
r = requests.post(
"https://api.reefapi.com/ats-jobs/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"query": "python engineer",
"ats": "workable"
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/ats-jobs/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"query": "python engineer",
"ats": "workable"
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.ats-jobs.search with {"query":"python engineer","ats":"workable"}.Who uses this API and why
- Sales-intelligence teams call company_jobs to detect hiring signals (a company opening 10 sales roles) from the source ATS.
- Job boards run company_jobs across a company list to aggregate fresh, first-source postings.
- Labor-market analysts use search to measure open-role volume by department and location over time.
Questions developers ask before integrating
What is the Company Job Boards API?
Company Job Boards API is a ReefAPI endpoint group for jobs straight from company career pages. It returns live JSON through POST requests under /ats-jobs/v1.
Is the Company Job Boards API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Company Job Boards calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Company Job Boards login or account?
No login to Company Job Boards is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Company Job Boards data?
The page example is captured from a live company_jobs call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Company Job Boards API use?
Company Job Boards actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.
Can I call Company Job Boards from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call ats-jobs actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Company Job Boards API a Company Job Boards scraper?
It is the managed alternative to a DIY Company Job Boards scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same jobs straight from company career pages back as clean JSON.
Why does my Company Job Boards scraper keep getting blocked?
Most Company Job Boards scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.