Greenhouse, Lever, Ashby & Personio Jobs Feed avatar

Greenhouse, Lever, Ashby & Personio Jobs Feed

Pricing

from $1.20 / 1,000 job postings

Go to Apify Store
Greenhouse, Lever, Ashby & Personio Jobs Feed

Greenhouse, Lever, Ashby & Personio Jobs Feed

Get every open job from any company's careers page in one clean format. Paste careers URLs or company names: it finds the Greenhouse, Lever, Ashby or Personio board and pulls jobs from the official public APIs. Filters, salaries, only-new-jobs mode. Recruiter contacts removed.

Pricing

from $1.20 / 1,000 job postings

Rating

0.0

(0)

Developer

Clean Data Feeds

Clean Data Feeds

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

What is Greenhouse, Lever, Ashby & Personio Jobs Feed?

Greenhouse, Lever, Ashby & Personio Jobs Feed collects every open job from a list of companies and returns them in one clean, consistent format. Paste careers-page URLs, job-board links or just company names. The Actor finds each company's applicant tracking system (ATS), pulls the jobs from the official public job-board APIs, and can return only jobs that are new since your last run.

Use it as a jobs API for company career pages: no browser, no proxies, no login, and no stitching together five different job-board formats.

šŸ”’ Personal data is removed by default. Recruiter emails, phone numbers and "Recruiter: Jane Doe" style names are stripped from job descriptions, and no recruiter or job-creator fields are output.

Why use it?

  • 🧭 Auto-detects the job board. Give it https://www.example.com/careers, https://jobs.lever.co/spotify or simply Linear and it finds the right Greenhouse, Lever, Ashby or Personio board.
  • 🧩 One schema for all ATS. Title, department, team, locations, remote flag, employment type, posting date, pay range, apply link and clean description text, the same way for every company.
  • šŸ”” Only-new-jobs mode. Schedule it daily and get just the jobs posted since the last run: ideal for alerts, job boards and hiring-signal feeds.
  • šŸ’µ Salary ranges when the company publishes them (Ashby and Lever).
  • āœ… Official, public endpoints only. Greenhouse Job Board API, Lever Postings API (with Lever's 1-second crawl delay), Ashby Posting API and Personio's public XML feed.
  • šŸ”Œ Works with everything Apify offers: scheduling, API, webhooks, Zapier, Make, Google Sheets, Slack and AI agents through MCP.

Who is it for?

  • Recruiting agencies and sourcers watching target companies for new roles.
  • Job boards and aggregators that need clean feeds straight from company career sites.
  • Sales and RevOps teams using "this company is hiring for X" as a buying signal.
  • Investors, market and talent researchers tracking hiring trends by company, team or location.

Supported job boards

ATSOfficial source usedNotes
GreenhouseJob Board API (boards-api.greenhouse.io)Public, no login
LeverPostings API (api.lever.co, plus the EU instance)Respects Lever's 1-second crawl delay
AshbyPublic Posting API (api.ashbyhq.com/posting-api)Includes pay ranges when published
PersonioPublic XML job feed ({company}.jobs.personio.de/xml)Common for European companies
SmartRecruiters (beta, off by default)Posting API (api.smartrecruiters.com)See "Data sources" before enabling

How to use it

  1. Click Try for free (or Start in Apify Console).
  2. In Companies, add one company per line: a careers-page URL, a job-board URL, an ats:token such as greenhouse:discord, or a company name.
  3. Optionally add filters: title keywords, excluded words, locations, remote only, departments, posted in the last N days.
  4. Click Start. Jobs appear in the Output tab, usually within seconds.
  5. Download them as Excel, CSV, JSON, XML or HTML, or connect them to another app.

Check the Company detection report (the COMPANIES record in the run's storage) to see which board each input matched, so you can reuse the exact ats:token next time.

Input example

{
"companies": [
"greenhouse:discord",
"https://jobs.lever.co/spotify",
"Linear",
"https://www.example.com/careers",
"personio:acme"
],
"keywords": ["engineer", "developer"],
"locations": ["London", "Remote"],
"onlyNewJobs": true,
"stateKey": "my-target-companies",
"includeDescription": true,
"maxJobsPerCompany": 0
}

The default input (Discord, Spotify and Linear, 10 jobs each) finishes in a few seconds.

Output example

The Output tab shows a table like this (real jobs from October 2026, shortened):

CompanyATSTitleDepartmentLocationRemoteTypePostedPay
DiscordgreenhouseCommercial Policy LeadPolicySan Francisco Bay AreaNo–2026-09-15–
SpotifyleverAndroid Engineer - Experience EngineeringEngineeringLondonNoPermanent2026-06-23–
LinearashbySenior / Staff Fullstack EngineerProductEuropeYesFullTime2021-04-27–
RampashbySecurity Engineer, CloudEngineeringNew York, NY (HQ)YesFullTime2026-04-07$211.4K – $290.6K • Offers Equity

Each row is a JSON record:

{
"company": "Discord",
"companyToken": "discord",
"ats": "greenhouse",
"jobId": "8806482002",
"title": "Commercial Policy Lead",
"department": "Policy",
"team": null,
"locations": ["San Francisco Bay Area", "San Francisco, California, United States"],
"location": "San Francisco Bay Area",
"remote": false,
"workplaceType": null,
"employmentType": null,
"postedAt": "2026-09-15T12:52:11-04:00",
"updatedAt": "2026-09-15T12:52:11-04:00",
"compensation": null,
"applyUrl": "https://job-boards.greenhouse.io/discord/jobs/8806482002",
"jobUrl": "https://job-boards.greenhouse.io/discord/jobs/8806482002",
"descriptionText": "Discord has a highly engaged community of millions of daily active users...",
"firstSeenAt": "2026-10-07T05:42:44+00:00",
"scrapedAt": "2026-10-07T05:42:44+00:00"
}

When a company publishes pay, compensation looks like {"summary": "$211.4K – $290.6K • Offers Equity", "min": 211400, "max": 290600, "currency": "USD", "interval": "1 YEAR"}.

How much does it cost?

This Actor uses simple pay-per-event pricing, so you only pay for what you get:

  • $2.00 per 1,000 jobs on the Apify free plan ($0.002 per job), and less on paid plans: $1.80 (Starter), $1.50 (Scale), $1.20 (Business) per 1,000.
  • $0.005 per run start fee.
  • No extra charges for platform usage, and company lookups that find no board cost nothing. The Pricing tab shows your exact price.

What that means in practice:

  • The default test run (30 jobs) costs about $0.07.
  • A full snapshot of 50 tech companies (about 3,000 open jobs) costs about $6.
  • Monitoring the same 50 companies daily with "Only new jobs" usually returns 20-150 new jobs a day: roughly $1.50-9 per month.
  • Apify's free plan includes $5 of monthly credit, enough for about 2,400 jobs.
  • Use Max results or Max jobs per company to cap any run.

How to get only new jobs every day (scheduling guide)

  1. Add your companies and switch on Only new jobs since last run.
  2. Give the list a Saved list name, e.g. fintech-targets. Use a different name for each company list.
  3. Click Save as a new task so the input is stored.
  4. Open the task, click Schedule, and choose Daily (or hourly if you need faster alerts).
  5. Connect the results: add a Slack, email, Google Sheets, Zapier or Make integration to the task, or poll the dataset through the API.

The first run returns all current jobs. Every later run returns only jobs that were not output before for that saved list name.

Integrations and API

  • Apify API: run the Actor and get results in one call:
curl -X POST "https://api.apify.com/v2/acts/leonardoo~multi-ats-company-jobs-feed/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"companies": ["greenhouse:discord", "lever:spotify"], "keywords": ["engineer"]}'
  • Python and JavaScript: use the official apify-client packages. See the API tab for ready-to-copy code.
  • Zapier and Make: send new jobs to Google Sheets, Airtable, HubSpot, Salesforce, Slack, Microsoft Teams or email.
  • Webhooks: get a notification when a run finishes and fetch the new jobs.
  • AI agents (MCP): add this Actor as a tool in Claude, Cursor or any MCP client with https://mcp.apify.com?tools=leonardoo/multi-ats-company-jobs-feed, then ask things like "which of these 20 companies opened new data-engineering roles in Berlin this week?".

Personal data removed by default

  • Email addresses in descriptions are removed, including generic ones such as accommodation or security mailboxes. Follow jobUrl for official contact options.
  • Phone numbers and phrases such as "Recruiter: Jane Doe", "Contact: ..." or "Ansprechpartnerin: Frau ..." are replaced with [email removed], [phone removed] and [name removed].
  • No recruiter, hiring-manager or job-creator fields are ever output.
  • Removal from free text is best-effort. Switch off Include description text for a strict no-names feed.

Data sources, terms and attribution

  • Only official, documented public job-board endpoints are used. Greenhouse states its job-board GET endpoints are public. Lever's API allows access with a 1-second crawl delay, which is enforced. Ashby is accessed only through its documented api.ashbyhq.com Posting API. Personio's public XML feed is offered for career-site integrations.
  • When a careers-page URL is given, the page is fetched only if the site's robots.txt allows it.
  • SmartRecruiters documents its Posting API as public for published jobs, but its API robots.txt disallows generic crawlers, so it is off by default. Enable it only if you are comfortable with that and only for specific companies.
  • Job postings are published by the employers and their text remains theirs. Link back to jobUrl when you republish and check each employer's terms.
  • Not affiliated with, sponsored or endorsed by Greenhouse, Lever, Ashby, Personio or SmartRecruiters. Their names are used only to describe compatibility.

Limitations

  • Only jobs a company publishes on its public job board are available. Internal or unlisted jobs are not.
  • Workday, iCIMS, Taleo and other ATS are not supported.
  • Name guessing can match a different company with the same board name. Use a URL or ats:token for certainty and check the company detection report.
  • Lever and Ashby do not return a company display name, so company is derived from the board token (e.g. ramp becomes Ramp).
  • Greenhouse does not expose structured pay ranges in its public list API, so Greenhouse compensation is empty.
  • Lever is limited to one request per second, so long lists of Lever companies take a little longer.
  • "Only new jobs" state is stored in a named key-value store in your account (ats-jobs-feed-state-<saved list name>). If you use Max jobs per company, jobs not output yet show up in later runs.

FAQ

Which companies are supported?

Any company whose public careers board runs on Greenhouse, Lever, Ashby or Personio (SmartRecruiters optional). Thousands of tech companies and European employers use them.

How do I find a company's board token?

Paste its careers-page URL. The company detection report shows the token so you can reuse ats:token next time.

Can I monitor companies for new jobs?

Yes. Schedule the Actor with Only new jobs since last run and a fixed Saved list name. Each run returns only new jobs.

Is this a Greenhouse API or Lever API alternative?

It uses those official public APIs for you and merges them into one format, so you don't have to write and maintain separate integrations.

Do you use proxies or a browser?

No. Plain HTTPS requests to official APIs with a clear User-Agent.

It reads public job postings from official public endpoints that the job-board providers offer for this purpose. You are responsible for how you use the data and for respecting employers' terms when republishing.

Something doesn't work. What should I do?

Open an issue in the Issues tab and include your input and a link to the run.