EU Jobs Scraper: Workday, Greenhouse, Lever & Teamtailor Jobs
Pricing
from $8.00 / 1,000 jobs
EU Jobs Scraper: Workday, Greenhouse, Lever & Teamtailor Jobs
Search live jobs from 6,500+ European employers' career sites on Workday, Greenhouse, Lever, Ashby, Workable, Recruitee, Personio and Teamtailor. No company list needed: filter by keyword, country (NL, DE, UK, DACH, Nordics), remote and date. New-jobs alerts. $8 per 1,000 jobs.
Pricing
from $8.00 / 1,000 jobs
Rating
0.0
(0)
Developer
Jordy
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
20 hours ago
Last modified
Categories
Share
EU Jobs Scraper: Workday, Greenhouse, Lever & Teamtailor Career Sites
Search live jobs from 6,500+ European employers' own career sites by keyword, country and date, with no company list needed, for $8 per 1,000 jobs.
Type a job title, pick a country (or a group like BENELUX, DACH, NORDICS) and a date range, and get one clean, identical row per job from Workday, Greenhouse, Lever, Ashby, Workable, Recruitee, Personio and Teamtailor. A built-in, versioned directory of employers hiring in Europe tells the Actor where to look; every job is then read live from the employer's own board during your run, so nothing is days old and closed jobs aren't returned.
What can it do?
- ✅ Search mode, no company list: keyword + country + date in, matching jobs out. The directory is ranked by how many jobs each employer has in your countries.
- ✅ 8 career-site platforms in one schema: Workday, Greenhouse, Lever, Ashby, Workable, Recruitee, Personio and Teamtailor.
- ✅ European focus: country codes, names and groups (
EU,EUROPE,BENELUX,DACH,NORDICS,UKI) plusREMOTE; multi-location jobs list every country. - ✅ Live data, straight from the employer: no stale index, no reposts from job boards or agencies.
- ✅ Filters: keywords (title or description), excluded keywords, posted within N days or since a date, remote/hybrid, employment type, ATS platform, employer name.
- ✅ Daily job alerts: new-jobs-only mode returns only jobs you haven't had before.
- ✅ Company mode: bring your own list of boards (any supported board works, listed or not).
- ✅ Exports: JSON, CSV, Excel, HTML, plus
jobs.csvand aRUN_SUMMARY. Works with schedules, webhooks, Zapier, Make, Slack and Google Sheets.
Use cases
- Recruiters and agencies: source roles in NL, BE, DE, the UK and the Nordics the day they're posted.
- Niche job boards and newsletters: fill a "data jobs in Benelux" or "remote product jobs in Europe" board with direct employer links.
- Sales and lead generation: find European companies hiring for roles that signal a need for your product.
- Labour-market research: count openings by role, country, platform or employer.
- Job seekers: a daily alert for one role in one country.
How to use it
- Click Try for free. The form is pre-filled with
data engineer,NL, last 7 days, 50 jobs. - Change Keywords, Countries and Posted within (days).
- Optional: limit to certain ATS platforms, narrow employers with Employer name contains, or switch on Remote only.
- Click Start. Jobs appear in the Output tab; download them or use
jobs.csvfrom the run's storage. - For a daily alert, switch on Only new jobs since last run with a feed name, save the input as a task and add a schedule.
Example input
{"keywords": ["data engineer"],"countries": ["NL"],"postedWithinDays": 7,"maxJobs": 50}
More examples:
{ "keywords": ["product manager", "product owner"], "countries": ["DACH"], "remoteOnly": true, "postedSince": "14 days", "ats": ["workday", "personio"] }
{ "keywords": ["account executive"], "countries": ["NORDICS"], "onlyNewJobs": true, "stateName": "nordic-ae" }
{ "companies": ["greenhouse:adyen", "lever:mollie", "workday:philips/wd3/jobs-and-careers"], "countries": ["NL"] }
| Field | Default | What it does |
|---|---|---|
keywords | – | Any of these words in the title (whole words, accent-insensitive). searchInDescription also checks descriptions. |
countries | – | ISO codes, country names or groups (EU, EUROPE, BENELUX, DACH, NORDICS, UKI) and REMOTE. |
postedWithinDays / postedSince | – | Last N days, or since a date (2026-10-01) or relative time (2 weeks). |
companies | – | Your own list of boards (ats:slug, board URL, careers-page URL or name); skips the directory. Workday is workday:tenant/wdN/site. |
ats | all | Only these platforms. |
companyQuery | – | Only employers whose name contains one of these words. |
maxCompanies | 400 | Search mode: how many directory employers to check at most. |
maxJobs | 200 | Stop after this many jobs (you only pay for jobs returned). |
remoteOnly, includeHybrid | false, true | Remote filter. |
onlyNewJobs, stateName | false | New-jobs feed across runs. |
descriptionFormat | text | text, html, both or none. |
Call it from the API
curl -X POST "https://api.apify.com/v2/acts/jordydev~eu-job-search/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"keywords":["data engineer"],"countries":["NL"],"postedWithinDays":7,"maxJobs":50}'
Example output
Real rows from test runs on 28 Oct 2026 (search data engineer, NL, last 7 days; and an engineer search on Workday in DE/NL):
| company | ats | title | location | country | remote | posted |
|---|---|---|---|---|---|---|
| Xebia | recruitee | Data Engineer (Scala) | Amsterdam, Noord-Holland, Netherlands | NL | hybrid | 2026-10-27 |
| Flow Traders | greenhouse | Core Data Engineer | Amsterdam | NL | – | 2026-10-23 |
| Jobgether | lever | Senior Software Engineer - Data Engineer | Netherlands | NL | remote | 2026-10-27 |
| Sulzer | workday | Application Engineer - Automation & Digital Solutions (w/m/d) | Bonn | DE | – | 2026-10-26 |
| BD (Becton Dickinson) | workday | Staff Electrical Engineer | Automation, Systems & Sustaining Engineering | DEU Kelberg - Rowastrasse | DE | – | 2026-10-20 |
One row as JSON (description left out):
{"jobId": "recruitee:xebiacareers:2798656","ats": "recruitee","company": "Xebia","title": "Data Engineer (Scala)","location": "Amsterdam, Noord-Holland, Netherlands","countryCode": "NL","countryCodes": ["NL"],"remoteType": "hybrid","employmentType": "full-time","postedAt": "2026-10-27T10:20:04.000Z","jobUrl": "https://xebiacareers.recruitee.com/o/data-engineer-scala","detectedVia": "directory"}
Every row has the same fields for every platform: jobId (stable, ats:slug:id), ats, company, title, department, team, location, city, region, countryCode, countryCodes, isRemote, remoteType, employmentType, seniority, salaryMin/Max/Currency/Period/Text/Source (only when the employer publishes pay), postedAt, updatedAt, applyUrl, jobUrl, descriptionText / descriptionHtml, isNew, firstSeenAt, detectedVia, plus a run envelope (tool, status, checkedAt).
How much does it cost?
Pay per event: you only pay for jobs returned, not for Apify compute.
| Event | Price | When it's charged |
|---|---|---|
| Job | $0.008 ($8 per 1,000 jobs) | One job row in your dataset |
| Company checked (new-jobs mode) | $0.0005 | New-jobs-only mode only: one board checked, also when it has no new jobs |
| Actor start | $0.00005 | Apify's standard fee per run start (per GB of memory) |
Free: directory lookups, employers checked in search mode without new-jobs mode, boards not found, unsupported sources and fetch errors.
Examples:
- 50 data-engineering jobs in the Netherlands = $0.40.
- Daily alert over 100 employers returning ~10 new jobs = 100 × $0.0005 + 10 × $0.008 ≈ $0.13 a day.
Your maximum cost per run is respected: the Actor checks the remaining budget before every row and stops cleanly at the cap.
The employer directory
| Employers | 6,548 (version 1, verified 28 Oct 2026) |
| By ATS | Personio 1,495, Greenhouse 1,165, Recruitee 908, Teamtailor 903, Workable 795, Ashby 777, Lever 415, Workday 90 |
| Top countries (employers with jobs there) | DE 2,563, GB 2,327, NL 892, FR 783, ES 657, PL 532, SE 507, IT 385, IE 342, CH 316, BE 315, PT 292, AT 258, DK 219 |
Each entry holds the employer name, ATS, board slug and its job count per country when verified. It only steers the search; job data always comes live from the board. Sources: the ATS Company Directory by LastRound AI (CC BY 4.0), board URLs from the public Common Crawl URL index, and boards checked by hand. Every board was re-checked live before inclusion.
Supported career sites
| ATS | How jobs are read |
|---|---|
| Workday | The JSON service behind each employer's public Workday career site (the same calls its job search page makes). Each tenant's robots.txt is checked first; sites that disallow access are skipped. |
| Teamtailor | The public jobs.rss feed on every Teamtailor careers site, after a robots.txt check. |
| Greenhouse | Public Job Board API (docs) |
| Lever | Postings API, global and EU host (docs) |
| Ashby | Public Job Posting API (docs) |
| Workable | Public endpoint behind Workable's jobs widget |
| Recruitee | Careers Site API (docs); from 10 Feb 2027 a per-company token is required, so other companies' boards may stop working then |
| Personio | Public XML feed (docs) |
| SmartRecruiters, LinkedIn, Indeed | Not supported: their terms or API policies forbid large-scale extraction |
FAQ
Do I need a list of companies? No. Leave Companies empty and the built-in directory is used. Add companies only for specific employers.
Is this legal? Does it respect robots.txt?
Jobs are read from public endpoints that employers use to publish vacancies widely. robots.txt is honoured for Workday and Teamtailor (RFC 9309; user agent eu-job-search) and disallowed sites are skipped. Requests to one host are spaced by requestDelayMs (default 500 ms) with back-off on 429/5xx. Some platforms' general website terms restrict automated access, so check the terms for your own use case. Terms and robots rules were checked on 28 Oct 2026; this is a technical summary, not legal advice.
Is personal data collected?
No applicant data is ever read. E-mail addresses and phone numbers in job descriptions are removed ([email removed], [phone removed]).
Why did a search return fewer jobs than maxJobs?
Only directory employers are searched, and only maxCompanies of them (best matches first). Raise maxCompanies, widen the countries (e.g. BENELUX) or the date range, or add your own companies.
How fresh are the jobs? Live: each board is read during your run. The directory only decides which boards to read.
Can I get every job from one Workday site?
Yes: companies: ["workday:tenant/wd3/site"] with a high maxJobs. Without keywords every listing needs a detail request, so large sites take a while.
Do I get salaries? Only when the employer publishes pay (Greenhouse pay ranges, Ashby compensation, Lever salary range, Personio/Recruitee fields, or a clear range in the text). Never guessed.
Related Actors
More tools by the same developer, all pay-per-event with the same clean output style:
- Greenhouse & Lever Jobs Scraper (ATS Job Feed): every open job from your own list of companies on Greenhouse, Lever, Ashby, Workable, Recruitee and Personio.
- Bulk PageSpeed Insights & Core Web Vitals Checker: Lighthouse scores, LCP/CLS/INP and top fixes for hundreds of URLs, with CSV and PDF report.
- Website Screenshot & HTML to PDF: full-page PNG/JPEG screenshots and PDFs of any URL or raw HTML, cookie banners removed.
- Broken Link Checker & SEO Site Audit (Site QA Crawler): broken links, redirects, SEO basics, WCAG accessibility and SSL expiry in one crawl, with a fix list and PDF.
Related searches: EU jobs API, Europe jobs scraper, Netherlands jobs scraper, Germany jobs API, UK jobs feed, Workday jobs scraper, Workday careers API, Teamtailor jobs scraper, Greenhouse jobs API, Lever jobs scraper, Personio jobs feed, career site jobs API, new job alerts, hiring signals, data engineer jobs Netherlands.