European Jobs API: Personio, Teamtailor, Recruitee, Greenhouse avatar

European Jobs API: Personio, Teamtailor, Recruitee, Greenhouse

Pricing

from $1.50 / 1,000 job returneds

Go to Apify Store
European Jobs API: Personio, Teamtailor, Recruitee, Greenhouse

European Jobs API: Personio, Teamtailor, Recruitee, Greenhouse

Search open jobs across 490+ European companies' own career sites (Personio, Teamtailor, Recruitee, Greenhouse, Lever, Ashby) by keyword and country, or scan your own list of boards. One clean schema, new-jobs-only monitoring, no personal data.

Pricing

from $1.50 / 1,000 job returneds

Rating

0.0

(0)

Developer

Clearfeed Data

Clearfeed Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 days ago

Last modified

Security

Limited permissions

Share

EU Company Jobs Feed: Personio, Teamtailor, Recruitee, Greenhouse, Lever & Ashby

Get open jobs straight from the career sites of 490+ European employers, in one clean table. Search by keyword and country across the whole built-in directory, or paste your own list of career pages. No login, no browser, no personal data.

What it does

European companies mostly hire through Personio (Germany, Austria, Switzerland), Teamtailor (Nordics), Recruitee (Benelux) and Greenhouse, Lever and Ashby (scale-ups everywhere). This Actor reads the official public job feed of each of those systems and returns every posting in the same format.

  • Search without knowing company names. Type "data engineer", pick France and Germany, and the Actor scans its built-in directory of 490+ European company boards (11,000+ open jobs at the last refresh).
  • Or bring your own companies. Paste any career page URL from the 6 systems. Mix them freely.
  • Only new jobs. Turn on monitoring, schedule the Actor daily, and each run returns only the postings that appeared since the last run. You only pay for those.
  • One schema for all 6 systems. Country codes, remote/hybrid/on-site, full-time/part-time/internship, salary when the employer publishes it, publish date, direct apply link.
  • GDPR-safe. No recruiter names, emails or phone numbers. Contact details that appear inside descriptions are replaced with [removed].
  • Reliable. It uses the systems' official public endpoints, not fragile HTML scraping, so it keeps working when websites are redesigned.

Use cases

  • Job boards and newsletters that need a fresh feed of European tech, product or sales jobs
  • Recruiting and staffing agencies watching which companies are hiring for a role
  • Sales teams using hiring as a buying signal ("companies hiring a Head of Data in Germany")
  • Market and salary research on the European job market
  • AI agents and LLM apps that need structured, current job data

Input

FieldWhat it does
KeywordsJobs whose title contains any of these words. Whole-word match, so java doesn't match javascript. Accents and case are ignored.
CountriesOnly jobs located in these countries.
Search the built-in directoryOn by default when you don't give your own career pages.
Your own career pagesURLs like https://acme.jobs.personio.de, https://acme.teamtailor.com, https://acme.recruitee.com, https://boards.greenhouse.io/acme, https://jobs.lever.co/acme, https://jobs.ashbyhq.com/acme, or personio:acme.
Systems to includeLimit the directory to some of the 6 systems.
Exclude keywordsDrop titles containing e.g. intern or senior.
Workplace type / Employment typeRemote, hybrid, on-site; full-time, part-time, contract, internship...
Posted within N daysOnly recent postings.
Europe onlyDrop the US/Asia jobs of global companies.
Only return new jobs + Monitor nameMonitoring mode (see below).
Include full descriptionText and HTML description. Off for a lighter dataset.
Maximum jobsHard cap per run.

Example input:

{
"keywords": ["data engineer", "analytics engineer"],
"countries": ["FR", "DE", "NL"],
"workplaceTypes": ["remote", "hybrid"],
"postedWithinDays": 14
}

Output

One row per job:

{
"id": "recruitee:bunq:2783543",
"ats": "recruitee",
"companySlug": "bunq",
"companyName": "bunq",
"title": "Head of Product",
"department": "Product",
"location": "Amsterdam, Netherlands",
"locations": ["Amsterdam, Netherlands", "Sofia, Bulgaria"],
"city": "Amsterdam",
"countryCode": "NL",
"country": "Netherlands",
"countryCodes": ["NL", "BG"],
"isEurope": true,
"workplaceType": "hybrid",
"isRemote": false,
"employmentType": "full_time",
"seniority": "manager",
"salaryMin": null,
"salaryMax": null,
"salaryCurrency": null,
"salaryPeriod": null,
"publishedAt": "2026-10-15T09:31:36Z",
"url": "https://careers.bunq.com/o/head-of-product-6",
"applyUrl": "https://careers.bunq.com/o/head-of-product-6/c/new",
"descriptionText": "As Head of Product, your mission is to lead...",
"isNew": null,
"scrapedAt": "2026-10-24T04:37:29Z"
}

Download as JSON, CSV, Excel or XML, or read it through the Apify API. Each run also saves a RUN_SUMMARY record (boards scanned, boards not found, jobs returned) in its key-value store.

Monitoring: only new jobs

  1. Set Only return jobs not seen in earlier runs to on, and give your search a Monitor name (e.g. data-jobs-fr).
  2. Create a Schedule in Apify Console (e.g. every morning).
  3. Each run returns only postings that appeared since the previous run (isNew: true). Connect a webhook, Make, Zapier or n8n to push them to Slack, a sheet or your database.

Jobs are remembered for 90 days. Use a different monitor name for each separate search.

Pricing

$1.50 per 1,000 jobs returned (pay per result), plus Apify's small per-run start fee. You never pay for boards that return nothing, and in monitoring mode you only pay for new jobs. Set a maximum cost per run in the run options if you want a hard ceiling.

Typical costs: a keyword search across the whole directory returning 300 jobs costs about $0.45. Monitoring 100 companies daily typically returns 20 to 100 new jobs a day, about $1 to $4.50 a month.

FAQ

Is this legal? The Actor reads public job postings that employers publish on purpose, through the endpoints the job systems provide for that. It collects no personal data.

A company I need isn't in the directory. Paste its career page URL in "Your own career pages". Any company on the 6 systems works, not just the ones in the directory. You can also open an issue with the URL and it will be added to the directory at the next refresh.

Why is a field empty? Fields are only filled when the employer publishes them. Salary, for example, is published by a minority of employers.

Workday, SmartRecruiters, Workable? Not yet. Open an issue if you need one, and it will be prioritised by demand.

Other Actors by Clearfeed Data