Jobs & Hiring

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.

4 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 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.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "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"
  }
}
Captured response
{
  "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"
  }
}
Actions

What the Company Job Boards API does

ActionDescriptionConcrete use caseKey params
company_jobsall 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_detailone 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
searchcross-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
providersthe supported ATS providers + their capabilitiesSales intelligence teams call providers to get the supported ATS providers + their capabilities.none
Code samples

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"}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.ats-jobs.search with {"query":"python engineer","ats":"workable"}.
Use cases

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.
FAQ

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.

docs / ats-jobs

Company Job Boards

Jobs straight from company career pages.

base /ats-jobs/v14 endpoints
post/ats-jobs/v1/company_jobs1 credit

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).

ParameterAllowed / rangeDescription
atsrequiredgreenhouse · lever · ashby · workableApplicant-tracking system / job-board provider.
companyrequiredBoard token / subdomain / org slug (e.g. greenhouse 'gitlab', lever 'spotify', ashby 'ramp'). Identifies one company's board.
limitoptional1–2000Max jobs to return (1-2000). Omit/0 = provider default (all).
cursoroptionalOpaque pagination cursor from a previous response (provider-specific).
pageoptional1–Page number for providers that paginate by page (alternative to cursor).
Try in playground →
post/ats-jobs/v1/job_detail1 credit

one fully-populated job (description + requirements/benefits) by `ats` + `company` + `job_id`.

ParameterAllowed / rangeDescription
atsrequiredgreenhouse · lever · ashby · workableApplicant-tracking system / job-board provider.
companyrequiredBoard token / subdomain / org slug (e.g. greenhouse 'gitlab', lever 'spotify', ashby 'ramp'). Identifies one company's board.
job_idrequiredThe job's id within that ATS board (from a company_jobs result's jobs[].id).
Try in playground →
post/ats-jobs/v1/providers1 credit

the supported ATS providers + their capabilities

Try in playground →