Jobs API — All Sources avatar

Jobs API — All Sources

Pricing

Pay per event

Go to Apify Store
Jobs API — All Sources

Jobs API — All Sources

Open roles from every supported job platform in one run, as structured JSON or CSV, at $1.50 per 1,000 jobs. Paste careers URLs or company names and it works out which platform each is on. One schema, de-duplicated, with change detection and a white-label hiring report.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Howth Technology Factory

Howth Technology Factory

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Open roles from every supported job platform in one run. Paste careers URLs or company names and it works out which platform each one is on.

Unofficial. Not affiliated with or endorsed by any of the platforms it reads.


What it does

Reads seven public sources — five applicant-tracking systems and two global remote-job feeds — normalises them all to the same schema, merges, de-duplicates and returns one row per role: company, title, department, team, location, country, remote flag, workplace type, employment type, seniority, salary where published, posted date and the apply link.

You do not have to know which ATS a company uses. Paste airbnb, a jobs.lever.co URL and a Recruitee subdomain in the same list; each input is tried against every platform and lands wherever it belongs.

Platforms read: Greenhouse · Lever · Ashby · Recruitee · SmartRecruiters · Remote OK · Jobicy

Who it's for

  • Aggregators and job boards that want one integration instead of seven.
  • Talent researchers measuring hiring across a portfolio of companies on mixed platforms.
  • AI agents needing open roles as structured JSON without first working out which ATS an employer uses.

Sample output

From a real run, 2026-08-01: three inputs across three different platforms — 53 roles from 7 sources and 14 boards in about 22 seconds, no failures, 4 repost groups flagged.

{
"source": "greenhouse",
"board": "airbnb",
"company": "Airbnb",
"title": "Software Engineer, Community Support Engineering",
"department": "Software Engineering",
"location": "San Francisco, CA",
"isRemote": false,
"workplaceType": "hybrid",
"employmentType": null,
"salary": null,
"postedAt": "2026-07-31T11:14:30-04:00",
"applyUrl": "https://careers.airbnb.com/positions/8097917?gh_jid=8097917"
}

Every row carries source and board, so you always know where a role came from.

"Not on this platform" is not a failure

Each input is tried against every platform, so a Greenhouse company legitimately "fails" on Lever, Ashby and the rest. Those are counted separately as notOnThisPlatform, not as errors: an input that succeeded anywhere was simply not on the platforms that could not find it. Only an input no source could read is reported as a real failure. On the run above that meant 0 failures and 7 not-on-this-platform, rather than a scary-looking 7 errors.

What each platform publishes differs, and is never invented

Salary is in the public feed for Lever, Ashby, Recruitee and Jobicy, and absent from Greenhouse and SmartRecruiters. Department is everywhere except Remote OK. SmartRecruiters carries no advert body at all. Where a platform does not publish a field it is null — never guessed, never inferred from the job title. Each single-platform listing in this family documents its own coverage measured on a real run.

The three rules this product is built on

  1. Job descriptions belong to the employer. includeDescription is off by default.
  2. No personal data, ever. No recruiter names, no hiring-manager contacts, no emails, no phone numbers. There is nowhere in this schema to put one, and a test fails the build if a personal-data field appears.
  3. Unofficial, reading public feeds. No key, no login, no browser automation, no anti-bot circumvention. Where a source licences its data on condition of credit and a link back, that attribution travels with every run and the apply link is never rewritten.

Pricing

EventPrice
Actor start$0.00005
Job returned$0.0015

$1.50 per 1,000 jobs, charged on the final de-duplicated set — not on the sum of the sources. A company on two platforms is charged once. A board that could not be read returns nothing and is not charged. The 53-job run above cost $0.08.

Use maxJobsPerSource and the title/location filters to cap what a run can cost: you are charged for what comes back, so filtering in the input costs less than filtering afterwards.

Monitoring

Set onlyNewSinceLastRun and schedule it. The first run stores a baseline per board and returns everything — nothing is reported as a change, because everything being new the first time is not news. Add a webhookUrl for a JSON summary when anything moves.

FAQ

Do I need any API keys? No. Every source is a public feed.

Do I need to know which ATS a company uses? No. That is the point of this listing.

Can I limit it to certain platforms? Yes — set sources, e.g. ["greenhouse","lever"].

Why did a company return nothing? Either it has nothing open, or it is on a platform not in this list. SmartRecruiters in particular cannot distinguish an unknown company from an empty board; its result says so.

If a role appears on two platforms, do I pay twice? No. De-duplication runs before charging.

Which platforms are not included? Several were evaluated and excluded — some because their terms prohibit commercial redistribution, one because its feed could only be read for one board in four. A source that cannot be read reliably or republished lawfully is not in here.

MCP — for AI agents

{ "mcpServers": { "jobs": { "url": "https://jobs-api.mcpize.run" } } }

search_jobs $0.01 · get_company_jobs $0.01 · monitor_jobs $0.02 · generate_report $0.10


Unofficial. Not affiliated with or endorsed by any platform named here. Job adverts are the property of the employers who published them.