Career Site Jobs: Greenhouse, Lever, Ashby & more avatar

Career Site Jobs: Greenhouse, Lever, Ashby & more

Pricing

from $2.00 / 1,000 job saveds

Go to Apify Store
Career Site Jobs: Greenhouse, Lever, Ashby & more

Career Site Jobs: Greenhouse, Lever, Ashby & more

Get every open job from company career sites powered by Greenhouse, Lever, Ashby, Workable, SmartRecruiters and Recruitee through their official public job-board APIs. Normalized output, filters, salary where published, and 'only new jobs' monitoring. No proxies, no login.

Pricing

from $2.00 / 1,000 job saveds

Rating

0.0

(0)

Developer

Liora Blyth

Liora Blyth

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Career Site Jobs Scraper — Workday, Greenhouse, Lever, Ashby, Personio & more, with Salaries

Get every open job from any company's career site (now including Workday and Personio) in one clean, normalized dataset, straight from the official public job-board APIs that these applicant-tracking systems (ATS) publish for embedding job listings. No browser, no proxies, no login, and no CAPTCHA, so runs are fast, cheap and reliable.

Quick start

  1. Paste career-site URLs (or greenhouse:stripe-style slugs) into Companies.
  2. Optionally add title keywords, locations or remoteOnly.
  3. Click Start. Download the jobs as JSON, CSV, Excel, or pull them via the Apify API.
  4. Schedule the run daily with onlyNewJobs: true to get only fresh postings (e.g. into Slack, Google Sheets or a webhook via Apify integrations).

What you can do with it

  • Track hiring at competitors or target accounts (sales signals, market research).
  • Build niche job boards or newsletters (e.g. "remote AI engineering jobs").
  • Get alerts for new jobs only on scheduled runs (built-in state, no duplicates).
  • Feed job descriptions into LLMs or RAG pipelines (plain text or HTML).

Supported ATS

ATSExample input
Greenhousehttps://boards.greenhouse.io/stripe or greenhouse:stripe
Leverhttps://jobs.lever.co/palantir or lever:palantir
Ashbyhttps://jobs.ashbyhq.com/openai or ashby:openai
Workablehttps://apply.workable.com/huggingface or workable:huggingface
SmartRecruitershttps://jobs.smartrecruiters.com/BoschGroup or smartrecruiters:BoschGroup
Recruiteehttps://bunq.recruitee.com or recruitee:bunq
Personiohttps://acme.jobs.personio.de or personio:acme
Workdayhttps://nvidia.wd5.myworkdayjobs.com/NVIDIAExternalCareerSite (full career-site URL)

Workday career sites are read through the same public JSON endpoint the career site itself uses, only when the site's robots.txt allows it, and at a polite pace. Title keywords are sent to Workday's own search, so large Workday sites stay fast.

Preset lists: add "presetLists": ["ai-companies"] or ["big-tech-startups"] to include ready-made, verified boards (OpenAI, Anthropic, Databricks, Cohere, Scale AI, Perplexity, ElevenLabs / Stripe, Airbnb, Figma, Discord, Dropbox, Reddit, Notion, Ramp, Linear, Palantir).

A bare slug (e.g. notion) is auto-detected by trying each ATS in turn.

Input

{
"companies": ["https://boards.greenhouse.io/stripe", "lever:palantir", "ashby:openai", "notion"],
"titleKeywords": ["engineer", "data"],
"excludeTitleKeywords": ["intern"],
"locations": ["remote", "london"],
"remoteOnly": false,
"postedWithinDays": 30,
"includeDescription": true,
"descriptionFormat": "text",
"onlyNewJobs": false,
"maxJobsPerCompany": 0
}
FieldMeaning
companies (required)Career-site URLs, ats:slug, or bare slugs
titleKeywords / excludeTitleKeywordsCase-insensitive title filters
locations, departmentsSubstring filters on location or department/team
remoteOnlyKeep only jobs flagged remote
postedWithinDaysKeep jobs published in the last N days (when the ATS exposes a date)
includeDescription, descriptionFormattext, html or both
onlyNewJobs, stateKeyOutput only jobs not seen in earlier runs with the same stateKey
maxJobsPerCompany0 = unlimited
maxConcurrencyCompanies fetched in parallel (1–10)
presetListsReady-made company lists added to companies
descriptionKeywordsMatch words in the title or the full description (e.g. Python, Kubernetes)
workplaceTypesremote, hybrid, onsite
employmentTypesSubstring match on the ATS employment type (Full, Part, Contract, Intern)
seniorityLevelsintern, junior, mid, senior, lead/manager, principal/staff, director+ (from the title)
minSalary, onlyWithSalarySalary filters using the ATS salary field, Greenhouse pay ranges or a salary range found in the description (hourly/monthly converted to yearly; currency not converted)
onlyVisaSponsorshipKeep jobs whose description says visa sponsorship is offered
includeApplicationQuestionsGreenhouse application questions (labels and types only) and pay-transparency ranges
maxItemsTotal cap across all companies

Output (one item per job)

{
"ats": "ashby", "companySlug": "openai", "company": "openai",
"jobId": "240d459b-…", "title": "Research Engineer",
"department": "Research", "team": "Research",
"location": "San Francisco", "isRemote": false, "workplaceType": null,
"employmentType": "FullTime", "publishedAt": "2025-04-05T00:03:20+00:00",
"url": "https://jobs.ashbyhq.com/openai/240d459b-…",
"applyUrl": "https://jobs.ashbyhq.com/openai/240d459b-…/application",
"compensation": {"summary": "$250K – $445K • Offers Equity"},
"salary": {"min": 250000, "max": 445000, "currency": "USD", "interval": "year", "source": "ats summary"},
"seniority": "mid", "visaSponsorship": null,
"descriptionText": "…", "isNew": null, "scrapedAt": "2026-10-21T09:34:09+00:00"
}

See sample_output.json for 18 real items. A RUN_SUMMARY record in the default key-value store lists companies processed, failed inputs, and job counts.

Pricing (pay per event)

EventPrice
Job in the dataset (job)$0.002 ($2 per 1,000 jobs)
Actor start$0.00005 (Apify default)
  • Failed companies and filtered-out jobs are free.
  • Examples: 500 jobs ≈ $1.00; a daily new-jobs monitor that finds 20 new jobs/day ≈ $1.20/month.
  • Set Maximum cost per run to cap your spend. The Actor stops cleanly when the cap is reached.

Performance

Measured locally on 2026-10-21: 7 companies, 1,898 matching jobs (with full descriptions) in about 1 min 47 s. 18 jobs from 6 companies in about 30 s (large SmartRecruiters boards take longer because of paging).

  • Uses only the public, unauthenticated job-board endpoints the ATS vendors document for publishing jobs.
  • No personal data is collected as fields. Recruiter or contact e-mails and phone numbers found in descriptions are masked ([email removed], [phone removed]). Recruitee's mailbox_email field is dropped. Descriptions are the employer's own published text and may still mention a contact person's name.
  • You are responsible for how you use the data (e.g. GDPR if you combine it with other data).

FAQ

A company isn't found. Check the career-site URL; many companies use custom domains that embed one of these ATSs. Look for greenhouse.io, lever.co, ashbyhq.com etc. in the apply link, and pass that slug. Workday? Supported: pass the full myworkdayjobs.com career-site URL. Workday sites are skipped when their robots.txt disallows the endpoint.

iCIMS / Taleo / SuccessFactors? Not supported yet. Open an issue if you need them.

Do I need proxies or an account? No. All endpoints are public and the Actor runs on plain datacenter IPs.

How fresh is the data? Live: every run reads the ATS at run time.

Can I get only new jobs? Yes. onlyNewJobs: true with a fixed stateKey stores seen job ids in a named key-value store, so each scheduled run outputs only postings it has not seen before.