Job Search API - Career Site Jobs: Greenhouse, Lever +6 ATS avatar

Job Search API - Career Site Jobs: Greenhouse, Lever +6 ATS

Pricing

$2.00 / 1,000 job returneds

Go to Apify Store
Job Search API - Career Site Jobs: Greenhouse, Lever +6 ATS

Job Search API - Career Site Jobs: Greenhouse, Lever +6 ATS

Job scraper and search API for live openings on company career pages. Searches an index of companies across Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Teamtailor, and returns one normalised schema with apply links. No LinkedIn logins, no proxies, nothing to get blocked by.

Pricing

$2.00 / 1,000 job returneds

Rating

0.0

(0)

Developer

DataSignals Lab

DataSignals Lab

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

Job Search API: jobs direct from company career sites

Search live openings across an indexed set of companies, pulled straight from their own career boards. Run it with no input to see it work.

Why this is different

Most job scrapers read LinkedIn or Indeed: aggregators that copy postings a day or two late, behind bot protection that breaks and needs proxies. This Actor reads the source instead, the public JSON endpoint every applicant tracking system already publishes for its customers' career pages. No login, no key, no anti-bot workaround, and the posting is here before an aggregator copies it.

You do not need to know any company or platform. A built-in index maps companies to their ATS, so you can just search: keyword, location, country, remote. Name a company explicitly only when you want to track that one employer.

Who it's for

  • Recruiters and sourcers who want the posting before it reaches an aggregator.
  • Job boards and search products that need a clean, normalised feed.
  • Analysts tracking hiring as a growth signal per company.
  • AI agents that need structured openings instead of scraped HTML.

Which systems it reads

Eight applicant tracking systems: Greenhouse, Lever, Ashby, Workable, SmartRecruiters, Teamtailor, Breezy and Rippling. The platform is detected automatically; you never pass it unless you want to narrow the search.

What you get

One row per open job, identical across all eight platforms:

fieldmeaning
titlejob title
companythe company slug you asked for
platformwhich ATS it was found on (auto-detected)
locationlocation as the employer wrote it
countrynormalised country, or null when the location does not say
remotetrue/false from the employer's own flag, null if unstated
departmentteam or department
employment_typefull-time, contract, and so on where published
posted_atISO-8601 UTC, or null if the platform does not publish it
apply_urlthe public application page
job_idthe platform's own identifier, for de-duplication
descriptionthe posting text, HTML stripped

Every field is present on every row. Where a platform genuinely does not publish something you get null, never an invented value.

Why one schema matters

Eight platforms, eight shapes. Lever puts the date in epoch milliseconds, Greenhouse in ISO with a Z. SmartRecruiters splits the location into city, region and country and exposes a ref that points at its own API rather than at a page a human can apply on. Ashby has a real isRemote boolean; Greenhouse expects you to read the location string. Rippling writes locations like "Remote (Connecticut, US)". Normalising that is the work this Actor does for you.

Input

Everything is optional. The most common run is a plain search:

{
"keywords": ["engineer"],
"location": "Berlin",
"remoteOnly": true,
"maxJobs": 100
}

When you do name companies, the slug is the identifier in the career-board URL: boards.greenhouse.io/stripestripe, jobs.ashbyhq.com/RampRamp. The platform is detected automatically either way.

inputdefaultwhat it does
keywords["engineer"]match on job title and department
location""substring match on location
country""match on the normalised country
remoteOnlyfalseonly jobs the employer flagged remote
maxJobs100hard stop, and therefore your budget cap
maxCompanies40how many indexed companies to walk
maxJobsPerCompany10keeps one big employer from filling the page
companies[]search these slugs instead of the index
companyFilter""limit the index to matching company names
platform""limit to one ATS platform
searchDescriptionsfalsealso match the description text

Keywords deliberately do not search descriptions by default. Nearly every job description contains the word "engineer" somewhere, so including them turns a search for engineers into a list that also has analysts and recruiters in it.

A company that is not on any supported platform is logged as a warning and skipped; the rest of your list still runs.

How the index grows

The company index is built by reading the ATS link straight from a company's careers page, not by guessing slugs from company names. That distinction is the whole method: devin.ai runs on Ashby under the slug cognition and split.io on Greenhouse under harnessinc. No derivation of the company name would ever find those. A nightly job works through a public list of domains, reads the ATS link where it finds one, and adds the company only after that ATS actually returns real jobs.

Jobs themselves are never cached. Every run fetches them live from the employer, so the index only ever maps company to platform and a buyer cannot receive a stale posting.

Use with AI agents and automation

The Actor works with no input at all, so an agent can call it to see what it does before deciding how to use it. It is also reachable over MCP, so Claude, ChatGPT or Cursor can query live job boards directly. See the MCP server.

Scope and limits

  • Only companies that publish a public career board on one of the eight supported platforms. That is a large share of tech and scale-up hiring, not all hiring. Workday and iCIMS are not supported yet.
  • The index is a curated and growing set, not the whole internet. Name companies explicitly to reach an employer that is not in it yet.
  • posted_at is whatever the platform publishes. Teamtailor and some Workable boards do not expose a reliable date; you get null rather than a guess.
  • remote reflects the employer's own flag or wording. Employers are inconsistent about this; treat it as their claim, not as verified fact.
  • No salary field. Too few boards publish it in a comparable way for it to be worth a column that is empty nine times out of ten.

Pricing

Pay per job returned. You pay for rows you actually get: filtered-out jobs and companies that returned nothing cost nothing. No subscription, no per-run minimum. maxJobs is therefore your hard budget cap.

Subscriptions and shared agent access

The only signal source in this niche with a daily verifiable track record, confluence across every data stream, and direct agent access over MCP. See the track record

Every score in every report lists the terms it was built from, so you can check the number instead of trusting it.

This Actor is part of DataSignals Lab. It does not feed the signal reports; the plans below cover those and the shared MCP access. All prices are listed on the pricing page:

  • Free. Report previews, a weekly signal digest and 50 free MCP calls per month for AI agents.
  • Snapshot, $19 one time. The current edition of one report plus 30 days of updates.
  • DataSignals Pro, $29 per month or $290 per year. All three reports refreshed monthly, MCP access for AI agents (2000 calls per month fair use), email alerts. Cancel anytime.

Data source and compliance

Public JSON endpoints published by the ATS platforms themselves for their customers' career pages. No login, no scraping of protected pages, no proxies. Each row links back to the employer's own application page, so any result can be checked at its origin.

FAQ

Do I need to know which system a company uses? No. The index resolves it, and you can search on keyword, location and country alone.

How fresh are the jobs? They are fetched from the employer at the moment you run it. There is no cached copy.

Can I track one specific employer? Yes. Name the company and you get only that employer's openings.

Is this scraping? No. These are the public JSON endpoints the ATS platforms publish for their customers' career pages.

Why is a company I know missing? Either its ATS is not one of the eight supported systems, or it is not in the index yet. Name it explicitly and it will still be searched.