Job Postings Scraper: Greenhouse, Lever, Ashby & Workable avatar

Job Postings Scraper: Greenhouse, Lever, Ashby & Workable

Pricing

from $1.00 / 1,000 job postings

Go to Apify Store
Job Postings Scraper: Greenhouse, Lever, Ashby & Workable

Job Postings Scraper: Greenhouse, Lever, Ashby & Workable

Get every open job from any company's careers page via official public ATS feeds: Greenhouse, Lever, Ashby, Workable, Recruitee, SmartRecruiters. Paste a board URL, slug or company website. Salary, remote flag, location filters, new-jobs-only mode. $1 per 1,000 jobs.

Pricing

from $1.00 / 1,000 job postings

Rating

0.0

(0)

Developer

Joshua Temko

Joshua Temko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

15 hours ago

Last modified

Categories

Share

Job Postings Scraper: Greenhouse, Lever, Ashby, Workable, Recruitee & SmartRecruiters

Get every open job from any company's careers page as clean JSON, CSV or Excel, straight from the official public job-board feeds the careers pages themselves use. Paste a board URL, a slug such as stripe, or just a company website such as notion.so. The Actor finds the company's applicant tracking system (ATS) and returns one row per job: title, department, team, locations, remote flag, employment type, salary range, posting date, job URL and apply URL.

No login, no browser, no proxies, no API key. It reads public JSON feeds over plain HTTP, so runs are fast and cheap: a 750-job company takes a few seconds.

Supported ATSs

ATSExample inputNotes
Greenhousehttps://boards.greenhouse.io/stripe, greenhouse:stripeAlso job-boards.greenhouse.io and embed URLs
Leverhttps://jobs.lever.co/palantir, lever:palantirUS and EU Lever, structured salary ranges
Ashbyhttps://jobs.ashbyhq.com/ramp, ashby:rampStructured compensation, workplace type
Workablehttps://apply.workable.com/huggingfaceRemote flag, locations
Recruiteehttps://bunq.recruitee.comHybrid/remote/on-site, salary when published
SmartRecruitershttps://careers.smartrecruiters.com/ServiceNowPaginates large boards (thousands of jobs)

Don't know the ATS? Enter a bare slug (ramp) and all six are tried in parallel, or enter the company website (linear.app) and the home and careers pages are scanned for an ATS link.

Who uses it

  • Sales and recruiting agencies: hiring signals. A company hiring five SDRs needs sales tools; a company hiring its first data engineer needs data tools. Watch a list of target accounts and get new roles every morning.
  • Job boards and niche job sites. Fill a remote, AI, crypto or climate job board with fresh, deduplicated jobs from hundreds of companies with salaries.
  • Job seekers and career coaches. Track dream companies and get only new matching roles (for example "product manager" + "Remote").
  • Market, compensation and VC research. Count open roles by department, track headcount growth and compare published pay ranges.

Input

FieldDescription
companies (required)Board URLs, ats:slug pairs, bare slugs or company websites, one per line.
titleKeywords / excludeTitleKeywordsKeep titles containing any of these words / drop titles containing any of these.
locations, departmentsKeep jobs whose location or department/team contains any of these.
remoteOnlyOnly remote jobs.
postedWithinDaysOnly jobs published in the last N days.
onlyNewJobsMonitoring mode. Remembers what it has already returned, so scheduled runs only return and charge for new jobs.
includeDescriptionAdds the full plain-text description.
parseSalaryFromDescriptionFinds pay-transparency ranges like $120,000 - $150,000 in the description when the ATS has no structured range. Default on.
maxJobsPerCompany, maxJobsCaps (newest first).
{
"companies": ["https://boards.greenhouse.io/stripe", "lever:palantir", "ramp", "notion.so"],
"titleKeywords": ["engineer", "developer"],
"locations": ["remote", "new york"],
"onlyNewJobs": true
}

Output (one row per job)

Real row from a test run on 2026-10-30:

{
"company": "Ramp",
"ats": "ashby",
"boardSlug": "ramp",
"jobId": "34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"title": "Security Engineer, Cloud",
"department": "Engineering",
"team": "Backend",
"location": "New York, NY (HQ)",
"locations": ["New York, NY (HQ)", "Remote (Canada)", "Remote (US)", "Miami, FL"],
"isRemote": true,
"workplaceType": "Hybrid",
"employmentType": "FullTime",
"salaryMin": 211400,
"salaryMax": 290600,
"salaryCurrency": "USD",
"salaryPeriod": "year",
"salaryText": "$211.4K – $290.6K • Offers Equity",
"salarySource": "ats",
"postedAt": "2026-04-07T17:12:35+00:00",
"url": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245",
"applyUrl": "https://jobs.ashbyhq.com/ramp/34413f8d-26bf-4bbc-8ade-eb309a0e2245/application",
"companyInput": "ramp",
"scrapedAt": "2026-10-30T19:29:05+00:00"
}

A per-company summary (which ATS was found, open jobs, matched jobs, and any companies that couldn't be resolved) is saved to the RUN_SUMMARY record in the run's key-value store.

Pricing (pay per event)

  • $1.00 per 1,000 job postings returned ($0.001 per job), plus Apify's tiny standard actor-start fee.
  • Companies that can't be found cost nothing, and filtered-out jobs cost nothing: you only pay for rows in your dataset.
  • In onlyNewJobs mode, a daily watch of 50 companies usually costs a few cents a day.
  • Set "Maximum cost per run" in the run options to cap spending; the Actor stops cleanly when it's reached.

Scheduling job alerts

  1. Enter your companies and filters, and turn on Only jobs not seen in previous runs.
  2. Save as a task and add a Schedule (for example daily at 8:00).
  3. Connect an integration (Slack, email, Google Sheets, Zapier, Make, webhook) to get new jobs delivered.

FAQ

Is this legal? It reads the public job-board APIs that Greenhouse, Lever, Ashby, Workable, Recruitee and SmartRecruiters publish for exactly this purpose (showing jobs on careers pages and job sites). No login, no personal data, only job postings that companies have chosen to publish.

Why do some jobs have no salary? Many companies don't publish pay. Structured ranges come from Lever, Ashby and Recruitee; for others the description is scanned for US pay-transparency ranges.

A company wasn't found. Check RUN_SUMMARY to see which boards were tried. Companies using Workday, iCIMS, Taleo or their own systems aren't supported yet. Paste their board URL if you know it, or open an issue and tell us which ATS you need.

Does it include descriptions? Turn on includeDescription to get them as clean plain text (SmartRecruiters descriptions aren't included).