# ATS Jobs API - 123 ATS: Greenhouse, Lever, Workday Jobs (`om_kh/ats-jobs-api`) Actor

ATS jobs API for 123 applicant tracking systems, each tested on a real employer: Greenhouse, Lever, Ashby, Workday and 119 more. Give a company domain, get every open job with salary, remote/hybrid/on-site, contract type, city, skills and apply link. $1.50 per 1,000 jobs, first 3 per run free.

- **URL**: https://apify.com/om_kh/ats-jobs-api.md
- **Developed by:** [Khandji Omar](https://apify.com/om_kh) (community)
- **Categories:** Jobs, Lead generation, Automation
- **Features:** Limited permissions
- **Stats:** 4 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.90 / 1,000 job listings

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## ATS Jobs API - Greenhouse, Lever, Ashby, Workday Jobs

> **One domain or company → every open job listed on Greenhouse, Lever,
> Ashby or Workday.**
> **You type `stripe.com`. You get all 545 open roles.**
>
> This Actor works out which applicant-tracking system a company runs, then reads
> that ATS's own public endpoint. Official endpoints only — no cookies, no
> proxies, no login, nothing that can be blocked. Clean, deduplicated, structured
> rows. **3 job listings free on every run.**

123 applicant tracking systems, one schema, one call, each one tested on a real company first. The best known: **Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Rippling, Breezy HR, Personio, BambooHR, Recruitee, Teamtailor, Workable, Jobvite, Pinpoint, Gem, JOIN, Homerun, HireHive, Manatal, Dover, Avature, PageUp, Zoho Recruit, Oracle Recruiting Cloud, Eightfold, JazzHR, Comeet, iCIMS, Trakstar Hire, UKG UltiPro, Paylocity, ApplicantPro, iSolved Hire, Hireology, HiBob, HiringThing, Cornerstone, softgarden, Factorial**.

With `includeDescription` (on by default) each row also carries the **full job description**,
salary, contract type, workplace type and apply link where the system publishes them
(Greenhouse, Lever, Ashby, Recruitee, Teamtailor, Pinpoint, Gem and others), plus facts read from
the text by rules, without AI: `experience_years`, `skills`, `visa_sponsorship`, `education`,
`salary_min`, `salary_max`, `salary_currency`, and since 2026-10-28 `employment_type`, `work_arrangement`, `office_days_per_week`, `city`, `region`, `country`, `salary_period`, `salary_yearly_min`, `salary_yearly_max`, `benefits`, `job_language`, `contact_emails`, `is_agency`, `company_website`, `company_logo`, `company_open_jobs`. Same price.

### In short: what you give, what you get, what it costs

| | |
|---|---|
| **You give** | Company websites (`stripe.com`) or job board links, or tick **Search all companies** with a keyword and/or a city |
| **We do** | Find which hiring system runs the company's careers page (Greenhouse, Lever, Workday... 123 systems) and read its official public feed |
| **You get** | One row per open job: title, company, location, department, posted date, salary when published, apply link, full description, plus facts read from the text (years of experience, skills, remote or office, visa) |
| **It costs** | $1.50 per 1,000 jobs (down to $0.90 on larger Apify plans), + $0.001 per run from Nov 20, 2026 (no start fee before). A company with 35 open roles costs about **$0.05**. The first 3 jobs of every run are free; a run that finds nothing costs $0 |
| **It does not** | Scrape LinkedIn, Indeed or job boards, or read pages behind a login. Workday is capped at 200 roles per company |

A real result row is shown under **Output schema** below.

### Search all companies, no company list needed (new, 2026-10-26)

Do not know which companies to ask for? Tick **Search all companies** and give a keyword and/or a location:

```json
{"searchAllCompanies": true, "keywords": ["data engineer"], "locations": ["London"]}
```

The Actor searches an index of the open roles of **8,528 companies (377,336 jobs on 2026-11-07)**, read from their own
job boards: Greenhouse and Lever rebuilt every day, Workable, Ashby, Workday and 7 other systems once a week. The 25 companies with the most matches get their full
description fetched live, the others come with title, company, location, date and apply link. Same price per job, same
filters (`excludeKeywords`, `remoteOnly`, `postedAfter`), and it combines with a company list in the same run.
Measured on the first index: "data engineer" finds 390 roles, engineers in London 531, roles in Berlin 575.
The run summary (`RUN_SUMMARY.json`, key `index`) says when the index was built and how many jobs matched.

### You do not need to know the company's ATS

Many ATS scrapers ask you for a *board token* — the internal handle a company
registered with Greenhouse or Lever. Finding it means opening the careers page
and reading the HTML, which is the work you came here to avoid.

Give this Actor a domain instead:

| You give | It finds | You get |
| --- | --- | --- |
| `stripe.com` | Greenhouse → `stripe` | 545 roles |
| `anthropic.com` | Greenhouse → `anthropic` | 399 roles |
| `figma.com` | Greenhouse → `figma` | 177 roles |
| `ramp.com` | Ashby → `ramp` | 123 roles |
| `notion.so` | Ashby → `notion` | 110 roles |
| `vercel.com` | Greenhouse → `vercel` | 81 roles |
| `monzo.com` | Greenhouse → `monzo` | 75 roles |

*(Measured 2026-08-03 — 1,550 live roles from eight bare domains, nothing else
supplied.)*

It works in two passes: it reads the company's careers page and looks at where it
links, and if nothing is linked it derives the likely handle from the domain and
asks the providers directly. A company running its own careers page with no
hosted ATS comes back as `"ats": null` — an answer, not an error.

Board tokens still work if you have them, and you can mix both in one run.

**Or paste the job board link itself** in the same field (since 2026-10-26): `https://boards.greenhouse.io/stripe`, `https://jobs.lever.co/spotify`, `https://acme.bamboohr.com/careers` or a Workday careers URL. The system and the company are read from the link, with no guess.

### What a run costs

**Standard price: $1.50 per 1,000 job listings** — volume discounts can reduce the
Store price to **$0.90 per 1,000** (Gold plan and above). You pay only for listings actually
delivered to you. From Nov 20, 2026 each run also costs $0.001 (no per-run fee before that), so a run that finds nothing costs $0.001.

#### Ask for many companies at once

Measured on this Actor at ~35 open roles per company:

| Companies in one run | Jobs returned | You pay | Per job |
|---|---|---|---|
| 1 | 35 | **$0.05** | $0.0014 |
| 10 | 350 | **$0.52** | $0.0015 |
| 50 | 1,750 | **$2.62** | $0.0015 |

Batching does not change the price per job — it changes your wall clock. Fifty
companies asked together take one run instead of fifty, and the free allowance
below is the only thing that makes a small run cheaper per row.

### Free tier — 3 job listings on every run

**The first 3 job listings of every run are free.** Not a trial, not a first-run
coupon: it applies to every run you ever make, so you can wire this Actor into a
pipeline and evaluate it on your own target companies before a cent is billed.

Beyond the free 3, the standard rate is **$0.0015 per job listing** — $1.50 per
1,000, with Store volume discounts down to $0.90 per 1,000 — and only
for listings actually delivered to you.

One guard, stated plainly: the free allowance never covers more than half of a
run, so a run returning 20 listings gets 3 free rather than 10. That is what
stops the free tier from becoming an unlimited free plan for anyone willing to
split one job into many tiny runs, and what lets us keep offering it.

### Quick start

Paste company websites into **Company domains** and press Start. That is the
whole setup — no tokens, no provider to choose.

Or call it as an HTTP API — see [Use it as a live HTTP API](#use-it-as-a-live-http-api).

### Filter before you pay

Filters are applied **before billing**, so you are never charged for a job you
excluded. A run over 20 companies that keeps only remote engineering roles bills
for the remote engineering roles, not the fan-out.

| Input | Effect |
| --- | --- |
| `keywords` | Keep jobs whose title, department, company or location contains one of these |
| `excludeKeywords` | Drop jobs matching any of these — `intern`, `senior`, `sales` |
| `locations` | Keep jobs whose location contains one of these — `Berlin`, `United Kingdom` |
| `remoteOnly` | Keep only roles whose location says remote, anywhere or distributed |
| `postedAfter` | Keep jobs posted on or after `YYYY-MM-DD` |
| `excludeTitleKeywords` | Drop jobs whose **title** has one of these words (`senior`, `intern`) |
| `excludeCompanies` / `excludeLocations` | Drop these companies / these places |
| `departments` | Keep only these teams (`Engineering`, `Sales`) |
| `employmentTypes` | Full-time, part-time, contract, temporary, internship, freelance, per diem, volunteer (tick "Not stated" to keep jobs that do not say) |
| `workArrangements` | Remote, hybrid or on-site |
| `countries` | Country names or codes (`United States`, `DE`) |
| `onlyWithSalary` / `minYearlySalary` | Only jobs with a published salary / at least this much per year (hourly pay converted) |
| `excludeAgencies` | Drop jobs posted by staffing agencies |
| `onlyNewJobs` | Only jobs this same search has not delivered before; already delivered jobs are never charged again |
| `industries` / `companySizes` | Only companies in these industries / of these sizes (`1-10` ... `10,001+`) |
| `postedWithin` | Last hour, 24 hours, 3, 7, 14 or 30 days |
| `jobFunctions` / `seniorities` | Job family (Engineering, Sales, Data & AI...) / level (Junior ... Executive), read from the title |
| `skills` / `excludeSkills` | Keep jobs asking for one of these skills / drop jobs asking for any of them (`Python`, `Salesforce`) |
| `visaSponsorship` | Only jobs whose description says it sponsors a visa (or says it does not) |
| `maxExperienceYears` | Drop jobs asking for more years of experience than this |
| `descriptionKeywords` / `excludeDescriptionKeywords` | Keep / drop jobs whose title or description has one of these words (`clearance`, `commission only`) |
| `languages` | Only postings written in these languages (`en`, `fr`, `de`, `es`, `pt`, `it`, `nl`) |
| `maxYearlySalary` | Drop jobs whose yearly pay starts above this |
| `onlyCompanies` | With "search all companies": only companies whose name has one of these words |

**Keywords match whole words and do not stem.** `engineer` returns "Backend
Engineer" but **not** "Engineering Intern" — pass both words if you want both.
That strictness is deliberate: a substring filter for `ai` matches "m**ai**ntainer"
and, measured on a real board, kept 40% of unrelated roles. Jobs from providers
that publish no date are kept by `postedAfter` rather than silently dropped.

### More than the leaders, for less (checked on the Store on 2026-10-28)

| | **This Actor** | fantastic-jobs Career Site Job Listing API | memo23 Career Site ATS Jobs API |
| --- | --- | --- | --- |
| Price per job | **$0.0015** | $0.012 | $0.004 + $0.03 per run |
| Free jobs on every run | **Yes** | No | No |
| Any company you name, read live from its own ATS | **Yes** | No (its own database only) | Yes |
| Search all companies by keyword, no list | Yes (daily index) | Yes (275k sites, hourly): **it does better** | No |
| Contract type, on-site / hybrid / remote, office days | **Yes** | Yes (AI) | Workplace type only |
| City, region and country as separate fields | **Yes** | Yes | No |
| Salary as numbers + pay period + **yearly equivalent** | **Yes** | Numbers + unit | No |
| Benefits list, skills, years of experience, visa, degree | **Yes** | Yes (AI) | No |
| Job language, contact emails written in the posting | **Yes** | Yes | Paid email add-on |
| Staffing-agency flag and filter | **Yes** | Yes | No |
| Open roles per company (hiring intensity) | **Yes** | No | Yes |
| Company website and logo | **Yes** | Yes | No |
| Only the jobs new since your last run | **Yes** | Yes (time window) | Yes |
| Company industry, employees, size band, headquarters, founding year | **Yes** (Wikidata, free; empty for companies it does not know) | Industry and size (LinkedIn): more small startups covered | No |
| Filters applied before you pay | **Yes**, 27 filters | Yes | Partly |

Every fact above is read by plain rules from the job system's own fields and the posting text: no AI cost passed on to you, and a field is left empty when the posting does not say it, never guessed.

### Compared with memo23/career-site-ats-jobs-api

Read on the Store on 2026-10-23 (Career Site ATS Jobs API — Greenhouse, Lever, Workday, 116 ATS). Where it does better, this section says so.

- **Built on the site's own data**, not a resold scraper: no second Actor between you and the source.
- **Only here** (fields its Store page does not list): `change_type` (new or changed since your last scheduled run); `why_it_matters` (one-line reading of the row).
- **Free results on every run** and a hard cost cap (`maxTotalChargeUsd`).
- **Price:** $1.5 per 1,000 here, $4 there.
- **Systems covered:** 123 here, 116 there, each one tested on a real company first.

### Compared with jobo.world/ats-jobs-api

Read on the Store on 2026-11-05 (ATS Jobs API, "7 million+ jobs on 200+ ATS"). Where it does better, this section says so.

- **Search without a company list:** it searches 7 million+ jobs from 200+ ATS: **it does better**. Here the daily index holds about 377,000 jobs from 8,500 companies on 2026-11-07 (Greenhouse, Lever, Ashby and more systems, growing every week).
- **Any company you name, read live from its own ATS:** yes here, from 123 systems, so a company missing from any index still works.
- **Price:** $1.50 per 1,000 jobs here, $4 per 1,000 there. The first 3 jobs of every run are free here.

### Why use it: the ATS instead of a job aggregator

Most job scrapers scrape an *aggregator* — LinkedIn, Indeed, a job board. That
means cookies, proxies, rate limits, and roles that are already stale or reposted
by an agency.

This Actor goes to **the source**: the ATS the employer publishes from.

| | Aggregator scraper | This Actor |
|---|---|---|
| What breaks it | anti-bot, layout changes, expired cookies | nothing — these are the companies' own public API endpoints |
| Freshness | an aggregator's copy, sometimes days old | the role as the employer published it |
| Duplicates | the same role reposted by three agencies | one row per role, deduplicated |
| Proxy bill | yes | none |
| Who reposted it | unknowable | irrelevant — it is first-hand |

### Use cases

- **Build a job board** from hundreds of company career sites, across 123 ATS providers (81 more added since 2026-10-26: Employment Hero, WeRecruit, beesite, NEOGOV, JobAps, CATS, Recruiterflow, d.vinci, Haufe Umantis, Varbi, Scout Talent, Jibe, Paradox, Taleo Business Edition, Taleo Enterprise, Paycom, ADP Workforce Now, Recooty, Phenom, Radancy, Deel, ClearCompany, Lumesse TalentLink, Eploy, Talos360, Jobtrain, JoblinkApply, OnShift, CareerPlug, ApplicantStack, onlyfy, Talentech, Gupy, Traffit, HireBridge, TriNet Hire, Polymer, GoHire, AcquireTM, Harbour ATS, Sage People, SilkRoad, Paycor, Getro, AppliTrack, PeopleAdmin, Loxo, Tribepad, Cezanne/Intervieweb, networx, HRMOS, GreetingHR, HERP, Keka, SchoolSpring, TalentLyft, Cegid Talentsoft, Oleeo, Vincere, Njoyn, BrassRing, Jobsoid, Pandapé, Jobcan, Recruitis, Jobtoolz, Academic Jobs Online, Kula, ReachMee Attract, Gestmax, Quickin, Crelate, PCRecruiter, Bullhorn, Engage ATS, GR8 People, Reach ATS, HRworks, PeopleBank, SenseHQ, Bizneo), in one normalized schema.
- **Recruiting** — watch target employers and get new roles the day they open.
- **Sales triggers** — hiring surges by function and seniority signal budget and pain.
- **Labor-market research** — roles by function, seniority, location and remote share.

### Use it from code (API)

Every Apify Actor is an API. Start a run and read the results with one call.

**Python**

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("om_kh/ats-jobs-api").call(run_input={"companyDomains": ["stripe.com", "figma.com"], "keywords": ["engineer"]})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

**JavaScript**

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('om_kh/ats-jobs-api').call({
    "companyDomains": [
        "stripe.com",
        "figma.com"
    ],
    "keywords": [
        "engineer"
    ]
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

**One HTTP call (cURL)** — runs the Actor and returns the dataset in the same response:

```bash
curl -X POST "https://api.apify.com/v2/acts/om_kh~ats-jobs-api/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{"companyDomains": ["stripe.com", "figma.com"], "keywords": ["engineer"]}'
```

### Integrations: n8n, Make, Zapier, Google Sheets

- **n8n** — the official *Apify* node, operation *Run Actor and get dataset*, Actor `om_kh/ats-jobs-api`.
- **Make** — *Apify › Run an Actor*, then *Apify › Get Dataset Items*.
- **Zapier** — *Apify › Run Actor*; map the dataset items into your next step.
- **Google Sheets, webhooks, Slack** — add an integration from the *Integrations* tab of this Actor.
- **Schedules** — run it every hour or day from *Schedules* in Apify Console.

### Your feedback

Did this Actor save you time? A short review on the **Reviews** tab helps other people find it, and every review is read. Something missing or broken? Open an issue on the **Issues** tab: it is answered and fixed fast.

### More Actors from the same author

- [Company Careers Page Scraper - Jobs from Any Career Site](https://apify.com/om_kh/careers-page-scraper) — give a company domain, it finds the ATS
- [Greenhouse Job Scraper - Title, Location, Salary API](https://apify.com/om_kh/greenhouse-jobs-api)
- [Lever.co Jobs API - Title, Location, Department, Salary](https://apify.com/om_kh/lever-jobs-api)
- [Ashby Jobs API - Title, Location, Department Data](https://apify.com/om_kh/ashby-jobs-api)
- [Workday Jobs API - Title, Location, Department Data](https://apify.com/om_kh/workday-jobs-api)
- [Hiring Signals API - Companies Hiring Now by Role](https://apify.com/om_kh/company-hiring-signals) — hiring velocity per company, as a buying trigger

### Supported ATS providers

Every provider below is fetched in parallel, and you can mix as many companies
and providers as you like in one call.

#### Greenhouse jobs API

Pass the **board token** — the path segment in `boards.greenhouse.io/<token>` or
`job-boards.greenhouse.io/<token>`. Example: `stripe`.

Greenhouse publishes the whole board in one document, so a company's full
listing comes back in a single request. This is the fastest and most complete of
the first nine.

#### Workday jobs API

Pass the **full careers URL** exactly as it appears in your browser, with or
without the `/en-US/` locale segment:

```
https://redhat.wd5.myworkdayjobs.com/en-US/jobs
```

The Actor derives the search endpoint itself and pages through the results.

**Workday is the one that matters for enterprises** — it is what most large
employers run on, and a single tenant can advertise thousands of roles. Two
things to know: Workday returns **20 roles per page**, and this Actor pages up to
**200 roles per tenant per run** so a single company cannot consume your whole
budget. Need more from one tenant, run it again against a narrower Workday site
URL (Workday tenants usually expose several, one per region or job family).

#### Lever postings API

Pass the **company handle** from `jobs.lever.co/<handle>`. Example: `netflix`.

#### Ashby jobs API

Pass the **board name** from `jobs.ashbyhq.com/<board>`. Common among
venture-backed startups.

#### SmartRecruiters jobs API

Pass the **company identifier** from `careers.smartrecruiters.com/<id>`.

#### Rippling ATS jobs

Pass the **company handle** from `ats.rippling.com/<handle>`.

#### Breezy HR jobs

Pass the **company handle** from `<handle>.breezy.hr`.

#### Personio jobs API

Pass the **company handle** from `<handle>.jobs.personio.de`. Personio is
widespread across European, especially German-speaking, employers.

#### BambooHR jobs

Pass the **company handle** from `<handle>.bamboohr.com`.

#### Systems added since 2026-10-26

Paste the board link in `companyDomains`, or the handle in the system's own field. Each one was read on a real company first.

| System | Board link | Tested on |
|---|---|---|
| HireBridge | `recruit.hirebridge.com/v3/Jobs/list.aspx?cid=<cid>` | 112 jobs |
| TriNet Hire | `app.trinethire.com/companies/<company>/jobs` | 20 jobs |
| Polymer | `jobs.polymer.co/<company>` | 15 jobs |
| GoHire | `jobs.gohire.io/<board>/` | 10 jobs |
| AcquireTM | `<tenant>.acquiretm.com` | first 10 jobs of the board |
| Harbour ATS | `<tenant>.harbourats.com/vacancies/` | 108 jobs (every page) |
| Sage People | `<site>.my.salesforce-sites.com/recruit` | 10 jobs |
| SilkRoad (Rival) | `jobs.silkroad.com/<company>/Careers` | 49 jobs (every page) |
| Paycor Recruiting | `recruitingbypaycor.com/career/CareerHome.action?clientId=<id>` | 10 jobs |
| Getro (VC job boards) | the network's board host, e.g. `jobs.a16z.com` | 17 jobs (first page) |
| AppliTrack (Frontline, US schools) | `www.applitrack.com/<district>/onlineapp` | 84 jobs, whole board |
| PeopleAdmin (US universities) | `<site>.peopleadmin.com` | 47 jobs, whole Atom feed with text |
| Loxo | `app.loxo.co/<agency>` | 7 jobs (title and link) |
| Tribepad | `<site>.tribepad.com` | 12 jobs (title and link) |
| Cezanne / Intervieweb | `<host>.intervieweb.it/<board>/en/career` | 2 jobs |
| networx / IRIS | `<brand>.current-vacancies.com` | 3 jobs |
| Gupy (Brazil) | `<company>.gupy.io` | 304 jobs (Ambev) |
| Traffit (Poland) | `<company>.traffit.com` | 2 jobs with text |
| Phenom (big employers) | the careers host or just the company domain, e.g. `cvshealth.com` | 4,859 jobs at CVS Health, 2,818 at Thermo Fisher, with skills and apply link |
| Radancy / TalentBrew (big employers) | the careers host, e.g. `jobs.vinci.com/en` | 5,000 jobs at VINCI in 82 s |
| JoblinkApply (US hourly) | `fcssecurity` | 79 jobs with pay |
| ClearCompany | `lcmh` | 161 jobs with text |
| Deel | `klarna` | 95 jobs with salary band |
| Talentech (Nordics) | `surgicalscience` | 6 jobs |
| OnShift (US senior care) | `wesbury` | 11 jobs with shift |
| Jobtrain (UK public sector) | `iomgovjobs` | 74 jobs with salary and closing date |
| Lumesse TalentLink | `mubeacareers.recruitmentplatform.com` | 124 jobs with text |
| Eploy (UK) | `altradweb.eploy.net` | 150 jobs, every page |
| Talos360 (UK) | `ukas.talosats-careers.com` | 18 jobs with salary range |
| ApplicantStack | `swipeclock` | 4 jobs with text |
| onlyfy / Prescreen (DACH) | `prescreen` | 1 job with text |
| CareerPlug (US franchises) | `sportclips` | 15 jobs |
| Jibe (iCIMS career sites) | `jobs.uhs.com` | 4,988 jobs at UHS (cap 5,000), 20,663 listed at Costco |
| Paradox career sites | `jobs.harrishealth.org` | 390 jobs at Harris Health |
| Taleo Business Edition | `https://phf.tbe.taleo.net/phf02/ats/careers/v2/jobSearch?org=COSTCO&cws=41` | 16 jobs at Costco |
| Taleo Enterprise | `https://valero.taleo.net/careersection/2/jobsearch.ftl` | 43 jobs at Valero |
| Paycom | `https://www.paycomonline.net/v4/ats/web.php/portal/8B43E6E34C5D5C9AA3D07BB04DBEB909/career-page` | 21 jobs at IFB Solutions |
| ADP Workforce Now | `https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=070b2b3d-d077-4d73-b340-6055055056a6&ccId=19000101_000001` | 12 jobs at Leonardo Helicopters, with descriptions |
| Recooty | `atom-com` | 10 jobs at Atom, with descriptions |
| NEOGOV (GovernmentJobs.com) | `https://www.governmentjobs.com/careers/lacounty` | 412 jobs at Los Angeles County, salary and department |
| JobAps | `MD` (www.jobapscloud.com/MD) | 313 jobs for the State of Maryland, salary and agency |
| CATS | `cymertek` (cymertek.catsone.com/careers) | 843 jobs at Cymertek, 71 at Canada Bread |
| Recruiterflow | `https://recruiterflow.com/carguysinc/jobs` | 351 jobs at Car Guys Inc, with dates and contract type |
| d.vinci | `toom-baumarkt` (toom-baumarkt.dvinci-easy.com) | 873 jobs at toom Baumarkt, with descriptions |
| beesite | `deutschebank` (api-deutschebank.beesite.de) | 1,890 jobs at Deutsche Bank (every page), with contract, schedule and level |
| Employment Hero | `healthwiseorgau` (employmenthero.com/.../organisations/healthwiseorgau) | 10 jobs at Healthwise (Australia), 5 at Inspired Cannabis (Canada) |
| WeRecruit | `conseil-et-expertise-du-sud` (careers.werecruit.io) | 8 jobs, with city, contract (CDI...) and date |
| Haufe Umantis | `recruitingapp-12705` | 445 jobs at the Canton of Aargau (every page) |
| Varbi | `ki` (ki.varbi.com) | 74 jobs at Karolinska Institutet, 27 at KTH, with deadlines |
| Scout Talent | `floreyinstitute` (floreyinstitute.applynow.net.au) | Florey Institute, Cessnock City Council, City of Powell River |
| HRMOS (Japan) | `hrmos.co/pages/<company>/jobs` | 229 jobs at Money Forward, 3 pages |
| GreetingHR (Korea) | `<company>.career.greetinghr.com` | 103 jobs at Musinsa, 67 at Kurly |
| HERP (Japan) | `herp.careers/v1/<company>` | 50 jobs at Kaminashi, 25 at primeNumber |
| Keka (India, Gulf) | `<company>.keka.com/careers` | 7 jobs at Cars24 with salary and skills |
| PowerSchool SchoolSpring (US schools) | `<district>.schoolspring.com` | 51 jobs at Salt Lake City, 45 at Springfield |
| TalentLyft | `<company>.talentlyft.com` | KPMG Bulgaria, DEKRA, ch-aviation |
| Cegid Talentsoft (France, Europe) | `<site>.talent-soft.com` | 237 jobs at Dorchester Collection, 37 at HAHN |
| Oleeo (UK public sector, banks) | `<tenant>.tal.net` | 53 jobs at the UK Foreign Office, 2 pages |
| Vincere (recruitment agencies) | `<agency>.vincere.io/careers` | 265 jobs at Hunter Savage, with salary |
| Njoyn (CGI, Canada) | `clients.njoyn.com/CL<n>/...CLID=<id>` | Carleton University, City of Abbotsford |
| IBM Kenexa BrassRing | `sjobs.brassring.com/TGnewUI/...partnerid=<p>&siteid=<s>` | 365 jobs at Publix, every page |
| Jobsoid (India, South-East Asia) | `<company>.jobsoid.com` | 14 jobs at Edge Tutor |
| Pandapé / InfoJobs (Brazil) | `<company>.pandape.infojobs.com.br` | 97 jobs at Natura, 28 at iFood |
| Jobcan (Japan) | `recruit.jobcan.jp/<company>` | 13 jobs at Mos Group, 2 pages |
| Recruitis (Czech Republic, Slovakia) | `<site>.jobs.recruitis.io` | 24 jobs at Notino |
| Jobtoolz (Belgium, Netherlands) | `<company>.jobtoolz.com` | 22 jobs at Titeca, 17 at Dominiek Savio |
| Academic Jobs Online (universities) | `academicjobsonline.org/ajo/<employer>` | 40 jobs at Boston University |
| Kula (India, US startups) | `careers.kula.ai/<company>` | 46 jobs at Rocketlane, 34 at Cashfree |
| ReachMee Attract (Norway, Sweden) | `<site>.attract.reachmee.com/jobs` | 134 jobs at Apotek 1 |
| Gestmax (France) | `<site>.gestmax.fr` | 29 jobs at Mairie d'Antony, 22 at Annemasse Agglo |
| Quickin (Brazil) | `jobs.quickin.io/<company>` | 90 jobs at InfoVagas, 47 at Fundação CDL with salary |
| Crelate (US agencies) | `jobs.crelate.com/portal/<org>` | 553 jobs at Clayco, with description |
| PCRecruiter (US staffing) | `www2.pcrecruiter.net/pcrbin/jobboard.aspx?uid=<Name.database>` | 239 jobs at HCR, 133 at Sequence Staffing |
| Bullhorn (staffing agencies) | `<server>/<corpToken>` from the career portal's public-rest address | 233, 224 and 211 jobs at three agencies, with pay |
| Engage ATS (UK councils, police) | `<site>.engageats.co.uk` | 70 jobs at Barnsley Council, salary and closing date |
| GR8 People | `<site>.workgr8.com` | 4,276 jobs at Carrier, 137 at Randstad North America |
| Reach ATS (UK) | `<key>.reach-ats.com` | 11 jobs at Camp Beaumont, salary and hours |
| HRworks (Germany) | `jobapplication.hrworks.de/?companyId=<id>` | 99 jobs at Max Frank, 79 at Corius |
| PeopleBank (UK hospitality, retail) | `peoplebank.com/pb3/corporate/<client>` | 64 jobs at Clancy Group, 58 at JKS Restaurants |
| SenseHQ (India, US) | `<tenant>.sensehq.com/careers` | 15 jobs at AB InBev GCC, 11 at Bata |
| Bizneo (Spain, Portugal) | `<site>.bizneo.cloud/jobs` | 36 jobs at Grupo BertrandCírculo, 15 at Abei Energy |

With `includeDescription` on, the first 40 job pages of a board are read for their description, date, place and salary.

### Output schema

One clean row per role:

A real row from this Actor's latest run on Apify (2026-10-23; long texts are cut and people's names hidden here, your dataset has them in full):

```json
{
  "source_url": "https://jobs.ashbyhq.com/ramp/2a4968ae-220c-471b-b890-a011de570bbb",
  "title": "Software Engineer, Bill Pay & Procurement",
  "company": "ramp",
  "location": "New York, NY (HQ)",
  "department": "Engineering",
  "posted_at": "2025-10-29T20:06:15.084+00:00",
  "source": "ashby",
  "salary": "$168K – $275.1K • Offers Equity",
  "job_id": "2a4968ae-220c-471b-b890-a011de570bbb",
  "description": "ABOUT RAMP\n\nRamp is building the smart infrastructure for finance teams, embedded in the transaction flow of every dollar a business spen...",
  "employment_type": "FullTime",
  "workplace_type": "remote",
  "apply_url": "https://jobs.ashbyhq.com/ramp/2a4968ae-220c-471b-b890-a011de570bbb/application",
  "function": "Engineering",
  "seniority": "Mid",
  "is_remote": false,
  "posted_within_days": 359,
  "is_recent": false,
  "experience_years": 3,
  "skills": [
    "Python",
    "SQL"
  ],
  "salary_min": 168000,
  "salary_max": 275100,
  "salary_currency": "USD",
  "record_id": "027593ffeed76d350d99d1c0",
  "change_type": "new",
  "why_it_matters": "New job posting: Software Engineer, Bill Pay & Procurement at ramp — a hiring signal."
}
```

| Field | What it holds |
|---|---|
| `source_url` | canonical link to the role on the employer's own board |
| `title` | role title as published |
| `company` | the handle or board you passed |
| `location` | as the employer wrote it |
| `department` | team or department, when the ATS exposes one |
| `salary` | posted range, when the employer published one |
| `posted_at` | ISO-8601 publication timestamp, when available |
| `source` | which ATS the row came from |

Duplicates across boards are removed. **Seniority and job function are inferred
and attached**, so you can filter without post-processing.

#### Facts on every job (new 2026-10-28)

Read by rules, no AI cost, empty when the posting does not say it:

| Field | What it holds |
| --- | --- |
| `employment_type` | `FULL_TIME`, `PART_TIME`, `CONTRACT`, `TEMPORARY`, `INTERNSHIP`, `FREELANCE`, `PER_DIEM` or `VOLUNTEER`: from the system's own field, the title, or a clear phrase |
| `work_arrangement`, `office_days_per_week` | `REMOTE`, `HYBRID` or `ON_SITE`, and the office days when a hybrid posting states them |
| `city`, `region`, `country` | The first location split into parts; `country` is a 2-letter code |
| `salary_period`, `salary_yearly_min`, `salary_yearly_max` | `HOUR`, `DAY`, `WEEK`, `MONTH` or `YEAR`, and the pay converted to a yearly amount, so hourly and yearly jobs compare |
| `benefits` | Health, dental, vision, retirement plan, equity, bonus, paid time off, parental leave, learning budget and 12 more |
| `job_language` | The posting's language (`en`, `fr`, `de`, `es`, `pt`, `it`, `nl`) |
| `contact_emails` | Emails written in the posting (recruiter or jobs inbox); privacy and no-reply boxes left out |
| `is_agency` | `true` when a staffing agency posted it for a client |
| `company_website`, `company_logo`, `company_open_jobs` | The company's site and logo, and how many open roles this run found for it |
| `company_industry`, `company_employees`, `company_size`, `company_headquarters`, `company_founded` | From Wikidata by the company's website (on by default, `includeCompanyProfile`): e.g. Stripe = financial services, 8,000 employees, `5,001-10,000`, San Francisco, 2010. Empty for companies Wikidata does not know |

Measured 2026-10-28 on 592 live roles (Stripe, Palantir, Notion, Airbnb): city on 84%, country on 75%, on-site/hybrid/remote on 67%, benefits on 74%, contract type on 51%.

### Use it from an AI agent (MCP and x402)

Connect Claude Desktop, Cursor, VS Code or any MCP client to Apify's MCP server
at `https://mcp.apify.com` and add this Actor, `om_kh/ats-jobs-api`, as a tool — the
agent passes the same JSON as the run input and gets the dataset back.

AI agents that pay with **x402** can run it too, without an Apify account: the
Actor charges only per result delivered, so an agent pays exactly for what it gets.

### Bonus: only the new roles, plus a hiring signal

Pass the previous run's output as `previousJobs` and you get **only what
changed** — roles opened, roles updated — plus a hiring-growth summary in
`HIRING_SIGNAL.json`.

That turns the Actor into a hiring-intent feed: which teams a company is staffing
up, in which cities, starting when. Useful for sales triggers ("they just opened
12 sales roles"), recruiting, and competitive research. Leave `previousJobs` empty
and you simply get the full current list.

### Frequently asked questions

#### Is there a free Workday jobs API?

Workday exposes a public search endpoint on every tenant's careers site, and this
Actor reads it directly. No Workday account, key or partnership is needed. The
first 3 listings of every run are free here; beyond that it is $0.0015 per role.

#### How do I get jobs from a company's own careers page?

Find which ATS the company uses — the careers page URL usually gives it away
(`boards.greenhouse.io/...`, `jobs.lever.co/...`, `<tenant>.myworkdayjobs.com/...`)
— then pass that handle or URL in the matching field. If the URL does not match
any of the thirty-seven providers of this Actor, the company is on something else and this Actor
cannot read it.

#### Does this scrape LinkedIn or Indeed?

No, deliberately. Those are aggregators: their copies are second-hand, often
stale, and reposted by recruiters. This Actor reads the employer's own ATS, so
every row is first-hand. If you do want aggregator coverage, see the related
scrapers at the bottom.

#### Will it break when a site changes its layout?

There is no layout involved. These are JSON API endpoints the companies publish
for their own careers pages, so there is nothing to parse and no anti-bot to
fight. A provider can still change its API — when a board is unreachable it is
reported in `source_errors` and **costs you nothing**.

#### How many jobs will one run return?

As many as the companies have published, minus duplicates, subject to your own
`maxTotalChargeUsd` cap and the 200-per-tenant Workday limit. For reference, a
single large Greenhouse board typically returns 300–600 live roles.

#### What does it cost to try?

Nothing. The first 3 listings of every run are free, forever, and a board whose
ATS fails is never billed.

#### Can an AI agent use it?

Yes. `RUN_SUMMARY.json` and `HIRING_SIGNAL.json` give an agent the outcome
without re-reading the dataset, and the run-sync API endpoint returns the jobs
as plain JSON in one HTTP call.

#### Is this a job posting API?

Yes. Give it a company domain and it returns that company's job postings as
structured rows, read live from the applicant tracking system the employer
publishes from. There is no index in between, so a posting appears here as soon
as the employer publishes it.

#### Which ATS platforms are supported?

Greenhouse, Lever, Ashby, Workday, SmartRecruiters, Rippling, Breezy HR, Personio, BambooHR, Recruitee, Teamtailor, Workable, Jobvite, Pinpoint, Gem, JOIN, Homerun, HireHive, Manatal, Dover, Avature, PageUp, Zoho Recruit, Oracle Recruiting Cloud, Eightfold, JazzHR, Comeet, iCIMS, Trakstar Hire, UKG UltiPro, Paylocity, ApplicantPro, iSolved Hire, Hireology, HiBob, HiringThing, Cornerstone, softgarden, Factorial — thirty-seven systems, one output schema.

#### Do I need an API key for the ATS?

No. Every endpoint used here is the public one the company's own careers page
calls. No key, no cookie, no login, no proxy.

#### How do I get jobs from a company career site?

Put the company's website in **Company domains**. The Actor reads the careers
page, finds which system sits behind it, and returns the roles. If you already
know the board token you can pass that instead.

#### Can I filter to remote or recent jobs only?

Yes — `remoteOnly`, `postedAfter`, `keywords`, `excludeKeywords` and `locations`.
Filters run before billing, so you are not charged for rows you excluded.

### Limits and costs

- **Hard cost cap.** Set `maxTotalChargeUsd` and the run can never bill above it.
- **A failed board is never billed.** Unreachable ATS endpoints are reported in
  `source_errors` and cost you nothing.
- **Workday:** up to 200 roles per tenant per run, 20 per page.
- **Free tier:** 10 listings per run, never more than half of a run.

### Related tools

- Have a single company's own career page instead of an ATS board? → [Company Careers Page Scraper - Jobs from Any Career Site](https://apify.com/om_kh/careers-page-scraper)
- Want a hiring-trend signal instead of raw job listings? → [Hiring Signals API - Companies Hiring Now by Role](https://apify.com/om_kh/company-hiring-signals)

### All input fields

Every field the Start form accepts, so nothing in the schema is undocumented. Most runs only need the fields already covered above — these are the rest, including advanced/bring-your-own-data options.

- **`ashbyBoards`** (Ashby job boards) — Board names on Ashby (from jobs.ashbyhq.com/<board>).
- **`bambooHrCompanies`** (BambooHR companies) — Company handles on BambooHR (from <handle>.bamboohr.com).
- **`breezyCompanies`** (Breezy HR companies) — Company handles on Breezy HR (from <handle>.breezy.hr).
- **`currentJobs`** (Bring your own jobs (optional)) — Optional. Supply your own job rows to normalize/deduplicate instead of fetching. Leave empty to fetch from the boards above.
- **`greenhouseBoards`** (Greenhouse company boards) — Company board tokens on Greenhouse (from boards.greenhouse.io/<token>). Returns every open role.
- **`leverCompanies`** (Lever companies) — Company handles on Lever (from jobs.lever.co/<handle>).
- **`personioCompanies`** (Personio companies) — Company handles on Personio (from <handle>.jobs.personio.de). Common across European employers.
- **`ripplingCompanies`** (Rippling ATS companies) — Company handles on Rippling ATS (from ats.rippling.com/<handle>).
- **`smartRecruitersCompanies`** (SmartRecruiters companies) — Company identifiers on SmartRecruiters.
- **`workdayCareerUrls`** (Workday careers URLs) — Full careers-site URLs on Workday, e.g. https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite. Most large enterprises use Workday.
- **`acquireTmTenants`** (AcquireTM boards) — Tenant from .acquiretm.com, e.g. ecmd. Or paste the board link in Company domains.
- **`adpCareerCenters`** (ADP Workforce Now career centers) — ADP Workforce Now careers link or its cid, e.g. https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=070b2b3d-d077-4d73-b340-6055055056a6\&ccId=19000101_000001\&lang=en_US. Or paste the link in Company domains.
- **`appliTrackDistricts`** (AppliTrack (Frontline, US schools) boards) — District from www.applitrack.com//onlineapp, e.g. ccsd. Or paste the board link in Company domains.
- **`applicantProSites`** (ApplicantPro sites) — ApplicantPro: site like acme.applicantpro.com.
- **`applicantStackCompanies`** (ApplicantStack boards) — Company from .applicantstack.com (Swipeclock / WorkforceHub), e.g. swipeclock. Or paste the board link in Company domains.
- **`avatureTenants`** (Avature boards) — Avature: tenant from .avature.net.
- **`careerPlugCompanies`** (CareerPlug (US franchises) boards) — Company from .careerplug.com (US franchises), e.g. sportclips. Or paste the board link in Company domains.
- **`cezanneIntervieweBoards`** (Cezanne / Intervieweb boards) — Board as /, from .intervieweb.it//en/career, e.g. cezanneondemand/bcha. Or paste the board link in Company domains.
- **`clearCompanyCompanies`** (ClearCompany boards) — Company from apply.clearcompany.com/, e.g. lcmh. Or paste the board link in Company domains.
- **`comeetBoards`** (Comeet boards) — Comeet: company/uid from comeet.com/jobs//, e.g. kaltura/E2.00D.
- **`cornerstoneSiteUrls`** (Cornerstone sites) — Cornerstone: career site URL on csod.com (.../ux/ats/careersite//home?c=).
- **`deelCompanies`** (Deel boards) — Company from jobs.deel.com/, e.g. klarna. Or paste the board link in Company domains.
- **`recruiteeCompanies`** (Recruitee boards) — Recruitee: company from .recruitee.com.
- **`teamtailorCompanies`** (Teamtailor boards) — Teamtailor: company from .teamtailor.com.
- **`workableAccounts`** (Workable boards) — Workable: account from apply.workable.com/.
- **`jobviteCompanies`** (Jobvite boards) — Jobvite: company from jobs.jobvite.com/.
- **`pinpointCompanies`** (Pinpoint boards) — Pinpoint: company from .pinpointhq.com.
- **`gemCompanies`** (Gem boards) — Gem: company from jobs.gem.com/.
- **`joinCompanies`** (JOIN boards) — JOIN: company from join.com/companies/.
- **`homerunCompanies`** (Homerun boards) — Homerun: company from .homerun.co.
- **`hirehiveCompanies`** (HireHive boards) — HireHive: company from .hirehive.com.
- **`manatalCompanies`** (Manatal boards) — Manatal: company from careers-page.com/.
- **`doverCompanies`** (Dover boards) — Dover: company from app.dover.com/jobs/.
- **`pageupBoards`** (PageUp boards) — PageUp: id/site from careers.pageuppeople.com//.
- **`zohoRecruitHosts`** (Zoho Recruit boards) — Zoho Recruit: host like acme.zohorecruit.com.
- **`oracleCareerUrls`** (Oracle Recruiting Cloud boards) — Oracle Recruiting Cloud: full careers URL on oraclecloud.com (.../sites/).
- **`eightfoldCareerUrls`** (Eightfold boards) — Eightfold: careers URL, e.g. https://acme.eightfold.ai/careers.
- **`jazzHrCompanies`** (JazzHR companies) — JazzHR: company from .applytojob.com.
- **`icimsSites`** (iCIMS sites) — iCIMS: host like careers-acme.icims.com.
- **`trakstarCompanies`** (Trakstar Hire companies) — Trakstar Hire: company from .hire.trakstar.com.
- **`ultiproBoardUrls`** (UKG UltiPro boards) — UKG UltiPro: board URL on recruiting.ultipro.com (.../JobBoard/).
- **`paylocityBoards`** (Paylocity boards) — Paylocity: id or link from recruiting.paylocity.com/recruiting/jobs/All//....
- **`isolvedSites`** (iSolved Hire sites) — iSolved Hire: site like acme.isolvedhire.com.
- **`hireologyCompanies`** (Hireology companies) — Hireology: company from careers.hireology.com/.
- **`hibobCompanies`** (HiBob companies) — HiBob: company from .careers.hibob.com.
- **`hiringThingCompanies`** (HiringThing companies) — HiringThing: company from .hiringthing.com.
- **`freshteamCompanies`** (Freshteam companies) — Company from .freshteam.com. Example: giaspace
- **`jobscoreCompanies`** (JobScore companies) — Company code from careers.jobscore.com/careers/. Example: jobscore
- **`successFactorsSites`** (SAP SuccessFactors career sites) — Career-site host, e.g. careers.ey.com. SAP's public feed gives the 20 newest jobs of the site. Example: careers.ey.com
- **`softgardenCompanies`** (softgarden companies) — softgarden: company from .softgarden.io.
- **`factorialCompanies`** (Factorial companies) — Factorial: company from .factorialhr.com.
- **`hirebridgeCompanies`** (HireBridge boards) — Cid number from recruit.hirebridge.com/v3/Jobs/list.aspx?cid=, e.g. 7780. Or paste the board link in Company domains.
- **`trinetHireCompanies`** (TriNet Hire boards) — Company from app.trinethire.com/companies//jobs, e.g. 22943-x. Or paste the board link in Company domains.
- **`polymerCompanies`** (Polymer boards) — Company from jobs.polymer.co/, e.g. magnendo. Or paste the board link in Company domains.
- **`goHireCompanies`** (GoHire boards) — Board from jobs.gohire.io//, e.g. piersight-rfd9c90d. Or paste the board link in Company domains.
- **`harbourAtsTenants`** (Harbour ATS boards) — Tenant from .harbourats.com (e.g. aria.amal), e.g. aria.amal. Or paste the board link in Company domains.
- **`sagePeopleSites`** (Sage People boards) — Site from .my.salesforce-sites.com/recruit, e.g. peoplecore. Or paste the board link in Company domains.
- **`silkRoadCompanies`** (SilkRoad (Rival) boards) — Company from jobs.silkroad.com//Careers, e.g. Colsa. Or paste the board link in Company domains.
- **`paycorClientIds`** (Paycor Recruiting boards) — ClientId from recruitingbypaycor.com/career/CareerHome.action?clientId=, e.g. 8a7883d0900e460701902c92de2a0e43. Or paste the board link in Company domains.
- **`getroNetworks`** (Getro (VC job boards) boards) — Jobs board host of a VC network, e.g. jobs.a16z.com, e.g. jobs.a16z.com. Or paste the board link in Company domains.
- **`loxoAgencies`** (Loxo boards) — Agency from app.loxo.co/, e.g. loxo. Or paste the board link in Company domains.
- **`tribepadSites`** (Tribepad boards) — Site from .tribepad.com, e.g. twinkl. Or paste the board link in Company domains.
- **`networxBrands`** (networx / IRIS boards) — Brand from .current-vacancies.com, e.g. ymca. Or paste the board link in Company domains.
- **`peopleAdminSites`** (PeopleAdmin (US universities) boards) — Site like uta.peopleadmin.com, e.g. uta.peopleadmin.com. Or paste the board link in Company domains.
- **`gupyCompanies`** (Gupy (Brazil) boards) — Company from .gupy.io, e.g. ambev. Or paste the board link in Company domains.
- **`traffitCompanies`** (Traffit (Poland) boards) — Company from .traffit.com, e.g. traffit. Or paste the board link in Company domains.
- **`radancySites`** (Radancy (TalentBrew) sites) — Careers host, e.g. jobs.vinci.com/en (up to 5,000 jobs), e.g. jobs.vinci.com/en. Or put the company domain in Company domains: the Actor recognises these sites.
- **`phenomSites`** (Phenom sites) — Careers host or company domain, e.g. jobs.cvshealth.com (up to 5,000 jobs), e.g. cvshealth.com. Or put the company domain in Company domains: the Actor recognises these sites.
- **`jibeSites`** (Jibe (iCIMS career sites) boards) — Jibe (iCIMS career site) host, e.g. jobs.uhs.com (up to 5,000 jobs), e.g. jobs.uhs.com. Or paste the board link in Company domains.
- **`paradoxSites`** (Paradox career sites boards) — Paradox career site host, e.g. jobs.harrishealth.org, e.g. jobs.harrishealth.org. Or paste the board link in Company domains.
- **`taleoBusinessEditionLinks`** (Taleo Business Edition boards) — Taleo Business Edition careers link (...tbe.taleo.net/.../careers/v2/jobSearch?org=...\&cws=...), e.g. https://phf.tbe.taleo.net/phf02/ats/careers/v2/jobSearch?org=COSTCO\&cws=41. Or paste the board link in Company domains.
- **`taleoCareerSections`** (Taleo Enterprise career sections) — Taleo Enterprise career section (.taleo.net/careersection/), e.g. valero.taleo.net/careersection/2. Or paste the careers link in Company domains.
- **`paycomPortals`** (Paycom career portals) — Paycom portal key or careers link, e.g. https://www.paycomonline.net/v4/ats/web.php/portal/8B43E6E34C5D5C9AA3D07BB04DBEB909/career-page. Or paste the link in Company domains.
- **`recootyCompanies`** (Recooty companies) — Company from jobs.recooty.com/, e.g. atom-com. Or paste the link in Company domains.
- **`joblinkApplyCompanies`** (JoblinkApply (US hourly) boards) — Company from .joblinkapply.com (US hourly hiring), e.g. fcssecurity. Or paste the board link in Company domains.
- **`talentechCompanies`** (Talentech (Nordics) boards) — Company from jobs.talentech.com/ (Nordics), e.g. surgicalscience. Or paste the board link in Company domains.
- **`onShiftCompanies`** (OnShift (US senior care) boards) — Company from .employ.onshift.com (US senior care), e.g. wesbury. Or paste the board link in Company domains.
- **`jobtrainBoards`** (Jobtrain (UK public sector) boards) — Board from www.jobtrain.co.uk/ (UK public sector), e.g. iomgovjobs. Or paste the board link in Company domains.
- **`talentLinkSites`** (Lumesse TalentLink boards) — Lumesse TalentLink career host, e.g. mubeacareers.recruitmentplatform.com, e.g. mubeacareers.recruitmentplatform.com. Or paste the board link in Company domains.
- **`eploySites`** (Eploy (UK) boards) — Site like altradweb.eploy.net (UK), e.g. altradweb.eploy.net. Or paste the board link in Company domains.
- **`talos360Sites`** (Talos360 (UK) boards) — Site like ukas.talosats-careers.com (UK), e.g. ukas.talosats-careers.com. Or paste the board link in Company domains.
- **`onlyfyCompanies`** (onlyfy / Prescreen (DACH) boards) — Company from .onlyfy.jobs (onlyfy / Prescreen, DACH), e.g. prescreen. Or paste the board link in Company domains.
- **`monitorEnabled`** (Monitor only new results) — The first monitored run stores a free baseline. Later runs deliver and charge only new results.
- **`monitorId`** (Monitor ID (optional)) — Pins the persistent baseline to a name of your choice. Leave empty to derive it automatically from the Greenhouse boards. Use distinct IDs to track separate targets independently.
- **`sources`** (Declared upstream sources and estimated costs) — Declare every upstream source before this run. Each item needs name, authorization, and estimated_cost_usd.
- **`memoryKey`** (Memory name (optional)) — Give the 'only new jobs' memory a name to share it between tasks or keep it when you change the search. Empty = one memory per search.
- **`catsCompanies`** (CATS companies) — Company from <company>.catsone.com/careers, e.g. canadabread (CATS, used by US and Canadian staffing agencies).
- **`varbiEmployers`** (Varbi employers (Sweden)) — Employer from <employer>.varbi.com, e.g. kth or ki (Swedish universities, regions and public bodies).
- **`governmentJobsAgencies`** (GovernmentJobs agencies (NEOGOV)) — Agency from www.governmentjobs.com/careers/<agency>, e.g. lacounty (NEOGOV, US cities, counties and states; every page is read).
- **`recruiterflowCompanies`** (Recruiterflow companies) — Company from recruiterflow.com/<company>/jobs, e.g. carguysinc (US staffing and recruiting firms).
- **`dvinciCompanies`** (d.vinci companies (Germany)) — Company from <company>.dvinci-easy.com, e.g. toom-baumarkt or weig (German employers).
- **`employmentHeroOrganisations`** (Employment Hero organisations) — Organisation id from employmenthero.com/.../organisations/<id>, e.g. healthwiseorgau.
- **`weRecruitCompanies`** (WeRecruit companies (France)) — Company from careers.werecruit.io/<company>.
- **`beesiteTenants`** (beesite career sites (Germany)) — Tenant from api-<tenant>.beesite.de, e.g. deutschebank (every page is read).
- **`umantisBoards`** (Haufe Umantis boards) — Board from recruitingapp-<n>.umantis.com, e.g. recruitingapp-12705 or just 12705 (German, Swiss and Austrian employers; every page is read).
- **`jobApsAgencies`** (JobAps agencies (US public sector)) — Agency from www.jobapscloud.com/<agency>, e.g. MD (State of Maryland) or SJQ (San Joaquin County).
- **`scoutTalentCompanies`** (Scout Talent companies) — Company from <company>.applynow.net.au, e.g. floreyinstitute (Scout Talent, Australia, New Zealand, Canada).
- **`hrmosCompanies`** (HRMOS companies (Japan)) — Company from hrmos.co/pages/<company>/jobs, e.g. moneyforward (HRMOS, Japan; every page is read).
- **`greetingHrSites`** (GreetingHR career sites (Korea)) — Company from <company>.career.greetinghr.com, e.g. kurly, or a company's own GreetingHR careers host, e.g. www.musinsacareers.com.
- **`herpCompanies`** (HERP companies (Japan)) — Company from herp.careers/v1/<company>, e.g. smartbank or kaminashi (HERP, Japanese startups).
- **`kekaCompanies`** (Keka companies (India, Gulf)) — Company from <company>.keka.com/careers, e.g. cars24 or jupiter (Keka, India and the Gulf; salary and skills when published).
- **`schoolSpringBoards`** (SchoolSpring / PowerSchool districts (US schools)) — District from <district>.schoolspring.com or <district>.tedk12.com, e.g. slcschools (PowerSchool, US school districts; every page is read).
- **`talentLyftCompanies`** (TalentLyft companies) — Company from <company>.talentlyft.com, e.g. kpmg-bulgaria (TalentLyft, Croatia, Balkans, Central Europe).
- **`talentsoftSites`** (Talentsoft (Cegid) career sites) — Career site from <site>.talent-soft.com, e.g. geodis-recrute or dc-careers (Cegid Talentsoft, France and Europe; every page is read).
- **`oleeoBoards`** (Oleeo (tal.net) job boards) — Tenant from <tenant>.tal.net, e.g. fco, or fco/2 for its second board (Oleeo, UK public sector, banks, graduate schemes; every page is read).
- **`vincereAgencies`** (Vincere recruitment agencies) — Agency from <agency>.vincere.io/careers, e.g. goldenkeys (Vincere, recruitment agencies, UK, Ireland, Asia-Pacific; every page is read, salary and description included).
- **`njoynBoards`** (Njoyn (CGI) boards) — Board as CL<n>/<CLID> from a clients.njoyn.com link, e.g. CL3/55227 for the City of Abbotsford (Njoyn by CGI, Canadian cities and universities).
- **`brassringSites`** (BrassRing (IBM Kenexa) sites) — Site as partnerid/siteid from a brassring.com TGnewUI link, e.g. 26173/5197 for Publix (IBM Kenexa BrassRing, large US employers; every page is read).
- **`jobsoidCompanies`** (Jobsoid companies) — Company from <company>.jobsoid.com, e.g. workatedge (Jobsoid, India, South-East Asia; description, salary and experience included).
- **`pandapeCompanies`** (Pandapé (InfoJobs) companies) — Company from <company>.pandape.infojobs.com.br, e.g. carrefour or ifood (Pandapé by InfoJobs, Brazil and Latin America; every page is read).
- **`jobcanCompanies`** (Jobcan (Japan) companies) — Company from recruit.jobcan.jp/<company>, e.g. mos (Jobcan, Japan; every page is read, summary included).
- **`recruitisSites`** (Recruitis career sites) — Career site from <site>.jobs.recruitis.io, e.g. adastra (Recruitis, Czech Republic and Slovakia).
- **`jobtoolzCompanies`** (Jobtoolz companies) — Company from <company>.jobtoolz.com, e.g. titeca (Jobtoolz, Belgium and the Netherlands).
- **`academicJobsOnlineEmployers`** (Academic Jobs Online employers) — Employer code from academicjobsonline.org/ajo/<code>, e.g. BU for Boston University (Academic Jobs Online, universities and research institutes; department and deadline included).
- **`kulaCompanies`** (Kula companies) — Company from careers.kula.ai/<company>, e.g. cashfree or rocketlane (Kula, India and US startups).
- **`reachmeeAttractSites`** (ReachMee Attract sites) — Site from <site>.attract.reachmee.com, e.g. apotek1 (ReachMee Attract, Norway and Sweden; region, category and deadline included).
- **`gestmaxSites`** (Gestmax sites) — Site from <site>.gestmax.fr, e.g. antony or ansm-recrutement (Gestmax, France: local authorities, public bodies, companies; every page is read).
- **`quickinCompanies`** (Quickin companies) — Company from jobs.quickin.io/<company>, e.g. koin or cdludi (Quickin, Brazil; every page is read, salary, contract and description included).
- **`crelatePortals`** (Crelate portals) — Portal from jobs.crelate.com/portal/<org>, e.g. clayco (Crelate, US recruitment agencies and employers; every open job, description included).
- **`pcrecruiterBoards`** (PCRecruiter job boards) — Board uid from www2.pcrecruiter.net/pcrbin/jobboard.aspx?uid=..., e.g. hcr.hcrjobs (PCRecruiter by Main Sequence, US staffing agencies and employers; every result page is read).
- **`bullhornBoards`** (Bullhorn career portals) — Career portal as <server>/<corpToken>, e.g. 42/6VV91S, read from the agency's career site config (public-rest<server>.bullhornstaffing.com/rest-services/<corpToken>). Bullhorn, staffing agencies worldwide; every open public job, description and pay included.
- **`engageSites`** (Engage ATS sites) — Site from <site>.engageats.co.uk, e.g. barnsley (Engage ATS by Havas People, UK councils, police forces, schools and employers; every page is read, salary and closing date included).
- **`gr8peopleSites`** (GR8 People career sites) — Career site from <site>.workgr8.com or <site>.gr8people.com, e.g. randstadnorthamerica (GR8 People, US employers and staffing firms; every open job, description and pay range included).
- **`reachSites`** (Reach ATS sites) — Site key from <key>.reach-ats.com, the public vacancy feed behind the employer's career site (Reach ATS, UK employers; every live vacancy, salary and hours included).
- **`hrworksCompanies`** (HRworks companies) — companyId from jobapplication.hrworks.de/?companyId=..., e.g. a4c538d (HRworks, German small and mid-size employers; every job of the list, category, level and place included).
- **`peoplebankSites`** (PeopleBank sites) — Client from peoplebank.com/pb3/corporate/<client>, e.g. jksrestaurants (PeopleBank, UK hospitality, retail and construction employers; every vacancy, department and closing date included).
- **`sensehqSites`** (SenseHQ career sites) — Career site from <tenant>.sensehq.com/careers, e.g. ab-inbev-gcc (SenseHQ, India and US employers; every page, description and experience range included).
- **`bizneoSites`** (Bizneo job boards) — Job board host from <site>.bizneo.cloud/jobs, e.g. jobs.abeienergy.bizneo.cloud (Bizneo ATS, Spain, Portugal and Latin America; every page of the board, place and work mode included).

# Actor input Schema

## `companyDomains` (type: `array`):

The easiest way to use this Actor. Give company websites (stripe.com, figma.com) or paste any job board link (https://boards.greenhouse.io/stripe, https://acme.bamboohr.com, a Workday careers URL): it finds which of 123 applicant tracking systems each one uses - Greenhouse, Lever, Ashby, Workday, SmartRecruiters, iCIMS, SuccessFactors and more - then returns every open role. No board tokens to look up. Max 20 per run.

## `searchAllCompanies` (type: `boolean`):

Search the open roles of thousands of companies at once, without giving any company: set at least one keyword or location below (e.g. keywords 'data engineer', locations 'Berlin'). The index is rebuilt from the companies' own ATS every day; the 25 companies with the most matches get their full description fetched live. Same price per job.

## `greenhouseBoards` (type: `array`):

Company board tokens on Greenhouse (from boards.greenhouse.io/<token>). Returns every open role.

## `leverCompanies` (type: `array`):

Company handles on Lever (from jobs.lever.co/<handle>).

## `ashbyBoards` (type: `array`):

Board names on Ashby (from jobs.ashbyhq.com/<board>).

## `smartRecruitersCompanies` (type: `array`):

Company identifiers on SmartRecruiters.

## `ripplingCompanies` (type: `array`):

Company handles on Rippling ATS (from ats.rippling.com/<handle>).

## `breezyCompanies` (type: `array`):

Company handles on Breezy HR (from <handle>.breezy.hr).

## `workdayCareerUrls` (type: `array`):

Full careers-site URLs on Workday, e.g. https://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite. Most large enterprises use Workday.

## `personioCompanies` (type: `array`):

Company handles on Personio (from <handle>.jobs.personio.de). Common across European employers.

## `bambooHrCompanies` (type: `array`):

Company handles on BambooHR (from <handle>.bamboohr.com).

## `recruiteeCompanies` (type: `array`):

Recruitee: company from <company>.recruitee.com.

## `teamtailorCompanies` (type: `array`):

Teamtailor: company from <company>.teamtailor.com.

## `workableAccounts` (type: `array`):

Workable: account from apply.workable.com/<account>.

## `jobviteCompanies` (type: `array`):

Jobvite: company from jobs.jobvite.com/<company>.

## `pinpointCompanies` (type: `array`):

Pinpoint: company from <company>.pinpointhq.com.

## `gemCompanies` (type: `array`):

Gem: company from jobs.gem.com/<company>.

## `joinCompanies` (type: `array`):

JOIN: company from join.com/companies/<company>.

## `homerunCompanies` (type: `array`):

Homerun: company from <company>.homerun.co.

## `hirehiveCompanies` (type: `array`):

HireHive: company from <company>.hirehive.com.

## `manatalCompanies` (type: `array`):

Manatal: company from careers-page.com/<company>.

## `doverCompanies` (type: `array`):

Dover: company from app.dover.com/jobs/<company>.

## `avatureTenants` (type: `array`):

Avature: tenant from <tenant>.avature.net.

## `pageupBoards` (type: `array`):

PageUp: id/site from careers.pageuppeople.com/<id>/<site>.

## `zohoRecruitHosts` (type: `array`):

Zoho Recruit: host like acme.zohorecruit.com.

## `oracleCareerUrls` (type: `array`):

Oracle Recruiting Cloud: full careers URL on oraclecloud.com (.../sites/<site>).

## `eightfoldCareerUrls` (type: `array`):

Eightfold: careers URL, e.g. https://acme.eightfold.ai/careers.

## `jazzHrCompanies` (type: `array`):

JazzHR: company from <company>.applytojob.com.

## `comeetBoards` (type: `array`):

Comeet: company/uid from comeet.com/jobs/<company>/<uid>, e.g. kaltura/E2.00D.

## `icimsSites` (type: `array`):

iCIMS: host like careers-acme.icims.com.

## `trakstarCompanies` (type: `array`):

Trakstar Hire: company from <company>.hire.trakstar.com.

## `ultiproBoardUrls` (type: `array`):

UKG UltiPro: board URL on recruiting.ultipro.com (.../JobBoard/<id>).

## `paylocityBoards` (type: `array`):

Paylocity: id or link from recruiting.paylocity.com/recruiting/jobs/All/<id>/....

## `applicantProSites` (type: `array`):

ApplicantPro: site like acme.applicantpro.com.

## `isolvedSites` (type: `array`):

iSolved Hire: site like acme.isolvedhire.com.

## `hireologyCompanies` (type: `array`):

Hireology: company from careers.hireology.com/<company>.

## `hibobCompanies` (type: `array`):

HiBob: company from <company>.careers.hibob.com.

## `hiringThingCompanies` (type: `array`):

HiringThing: company from <company>.hiringthing.com.

## `cornerstoneSiteUrls` (type: `array`):

Cornerstone: career site URL on csod.com (.../ux/ats/careersite/<id>/home?c=<company>).

## `freshteamCompanies` (type: `array`):

Company from <company>.freshteam.com. Example: giaspace

## `jobscoreCompanies` (type: `array`):

Company code from careers.jobscore.com/careers/<company>. Example: jobscore

## `successFactorsSites` (type: `array`):

Career-site host, e.g. careers.ey.com. SAP's public feed gives the 20 newest jobs of the site. Example: careers.ey.com

## `softgardenCompanies` (type: `array`):

softgarden: company from <company>.softgarden.io.

## `factorialCompanies` (type: `array`):

Factorial: company from <company>.factorialhr.com.

## `hirebridgeCompanies` (type: `array`):

Cid number from recruit.hirebridge.com/v3/Jobs/list.aspx?cid=<cid>, e.g. 7780. Or paste the board link in Company domains.

## `trinetHireCompanies` (type: `array`):

Company from app.trinethire.com/companies/<company>/jobs, e.g. 22943-x. Or paste the board link in Company domains.

## `polymerCompanies` (type: `array`):

Company from jobs.polymer.co/<company>, e.g. magnendo. Or paste the board link in Company domains.

## `goHireCompanies` (type: `array`):

Board from jobs.gohire.io/<board>/, e.g. piersight-rfd9c90d. Or paste the board link in Company domains.

## `acquireTmTenants` (type: `array`):

Tenant from <tenant>.acquiretm.com, e.g. ecmd. Or paste the board link in Company domains.

## `harbourAtsTenants` (type: `array`):

Tenant from <tenant>.harbourats.com (e.g. aria.amal), e.g. aria.amal. Or paste the board link in Company domains.

## `sagePeopleSites` (type: `array`):

Site from <site>.my.salesforce-sites.com/recruit, e.g. peoplecore. Or paste the board link in Company domains.

## `silkRoadCompanies` (type: `array`):

Company from jobs.silkroad.com/<company>/Careers, e.g. Colsa. Or paste the board link in Company domains.

## `paycorClientIds` (type: `array`):

ClientId from recruitingbypaycor.com/career/CareerHome.action?clientId=<id>, e.g. 8a7883d0900e460701902c92de2a0e43. Or paste the board link in Company domains.

## `getroNetworks` (type: `array`):

Jobs board host of a VC network, e.g. jobs.a16z.com, e.g. jobs.a16z.com. Or paste the board link in Company domains.

## `appliTrackDistricts` (type: `array`):

District from www.applitrack.com/<district>/onlineapp, e.g. ccsd. Or paste the board link in Company domains.

## `loxoAgencies` (type: `array`):

Agency from app.loxo.co/<agency>, e.g. loxo. Or paste the board link in Company domains.

## `tribepadSites` (type: `array`):

Site from <site>.tribepad.com, e.g. twinkl. Or paste the board link in Company domains.

## `cezanneIntervieweBoards` (type: `array`):

Board as <host>/<board>, from <host>.intervieweb.it/<board>/en/career, e.g. cezanneondemand/bcha. Or paste the board link in Company domains.

## `networxBrands` (type: `array`):

Brand from <brand>.current-vacancies.com, e.g. ymca. Or paste the board link in Company domains.

## `peopleAdminSites` (type: `array`):

Site like uta.peopleadmin.com, e.g. uta.peopleadmin.com. Or paste the board link in Company domains.

## `gupyCompanies` (type: `array`):

Company from <company>.gupy.io, e.g. ambev. Or paste the board link in Company domains.

## `traffitCompanies` (type: `array`):

Company from <company>.traffit.com, e.g. traffit. Or paste the board link in Company domains.

## `radancySites` (type: `array`):

Careers host, e.g. jobs.vinci.com/en (up to 5,000 jobs), e.g. jobs.vinci.com/en. Or put the company domain in Company domains: the Actor recognises these sites.

## `phenomSites` (type: `array`):

Careers host or company domain, e.g. jobs.cvshealth.com (up to 5,000 jobs), e.g. cvshealth.com. Or put the company domain in Company domains: the Actor recognises these sites.

## `jibeSites` (type: `array`):

Jibe (iCIMS career site) host, e.g. jobs.uhs.com (up to 5,000 jobs), e.g. jobs.uhs.com. Or paste the board link in Company domains.

## `paradoxSites` (type: `array`):

Paradox career site host, e.g. jobs.harrishealth.org, e.g. jobs.harrishealth.org. Or paste the board link in Company domains.

## `taleoBusinessEditionLinks` (type: `array`):

Taleo Business Edition careers link (...tbe.taleo.net/.../careers/v2/jobSearch?org=...\&cws=...), e.g. https://phf.tbe.taleo.net/phf02/ats/careers/v2/jobSearch?org=COSTCO\&cws=41. Or paste the board link in Company domains.

## `taleoCareerSections` (type: `array`):

Taleo Enterprise career section (<company>.taleo.net/careersection/<section>), e.g. valero.taleo.net/careersection/2. Or paste the careers link in Company domains.

## `paycomPortals` (type: `array`):

Paycom portal key or careers link, e.g. https://www.paycomonline.net/v4/ats/web.php/portal/8B43E6E34C5D5C9AA3D07BB04DBEB909/career-page. Or paste the link in Company domains.

## `adpCareerCenters` (type: `array`):

ADP Workforce Now careers link or its cid, e.g. https://workforcenow.adp.com/mascsr/default/mdf/recruitment/recruitment.html?cid=070b2b3d-d077-4d73-b340-6055055056a6\&ccId=19000101_000001\&lang=en_US. Or paste the link in Company domains.

## `recootyCompanies` (type: `array`):

Company from jobs.recooty.com/<company>, e.g. atom-com. Or paste the link in Company domains.

## `catsCompanies` (type: `array`):

Company from <company>.catsone.com/careers, e.g. canadabread (CATS, used by US and Canadian staffing agencies). Or paste the link in Company domains.

## `varbiEmployers` (type: `array`):

Employer from <employer>.varbi.com, e.g. kth or ki (Swedish universities, regions and public bodies). Or paste the link in Company domains.

## `governmentJobsAgencies` (type: `array`):

Agency from www.governmentjobs.com/careers/<agency>, e.g. lacounty (NEOGOV, US cities, counties and states; every page is read). Or paste the link in Company domains.

## `recruiterflowCompanies` (type: `array`):

Company from recruiterflow.com/<company>/jobs, e.g. carguysinc (US staffing and recruiting firms). Or paste the link in Company domains.

## `dvinciCompanies` (type: `array`):

Company from <company>.dvinci-easy.com, e.g. toom-baumarkt or weig (German employers). Or paste the link in Company domains.

## `employmentHeroOrganisations` (type: `array`):

Organisation id from employmenthero.com/.../organisations/<id>, e.g. healthwiseorgau (Employment Hero: Australia, New Zealand, UK, Singapore, Malaysia, Canada). Or paste the link in Company domains.

## `weRecruitCompanies` (type: `array`):

Company from careers.werecruit.io/<company>, e.g. conseil-et-expertise-du-sud (WeRecruit, French SMEs). Or paste the link in Company domains.

## `beesiteTenants` (type: `array`):

Tenant from api-<tenant>.beesite.de, e.g. deutschebank (beesite by milch & zucker; every page is read). Or paste the link in Company domains.

## `umantisBoards` (type: `array`):

Board from recruitingapp-<n>.umantis.com, e.g. recruitingapp-12705 or just 12705 (German, Swiss and Austrian employers; every page is read). Or paste the link in Company domains.

## `jobApsAgencies` (type: `array`):

Agency from www.jobapscloud.com/<agency>, e.g. MD (State of Maryland) or SJQ (San Joaquin County). Or paste the link in Company domains.

## `scoutTalentCompanies` (type: `array`):

Company from <company>.applynow.net.au, e.g. floreyinstitute (Scout Talent, Australia, New Zealand, Canada). Or paste the link in Company domains.

## `hrmosCompanies` (type: `array`):

Company from hrmos.co/pages/<company>/jobs, e.g. moneyforward (HRMOS, Japan; every page is read). Or paste the link in Company domains.

## `greetingHrSites` (type: `array`):

Company from <company>.career.greetinghr.com, e.g. kurly, or a company's own GreetingHR careers host, e.g. www.musinsacareers.com. Or paste the link in Company domains.

## `herpCompanies` (type: `array`):

Company from herp.careers/v1/<company>, e.g. smartbank or kaminashi (HERP, Japanese startups). Or paste the link in Company domains.

## `kekaCompanies` (type: `array`):

Company from <company>.keka.com/careers, e.g. cars24 or jupiter (Keka, India and the Gulf; salary and skills when published). Or paste the link in Company domains.

## `schoolSpringBoards` (type: `array`):

District from <district>.schoolspring.com or <district>.tedk12.com, e.g. slcschools (PowerSchool, US school districts; every page is read). Or paste the link in Company domains.

## `talentLyftCompanies` (type: `array`):

Company from <company>.talentlyft.com, e.g. kpmg-bulgaria (TalentLyft, Croatia, Balkans, Central Europe). Or paste the link in Company domains.

## `talentsoftSites` (type: `array`):

Career site from <site>.talent-soft.com, e.g. geodis-recrute or dc-careers (Cegid Talentsoft, France and Europe; every page is read). Or paste the link in Company domains.

## `oleeoBoards` (type: `array`):

Tenant from <tenant>.tal.net, e.g. fco, or fco/2 for its second board (Oleeo, UK public sector, banks, graduate schemes; every page is read). Or paste the link in Company domains.

## `vincereAgencies` (type: `array`):

Agency from <agency>.vincere.io/careers, e.g. goldenkeys (Vincere, recruitment agencies, UK, Ireland, Asia-Pacific; every page is read, salary and description included). Or paste the link in Company domains.

## `njoynBoards` (type: `array`):

Board as CL<n>/<CLID> from a clients.njoyn.com link, e.g. CL3/55227 for the City of Abbotsford (Njoyn by CGI, Canadian cities and universities). Or paste the link in Company domains.

## `brassringSites` (type: `array`):

Site as partnerid/siteid from a brassring.com TGnewUI link, e.g. 26173/5197 for Publix (IBM Kenexa BrassRing, large US employers; every page is read). Or paste the link in Company domains.

## `jobsoidCompanies` (type: `array`):

Company from <company>.jobsoid.com, e.g. workatedge (Jobsoid, India, South-East Asia; description, salary and experience included). Or paste the link in Company domains.

## `pandapeCompanies` (type: `array`):

Company from <company>.pandape.infojobs.com.br, e.g. carrefour or ifood (Pandapé by InfoJobs, Brazil and Latin America; every page is read). Or paste the link in Company domains.

## `jobcanCompanies` (type: `array`):

Company from recruit.jobcan.jp/<company>, e.g. mos (Jobcan, Japan; every page is read, summary included). Or paste the link in Company domains.

## `recruitisSites` (type: `array`):

Career site from <site>.jobs.recruitis.io, e.g. adastra (Recruitis, Czech Republic and Slovakia). Or paste the link in Company domains.

## `jobtoolzCompanies` (type: `array`):

Company from <company>.jobtoolz.com, e.g. titeca (Jobtoolz, Belgium and the Netherlands). Or paste the link in Company domains.

## `academicJobsOnlineEmployers` (type: `array`):

Employer code from academicjobsonline.org/ajo/<code>, e.g. BU for Boston University (Academic Jobs Online, universities and research institutes; department and deadline included). Or paste the link in Company domains.

## `kulaCompanies` (type: `array`):

Company from careers.kula.ai/<company>, e.g. cashfree or rocketlane (Kula, India and US startups). Or paste the link in Company domains.

## `reachmeeAttractSites` (type: `array`):

Site from <site>.attract.reachmee.com, e.g. apotek1 (ReachMee Attract, Norway and Sweden; region, category and deadline included). Or paste the link in Company domains.

## `gestmaxSites` (type: `array`):

Site from <site>.gestmax.fr, e.g. antony or ansm-recrutement (Gestmax, France: local authorities, public bodies, companies; every page is read). Or paste the link in Company domains.

## `quickinCompanies` (type: `array`):

Company from jobs.quickin.io/<company>, e.g. koin or cdludi (Quickin, Brazil; every page is read, salary, contract and description included). Or paste the link in Company domains.

## `crelatePortals` (type: `array`):

Portal from jobs.crelate.com/portal/<org>, e.g. clayco (Crelate, US recruitment agencies and employers; every open job, description included). Or paste the link in Company domains.

## `pcrecruiterBoards` (type: `array`):

Board uid from www2.pcrecruiter.net/pcrbin/jobboard.aspx?uid=..., e.g. hcr.hcrjobs (PCRecruiter by Main Sequence, US staffing agencies and employers; every result page is read). Or paste the link in Company domains.

## `bullhornBoards` (type: `array`):

Career portal as <server>/<corpToken>, e.g. 42/6VV91S, read from the agency's career site config (public-rest<server>.bullhornstaffing.com/rest-services/<corpToken>). Bullhorn, staffing agencies worldwide; every open public job, description and pay included. Or paste the link in Company domains.

## `engageSites` (type: `array`):

Site from <site>.engageats.co.uk, e.g. barnsley (Engage ATS by Havas People, UK councils, police forces, schools and employers; every page is read, salary and closing date included). Or paste the link in Company domains.

## `gr8peopleSites` (type: `array`):

Career site from <site>.workgr8.com or <site>.gr8people.com, e.g. randstadnorthamerica (GR8 People, US employers and staffing firms; every open job, description and pay range included). Or paste the link in Company domains.

## `reachSites` (type: `array`):

Site key from <key>.reach-ats.com, the public vacancy feed behind the employer's career site (Reach ATS, UK employers; every live vacancy, salary and hours included). Or paste the link in Company domains.

## `hrworksCompanies` (type: `array`):

companyId from jobapplication.hrworks.de/?companyId=..., e.g. a4c538d (HRworks, German small and mid-size employers; every job of the list, category, level and place included). Or paste the link in Company domains.

## `peoplebankSites` (type: `array`):

Client from peoplebank.com/pb3/corporate/<client>, e.g. jksrestaurants (PeopleBank, UK hospitality, retail and construction employers; every vacancy, department and closing date included). Or paste the link in Company domains.

## `sensehqSites` (type: `array`):

Career site from <tenant>.sensehq.com/careers, e.g. ab-inbev-gcc (SenseHQ, India and US employers; every page, description and experience range included). Or paste the link in Company domains.

## `bizneoSites` (type: `array`):

Job board host from <site>.bizneo.cloud/jobs, e.g. jobs.abeienergy.bizneo.cloud (Bizneo ATS, Spain, Portugal and Latin America; every page of the board, place and work mode included). Or paste the link in Company domains.

## `joblinkApplyCompanies` (type: `array`):

Company from <company>.joblinkapply.com (US hourly hiring), e.g. fcssecurity. Or paste the board link in Company domains.

## `clearCompanyCompanies` (type: `array`):

Company from apply.clearcompany.com/<company>, e.g. lcmh. Or paste the board link in Company domains.

## `deelCompanies` (type: `array`):

Company from jobs.deel.com/<company>, e.g. klarna. Or paste the board link in Company domains.

## `talentechCompanies` (type: `array`):

Company from jobs.talentech.com/<company> (Nordics), e.g. surgicalscience. Or paste the board link in Company domains.

## `onShiftCompanies` (type: `array`):

Company from <company>.employ.onshift.com (US senior care), e.g. wesbury. Or paste the board link in Company domains.

## `jobtrainBoards` (type: `array`):

Board from www.jobtrain.co.uk/<board> (UK public sector), e.g. iomgovjobs. Or paste the board link in Company domains.

## `talentLinkSites` (type: `array`):

Lumesse TalentLink career host, e.g. mubeacareers.recruitmentplatform.com, e.g. mubeacareers.recruitmentplatform.com. Or paste the board link in Company domains.

## `eploySites` (type: `array`):

Site like altradweb.eploy.net (UK), e.g. altradweb.eploy.net. Or paste the board link in Company domains.

## `talos360Sites` (type: `array`):

Site like ukas.talosats-careers.com (UK), e.g. ukas.talosats-careers.com. Or paste the board link in Company domains.

## `applicantStackCompanies` (type: `array`):

Company from <company>.applicantstack.com (Swipeclock / WorkforceHub), e.g. swipeclock. Or paste the board link in Company domains.

## `onlyfyCompanies` (type: `array`):

Company from <company>.onlyfy.jobs (onlyfy / Prescreen, DACH), e.g. prescreen. Or paste the board link in Company domains.

## `careerPlugCompanies` (type: `array`):

Company from <company>.careerplug.com (US franchises), e.g. sportclips. Or paste the board link in Company domains.

## `includeDescription` (type: `boolean`):

Add the full job description (plain text), salary, contract type, workplace type and apply link when the system publishes them, plus facts read from the text: years of experience, skills, visa sponsorship, degree. Same price. Turn off for lighter rows.

## `includeCompanyProfile` (type: `boolean`):

Add each company's industry, employee count, size band (1-10 ... 10,001+), headquarters and founding year, from Wikidata by the company's website. Free; empty for companies Wikidata does not know (often small startups).

## `industries` (type: `array`):

Keep only companies whose industry contains one of these words (software, retail, insurance, financial...). Needs 'Company industry and size'. Companies with no known industry are dropped when this is set.

## `companySizes` (type: `array`):

Keep only companies of these sizes (employees). Tick 'Unknown' to keep companies whose size is not known.

## `maxTotalChargeUsd` (type: `number`):

Hard maximum amount that this run may charge.

## `previousJobs` (type: `array`):

Optional. Supply the previous run's output to receive only NEW and CHANGED roles instead of the full list.

## `currentJobs` (type: `array`):

Optional. Supply your own job rows to normalize/deduplicate instead of fetching. Leave empty to fetch from the boards above.

## `monitorEnabled` (type: `boolean`):

The first monitored run stores a free baseline. Later runs deliver and charge only new results.

## `monitorId` (type: `string`):

Pins the persistent baseline to a name of your choice. Leave empty to derive it automatically from the Greenhouse boards. Use distinct IDs to track separate targets independently.

## `sources` (type: `array`):

Declare every upstream source before this run. Each item needs name, authorization, and estimated_cost_usd.

## `keywords` (type: `array`):

Keep only jobs whose title, department, company or location contains one of these words. Whole-word match. Leave empty to keep everything. Filtering happens before billing - you are never charged for a job you filtered out.

## `excludeKeywords` (type: `array`):

Drop jobs matching any of these words, e.g. intern, senior, sales.

## `locations` (type: `array`):

Keep only jobs whose location contains one of these, e.g. Berlin, United Kingdom.

## `remoteOnly` (type: `boolean`):

Keep only roles whose location says remote, anywhere or distributed.

## `postedAfter` (type: `string`):

Keep only jobs posted on or after this date (YYYY-MM-DD). Jobs from providers that publish no date are kept.

## `employmentTypes` (type: `array`):

Keep only these contract types (read from the job system's own field, the title, or a clear phrase in the text). Tick 'Not stated' to also keep jobs that do not say. Filtered jobs are never charged.

## `workArrangements` (type: `array`):

Keep only these work arrangements. Hybrid jobs also get the office days per week when the posting says it.

## `countries` (type: `array`):

Keep only jobs in these countries: names or 2-letter codes (United States, US, Germany, DE...). Add 'unknown' to keep jobs with no country written.

## `excludeTitleKeywords` (type: `array`):

Drop jobs whose TITLE has any of these words (e.g. senior, intern, manager), even if the description mentions them.

## `excludeCompanies` (type: `array`):

Drop jobs from these companies (part of the name is enough).

## `excludeLocations` (type: `array`):

Drop jobs whose location contains any of these words (e.g. India, Remote - EMEA).

## `departments` (type: `array`):

Keep only these departments or teams (e.g. Engineering, Sales). Part of the name is enough.

## `excludeAgencies` (type: `boolean`):

Drop jobs posted by staffing or recruitment agencies for a client.

## `onlyWithSalary` (type: `boolean`):

Keep only jobs that publish a pay range (as numbers, with the pay period and a yearly equivalent).

## `minYearlySalary` (type: `integer`):

Keep only jobs paying at least this much per year (hourly, daily and monthly pay converted to yearly). Jobs without a salary are dropped when this is set.

## `postedWithin` (type: `string`):

Keep only jobs posted in this window. Jobs from providers that publish no date are kept.

## `maxYearlySalary` (type: `integer`):

Drop jobs whose yearly pay starts above this (hourly, daily and monthly pay converted to yearly).

## `jobFunctions` (type: `array`):

Keep only these job families, read from the title (Engineering, Sales, Data & AI...).

## `seniorities` (type: `array`):

Keep only these levels, read from the title. A title with no level word counts as Mid.

## `skills` (type: `array`):

Keep only jobs asking for at least one of these skills (read from the description, or the title), e.g. Python, Salesforce, SQL.

## `excludeSkills` (type: `array`):

Drop jobs asking for any of these skills.

## `visaSponsorship` (type: `string`):

Keep only jobs whose description says this about visa or work-permit sponsorship. Jobs that say nothing are dropped when this is set.

## `maxExperienceYears` (type: `integer`):

Drop jobs asking for more years of experience than this (jobs that ask for none are kept).

## `descriptionKeywords` (type: `array`):

Keep only jobs whose title or description contains one of these words.

## `excludeDescriptionKeywords` (type: `array`):

Drop jobs whose title or description contains any of these words, e.g. clearance, commission only.

## `languages` (type: `array`):

Keep only postings written in these languages (read from the text).

## `onlyCompanies` (type: `array`):

With "search all companies": keep only jobs of companies whose name contains one of these words.

## `onlyNewJobs` (type: `boolean`):

Deliver only the jobs this same search has not delivered before (remembered in your own Apify account). The first run delivers everything. Jobs already delivered are never charged again. Ideal for daily or hourly schedules.

## `memoryKey` (type: `string`):

Give the 'only new jobs' memory a name to share it between tasks or keep it when you change the search. Empty = one memory per search.

## Actor input object example

```json
{
  "companyDomains": [
    "stripe.com",
    "figma.com"
  ],
  "searchAllCompanies": false,
  "greenhouseBoards": [
    "stripe",
    "airbnb"
  ],
  "leverCompanies": [
    "spotify"
  ],
  "ashbyBoards": [
    "ramp"
  ],
  "smartRecruitersCompanies": [
    "Visa"
  ],
  "ripplingCompanies": [
    "rippling"
  ],
  "breezyCompanies": [],
  "workdayCareerUrls": [
    "https://redhat.wd5.myworkdayjobs.com/jobs"
  ],
  "personioCompanies": [
    "personio"
  ],
  "bambooHrCompanies": [],
  "freshteamCompanies": [],
  "jobscoreCompanies": [],
  "successFactorsSites": [],
  "hirebridgeCompanies": [],
  "trinetHireCompanies": [],
  "polymerCompanies": [],
  "goHireCompanies": [],
  "acquireTmTenants": [],
  "harbourAtsTenants": [],
  "sagePeopleSites": [],
  "silkRoadCompanies": [],
  "paycorClientIds": [],
  "getroNetworks": [],
  "appliTrackDistricts": [],
  "loxoAgencies": [],
  "tribepadSites": [],
  "cezanneIntervieweBoards": [],
  "networxBrands": [],
  "peopleAdminSites": [],
  "gupyCompanies": [],
  "traffitCompanies": [],
  "radancySites": [],
  "phenomSites": [],
  "jibeSites": [],
  "paradoxSites": [],
  "taleoBusinessEditionLinks": [],
  "taleoCareerSections": [],
  "paycomPortals": [],
  "adpCareerCenters": [],
  "recootyCompanies": [],
  "catsCompanies": [],
  "varbiEmployers": [],
  "governmentJobsAgencies": [],
  "recruiterflowCompanies": [],
  "dvinciCompanies": [],
  "employmentHeroOrganisations": [],
  "weRecruitCompanies": [],
  "beesiteTenants": [],
  "umantisBoards": [],
  "jobApsAgencies": [],
  "scoutTalentCompanies": [],
  "hrmosCompanies": [],
  "greetingHrSites": [],
  "herpCompanies": [],
  "kekaCompanies": [],
  "schoolSpringBoards": [],
  "talentLyftCompanies": [],
  "talentsoftSites": [],
  "oleeoBoards": [],
  "vincereAgencies": [],
  "njoynBoards": [],
  "brassringSites": [],
  "jobsoidCompanies": [],
  "pandapeCompanies": [],
  "jobcanCompanies": [],
  "recruitisSites": [],
  "jobtoolzCompanies": [],
  "academicJobsOnlineEmployers": [],
  "kulaCompanies": [],
  "reachmeeAttractSites": [],
  "gestmaxSites": [],
  "quickinCompanies": [],
  "crelatePortals": [],
  "pcrecruiterBoards": [],
  "bullhornBoards": [],
  "engageSites": [],
  "gr8peopleSites": [],
  "reachSites": [],
  "hrworksCompanies": [],
  "peoplebankSites": [],
  "sensehqSites": [],
  "bizneoSites": [],
  "joblinkApplyCompanies": [],
  "clearCompanyCompanies": [],
  "deelCompanies": [],
  "talentechCompanies": [],
  "onShiftCompanies": [],
  "jobtrainBoards": [],
  "talentLinkSites": [],
  "eploySites": [],
  "talos360Sites": [],
  "applicantStackCompanies": [],
  "onlyfyCompanies": [],
  "careerPlugCompanies": [],
  "includeDescription": true,
  "includeCompanyProfile": true,
  "previousJobs": [],
  "currentJobs": [],
  "monitorEnabled": false,
  "monitorId": "",
  "sources": [
    {
      "name": "Customer-authorized input",
      "authorization": "customer_authorized",
      "estimated_cost_usd": 0
    }
  ],
  "keywords": [
    "engineer"
  ],
  "remoteOnly": false,
  "excludeAgencies": false,
  "onlyWithSalary": false,
  "onlyNewJobs": false
}
```

# Actor output Schema

## `report` (type: `string`):

A visual summary of delivery, charges, changes, and source issues.

## `results` (type: `string`):

Business-ready results in a sortable table. No JSON knowledge required.

## `csv` (type: `string`):

Results ready for spreadsheets, CRMs, and analytics tools.

## `excel` (type: `string`):

Results as an Excel workbook for non-technical teams.

## `runSummary` (type: `string`):

Machine-readable delivery, billing, and source diagnostics.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "companyDomains": [
        "stripe.com",
        "figma.com"
    ],
    "greenhouseBoards": [
        "stripe",
        "airbnb"
    ],
    "leverCompanies": [
        "spotify"
    ],
    "ashbyBoards": [
        "ramp"
    ],
    "smartRecruitersCompanies": [
        "Visa"
    ],
    "ripplingCompanies": [
        "rippling"
    ],
    "workdayCareerUrls": [
        "https://redhat.wd5.myworkdayjobs.com/jobs"
    ],
    "personioCompanies": [
        "personio"
    ],
    "keywords": [
        "engineer"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("om_kh/ats-jobs-api").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "companyDomains": [
        "stripe.com",
        "figma.com",
    ],
    "greenhouseBoards": [
        "stripe",
        "airbnb",
    ],
    "leverCompanies": ["spotify"],
    "ashbyBoards": ["ramp"],
    "smartRecruitersCompanies": ["Visa"],
    "ripplingCompanies": ["rippling"],
    "workdayCareerUrls": ["https://redhat.wd5.myworkdayjobs.com/jobs"],
    "personioCompanies": ["personio"],
    "keywords": ["engineer"],
}

# Run the Actor and wait for it to finish
run = client.actor("om_kh/ats-jobs-api").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "companyDomains": [
    "stripe.com",
    "figma.com"
  ],
  "greenhouseBoards": [
    "stripe",
    "airbnb"
  ],
  "leverCompanies": [
    "spotify"
  ],
  "ashbyBoards": [
    "ramp"
  ],
  "smartRecruitersCompanies": [
    "Visa"
  ],
  "ripplingCompanies": [
    "rippling"
  ],
  "workdayCareerUrls": [
    "https://redhat.wd5.myworkdayjobs.com/jobs"
  ],
  "personioCompanies": [
    "personio"
  ],
  "keywords": [
    "engineer"
  ]
}' |
apify call om_kh/ats-jobs-api --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,om_kh/ats-jobs-api"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/iqYYJMj3XxN5z8Cwq/builds/ABioXJhfjKsscdZfx/openapi.json
