Targeted ATS Jobs Feed
Pricing
$3.00 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
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 for | A known list of companies to watch | "Show me every remote React job anywhere" |
| How it works | Live-scrapes the companies you name, this run | Search a pre-indexed database of millions of jobs |
| Freshness | Real-time from the source — nothing stale/removed | As fresh as the last index refresh |
| Noise | Only the companies you asked for | The whole market, then you filter it down |
| Coverage | 6 ATSs, any company on them | 75–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.
compUnknownflags 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:
| Ashby | Workday | SmartRecruiters | Recruitee | Greenhouse | Lever | |
|---|---|---|---|---|---|---|
| Compensation | ✅ published range | — | — | — | — | — |
| Seniority | — | — | ✅ | ✅ | — | — |
| Structured city/region/country | — | — | ✅ | partial | — | — |
| Remote/Hybrid/Onsite | ✅ | ✅ | ✅ | ✅ | best-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 (flaggedcompUnknown) — setdropUnknownSalaryfor strict "only jobs with a real published band ≥ X."seniority— match a level ("Senior"). Only SmartRecruiters/Recruitee expose it; others pass unlessdropUnknownSeniority.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:
- Ashby Jobs Scraper — Ashby boards, with compensation ranges
- Workday Jobs Scraper — any Workday career site
- SmartRecruiters Jobs Scraper — structured fields
- Recruitee Jobs Scraper — any Recruitee career site
Legal & compliance notice
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.