Greenhouse / Lever / Ashby Jobs Scraper - Personio & more avatar

Greenhouse / Lever / Ashby Jobs Scraper - Personio & more

Pricing

from $0.80 / 1,000 jobs

Go to Apify Store
Greenhouse / Lever / Ashby Jobs Scraper - Personio & more

Greenhouse / Lever / Ashby Jobs Scraper - Personio & more

Scrape all open jobs from Greenhouse, Lever, Ashby, Personio, Teamtailor and Recruitee career pages via official ATS feeds. Auto-detects the ATS from a company website. $1/1k jobs; no-ATS companies and filtered jobs free.

Pricing

from $0.80 / 1,000 jobs

Rating

0.0

(0)

Developer

TinyRex

TinyRex

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

ATS Jobs Scraper: Greenhouse, Lever, Ashby, Personio, Teamtailor & Recruitee jobs API

Get every open job from company career pages in one clean table. Give it company websites, careers URLs or ATS board links and it auto-detects the applicant tracking system (ATS) and reads each vendor's official public job-board feed (no browser, no login, no fragile HTML scraping). Covers Greenhouse, Lever (incl. EU), Ashby, Personio, Teamtailor and Recruitee. $1 per 1,000 jobs; companies without a supported ATS and jobs removed by your filters are free.

What you get from the ATS Jobs Scraper

  • Auto-detection from a website: enter stripe.com or polestar.com and the Actor finds the Greenhouse, Lever, Ashby, Personio, Teamtailor or Recruitee board (homepage + careers pages, then a verified name guess when needed).
  • One schema for every ATS: title, department, team, locations, country, remote/hybrid/on-site, salary where published, posting date, job URL, apply URL and description — ready for Sheets, a job board or an AI agent.
  • Hiring alerts built in: turn on Only new jobs, schedule it daily, and each run returns only openings you have not seen before. Filters (title, location, department, workplace type, posted within N days) drop noise; filtered jobs stay free.

Sample output (JSON)

{
"company": "Ramp",
"companyInput": "ramp.com",
"ats": "ashby",
"atsBoard": "ramp",
"jobId": "baf0a4d2-e07e-4f76-af85-d85c91f479a4",
"title": "Senior Manager, Account Manager | Mid-Market",
"department": "Sales",
"team": "Account Manager",
"employmentType": "FullTime",
"locations": ["New York, NY (HQ)", "San Francisco, CA"],
"location": "New York, NY (HQ)",
"country": "USA",
"workplaceType": "hybrid",
"salary": { "min": 290000, "max": 350000, "currency": "USD", "period": "1 YEAR", "text": "$290K - $350K" },
"postedAt": "2026-09-23T16:31:53.863Z",
"url": "https://jobs.ashbyhq.com/ramp/baf0a4d2-e07e-4f76-af85-d85c91f479a4",
"applyUrl": "https://jobs.ashbyhq.com/ramp/baf0a4d2-e07e-4f76-af85-d85c91f479a4/application",
"descriptionText": "About Ramp\nRamp is building…"
}

Download as JSON, CSV, Excel or HTML, or send it to Google Sheets, Make, Zapier, n8n, Slack, webhooks or the Apify API. Each run also writes a COMPANIES report (which ATS was found and how) and a SUMMARY record to the key-value store.

How to configure the ATS Jobs Scraper

  1. Add companies (one per line): a website (stripe.com), a careers or ATS URL (https://jobs.lever.co/palantir, https://acme.jobs.personio.de), an explicit board (greenhouse:stripe, lever:palantir, ashby:ramp, personio:acme, teamtailor:acme, recruitee:acme), or a company name.
  2. Optional filters: title keywords (include/exclude), location, department, workplace type, posted within N days, max jobs per company.
  3. Set description format (text / html / both / none) and run, or schedule it with Only new jobs on.

Example input: engineering jobs in Germany and remote at Stripe, Polestar and Ramp

{
"companies": ["stripe.com", "polestar.com", "https://jobs.ashbyhq.com/ramp"],
"titleKeywords": ["engineer", "developer"],
"locationKeywords": ["Germany", "Remote", "Amsterdam"],
"postedWithinDays": 30,
"descriptionFormat": "text"
}
SettingDefaultNotes
companies(required)Website, careers URL, ATS URL, ats:slug, or company name
titleKeywords / excludeTitleKeywordsnoneWords that must / must not appear in the title
locationKeywordsnonee.g. Berlin, Germany, DE, Remote
workplaceTypesanyremote, hybrid, onsite
departmentKeywordsnonee.g. Engineering, Sales
postedWithinDays0 (any)Only recent jobs
maxJobsPerCompany0 (all)Newest first
descriptionFormattexttext, html, both or none
onlyNewJobs / stateKeyfalse / defaultMonitoring mode; seen jobs are free
allowSlugGuesstrueTry the company name on each ATS when the website has no link

Common use cases

  • Job boards and aggregators: keep a niche board (remote, EU tech, climate, fintech) fresh from the source ATS feeds.
  • Sales intelligence: hiring signals — a company posting five data-engineer roles or its first salesperson in Germany is a lead.
  • Recruiting and talent intel: track competitors' openings, team growth and locations over time.
  • Market research: salary ranges (Ashby, Lever, Recruitee), remote share and hiring trends by company or department.

Pricing (pay per job, filtered = free)

  • Job (job): $0.001 per job saved to your dataset ($1 per 1,000), $0.0009 on Silver and $0.0008 on Gold.
  • Free: companies without a supported ATS, and jobs removed by your filters or skipped as already seen in Only new jobs mode.

Set a maximum cost per run and the Actor stops gracefully when it is reached. See the Pricing tab for current tier discounts.

Limitations

  • Only the six supported ATS. Companies on Workday, SmartRecruiters, Workable, SuccessFactors or custom systems are reported as "not found" and are free. Use the Workday Jobs Scraper for Workday career sites.
  • Results reflect what each company publishes in its public job feed. Some employers hide postings from feeds or post only in a local language. For Personio, English is preferred, with German as fallback.
  • Monitoring compares jobs by ATS job ID for the same set of companies and boards.

Use with AI agents (MCP)

This Actor works as a tool for AI agents through the Apify MCP server at https://mcp.apify.com. Connect Claude, Cursor, VS Code, n8n or any MCP client to https://mcp.apify.com?tools=tinyrex/ats-jobs-scraper and ask, for example: "Get all open engineering jobs in Germany at stripe.com, n26.com and personio.com". Results come back as structured JSON at the same pay-per-job price; failed inputs stay free.

📘 Step-by-step guide with Python, JavaScript, curl and MCP examples: How to scrape Greenhouse, Lever and Ashby jobs (plus Personio, Teamtailor, Recruitee)

FAQ

What is an ATS jobs scraper? An ATS (applicant tracking system) is the software companies use to host career pages (Greenhouse, Lever, Ashby, Personio, and others). An ATS jobs scraper reads each vendor's public job-board feed and returns every open role as structured data instead of scraping HTML.

How do I scrape Greenhouse jobs? Pass greenhouse:stripe, a Greenhouse board URL, or just stripe.com and let auto-detection find the board. The Actor reads Greenhouse's official public feed — no login required.

How do I scrape Lever or Ashby jobs? Same pattern: lever:palantir, ashby:ramp, the board URL, or the company website. Lever EU boards (jobs.eu.lever.co) are supported via lever-eu:slug.

Does Personio / Teamtailor / Recruitee work? Yes. Those three are the most common ATS in Europe and are included. Pass a Personio careers URL (*.jobs.personio.*), a Teamtailor or Recruitee careers domain, an ats:slug, or the company website.

How do I get new job alerts from company career pages? Turn on Only new jobs, schedule the Actor daily, and connect an Apify integration (email, Slack, Google Sheets). Each run returns only openings you have not seen.

Is scraping ATS job boards legal? The Actor reads the official public job-board feeds that ATS vendors provide so companies can show jobs on websites and job boards. It does not log in, bypass protections, or collect candidate data. Handle any recruiter contact details in postings under your local data-protection law.