Targeted ATS Jobs Feed avatar

Targeted ATS Jobs Feed

Pricing

$3.00 / 1,000 results

Go to Apify Store
Targeted ATS Jobs Feed

Targeted ATS Jobs Feed

Track a specific list of companies across Ashby, Workday, SmartRecruiters, Recruitee, Greenhouse & Lever — live jobs in one normalized schema, filtered by stack, remote, salary & seniority. Official APIs, real-time, no stale postings.

Pricing

$3.00 / 1,000 results

Rating

0.0

(0)

Developer

Marius Matulevicius

Marius Matulevicius

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Targeted ATS Jobs Feed — track the companies you choose

Name the companies you care about, get their live jobs in one clean schema. This actor scrapes the exact companies you list across Ashby, Workday, SmartRecruiters, Recruitee, Greenhouse, and Lever — straight from each ATS's official API, in real time, every run. No pre-indexed database, no firehose to filter down, no stale postings. You get precisely the companies you asked for, normalized into one shape, with filters for stack, remote, salary, and seniority.

This is the scalpel, not the firehose. If you have a specific list of companies to watch — competitors, target employers, portfolio companies, accounts — this pulls their current openings directly from the source, so nothing is stale or removed. (Want to search the whole job market instead? See when to use a firehose below — I'll point you to the right tool.)

{
"source": "ashby",
"company": "Ramp",
"title": "Senior Backend Engineer",
"location": "New York, NY",
"isRemote": false,
"workplaceType": "Hybrid",
"seniority": null,
"salaryMin": 180000,
"salaryMax": 240000,
"salaryCurrency": "USD",
"compUnknown": false,
"detectedStack": ["Go", "PostgreSQL", "React"],
"descriptionText": "We're looking for...",
"jobUrl": "https://jobs.ashbyhq.com/Ramp/...",
"applyUrl": "https://jobs.ashbyhq.com/Ramp/.../application"
}

👉 Try it now: hit Run with the default input. It pulls a live board, filtered, and returns normalized jobs in seconds. Then swap in your own list of companies from any of the six ATSs.


Targeted vs whole-market

There are two kinds of ATS job tool, and they're good at opposite things. Be honest with yourself about which job you have:

This actor (targeted)Whole-market aggregators
Best forA known list of companies to watch"Show me every remote React job anywhere"
How it worksLive-scrapes the companies you name, this runSearch a pre-indexed database of millions of jobs
FreshnessReal-time from the source — nothing stale/removedAs fresh as the last index refresh
NoiseOnly the companies you asked forThe whole market, then you filter it down
Coverage6 ATSs, any company on them75–100+ ATSs, millions of jobs

If you need to search the entire job market, a broad aggregator (e.g. jobo.world's ATS Jobs API, 100+ platforms) is the right tool and I'd point you there — no single tool wins at everything. If you need to watch a specific set of companies, live and precisely, that's exactly what this does, and a firehose makes you fight noise to get it.


Who this is for

  • Competitive & sales intelligence — track a fixed list of target/competitor companies and get their new openings live. A new eng req is a real hiring signal, straight from the source with no index lag.
  • Recruiters & sourcers — watch the exact companies you recruit against; pull their whole current req list, salary bands included, into a sheet.
  • Job seekers (devs) — point it at the companies you'd actually work for, filter to your stack + salary, get one ranked list. See Using it as a developer.
  • Recruiting-intelligence tools — one consistent job record per watched company, regardless of which ATS they use.
  • AI agents & data pipelines — one tool call → live, normalized jobs for a named set of companies.

What you get that a firehose doesn't

Because it scrapes your named companies live, and because it's built for precision rather than scale, it gives you a few things broad aggregators tend not to:

  • Real-time, not indexed — every job comes straight from the ATS API on the run, so you never get a posting that was already filled or pulled.
  • detectedStack — the tech named in each posting (["Go", "Kubernetes", "React"]), scanned deterministically. Filter or sort on it. (No AI-guessed skills — literal matches.)
  • Ashby compensation from the official field — the exact published band, not a calculated/normalized estimate. compUnknown flags honestly when pay isn't disclosed.

And it still does the boring-but-necessary part: the six ATSs each expose different data under different field names, and this actor reconciles them into one schema:

AshbyWorkdaySmartRecruitersRecruiteeGreenhouseLever
Compensation✅ published range
Seniority
Structured city/region/countrypartial
Remote/Hybrid/Onsitebest-effort
Full description

You get one UnifiedJob schema with all of it — and an honest compUnknown flag so you always know when a salary field is genuinely absent versus zero. Nothing is faked or inferred.


The fit filters

Every run can filter server-side, so you only pay for jobs you actually want:

  • stackKeywords — keep jobs whose title/description mention your stack (["python", "kubernetes"]). ANY match by default, or require ALL.
  • remoteOnly — remote roles only.
  • minSalary — salary floor. Only Ashby exposes pay, so jobs with unknown comp still pass by default (flagged compUnknown) — set dropUnknownSalary for strict "only jobs with a real published band ≥ X."
  • seniority — match a level ("Senior"). Only SmartRecruiters/Recruitee expose it; others pass unless dropUnknownSeniority.
  • location — substring-match against location/city/region/country.
  • postedWithinDays — only jobs published in the last N days. Run it daily for a "fresh jobs" feed.

Filters are honest: an unset filter passes everything, and "unknown" fields are surfaced, never silently dropped (unless you opt into strict mode).

Two things every job also gets, computed for you:

  • detectedStack — the tech mentioned in the posting (["Go", "Kubernetes", "React"]), scanned from the description. Filter or sort on it downstream.
  • Salary-ranked output — results come back sorted by top-of-band pay (highest first, unknown-comp last), so the best-paying roles are at the top of the dataset.

Using it as a developer

Aggregating jobs isn't only for data buyers — it's a great personal tool. Point it at the companies you'd actually work for, filter to your stack and salary floor, and get one ranked list instead of checking twenty career pages:

{
"ashby": ["Ramp", "Notion", "Linear"],
"smartrecruiters": ["Equinox"],
"stackKeywords": ["typescript", "react"],
"remoteOnly": true,
"minSalary": 150000,
"postedWithinDays": 7,
"maxJobsPerTarget": 500
}

That returns remote TypeScript/React roles paying ≥ $150K (where the company published pay), posted in the last week, ranked by salary, with detectedStack on each so you can see the full tech at a glance.


Quick start

Give it targets for any of the six ATSs (mix freely), plus optional filters:

{
"ashby": ["Ramp", "Notion"],
"workday": ["https://paypal.wd1.myworkdayjobs.com/jobs"],
"smartrecruiters": ["Equinox"],
"recruitee": ["bunq"],
"stackKeywords": ["engineer"],
"remoteOnly": true,
"maxJobsPerTarget": 500
}

Finding targets:

  • Ashby — board name in jobs.ashbyhq.com/CompanyName (or paste the URL).
  • Workday — the full *.myworkdayjobs.com/... career URL.
  • SmartRecruiters — slug in jobs.smartrecruiters.com/CompanyName (or the URL).
  • Recruitee — subdomain in CompanyName.recruitee.com (or the URL).
  • Greenhouse — board token in boards.greenhouse.io/CompanyName (or the URL).
  • Lever — slug in jobs.lever.co/CompanyName (or the URL).

Output

One normalized record per matching job (full field list in the dataset schema): source, company, title, department, location/city/region/country, isRemote, workplaceType, employmentType, seniority, compensationRaw, salaryMin/salaryMax/salaryCurrency, compUnknown, tags, publishedAt, descriptionText, descriptionHtml, jobUrl, applyUrl. Export as JSON, CSV, Excel, or via API.


Pricing

Pay per result — billed only for jobs that match your filter and are written to the dataset. Filtered-out jobs are never pushed, so you never pay for them. Unknown targets and failed fetches go to a separate, unbilled errors dataset. One ATS being down never fails the run — the others still return data.


For AI agents

Call this tool to get open job postings across Ashby, Workday, SmartRecruiters, Recruitee, Greenhouse, and Lever in one normalized schema. Input: per-ATS target lists (board names / career URLs / company slugs) plus optional filters (stackKeywords, remoteOnly, minSalary, seniority, location). Returns one UnifiedJob record per matching job. Public data, no login. Not for applicant/candidate data.


Proxy

All six sources are public, documented endpoints with minimal anti-bot measures. Datacenter proxies are sufficient.


Need just one ATS?

If you only scrape a single platform, the dedicated actors have per-ATS SEO and simpler input:


This actor uses the official, public, documented posting APIs of each ATS — the same endpoints that power companies' public career pages. No login is used. Job-posting content is company data, not personal data about candidates. The buyer bears sole responsibility for compliance with each ATS's and company's Terms and applicable data-protection/employment laws. Intended for job aggregation, labor-market research, compensation benchmarking, and recruiting intelligence.