Europe Jobs Scraper — 14 Sources in One
Pricing
from $3.00 / 1,000 job results
Europe Jobs Scraper — 14 Sources in One
All Europe-focused job sources behind one endpoint: LinkedIn Europe, AI Jobs, EURES, EURAXESS, AcademicPositions, WTTJ, JustJoin.it, NoFluffJobs, InfoJobs, Tecnoempleo, jobs.ac.uk and university boards. One merged, deduped dataset.
Europe Jobs Scraper - 14 Sources in One
One call for Europe-focused job data. This bundle fans out to 14 existing job-source Actors, merges their results, dedupes by URL, and returns one flat dataset of live European job postings.
This is an unofficial scraper bundle. It is not affiliated with LinkedIn, EURES, EURAXESS, AcademicPositions, Welcome to the Jungle, JustJoin.it, NoFluffJobs, InfoJobs, Tecnoempleo, jobs.ac.uk, Ikerbasque, the University of Copenhagen, Universitat de Barcelona, or AI Jobs.
Sources included
| Source key | Coverage |
|---|---|
linkedin | LinkedIn jobs, default location: European Union |
ai_jobs_net | AI, ML and data jobs with Europe bias enabled |
eures | EU job mobility portal |
euraxess | EU research jobs |
academicpositions | EU, UK and Switzerland academic jobs |
wttj | Welcome to the Jungle jobs across EU countries |
justjoinit | Polish tech and IT jobs |
nofluffjobs | Poland and CEE IT jobs with salary data |
infojobs | Spain job board |
tecnoempleo | Spain IT jobs |
jobs_ac_uk | UK academic, postdoc and research jobs |
ikerbasque | Basque research jobs in Spain |
math_ku_phd | University of Copenhagen PhD and research jobs |
ub_doctoral | Universitat de Barcelona doctoral vacancies, BYOK AI extraction |
Company ATS Actors like Greenhouse, Lever, Ashby and Workable are not included because they require buyer-supplied company lists. Global sources with no reliable Europe filter are also left out so the default run stays aligned with the Europe promise.
How the bundle works
This is a bundle Actor. For each selected source it calls the matching child Actor, maps every child record onto one shared schema, dedupes by URL, and pushes the merged output. Each source fails open independently: if one board errors or times out, the other sources still return.
Use sources to run a cheaper subset, keyword to filter sources that support free-text search, and location to override the default European Union text for LinkedIn and AI Jobs.
Incremental mode
Turn on incrementalMode for scheduled alerts. The bundle remembers listing URLs it has already delivered in a key-value store on your own Apify account. Later runs skip those already-seen postings and do not charge this bundle's per-result event for them.
Input example
{"keyword": "data engineer","location": "European Union","maxItemsPerSource": 10,"maxItems": 50}
UB doctoral is the only BYOK source. Without anthropicApiKey or mistralApiKey, it is skipped and the dataset includes one uncharged warning row explaining why. The other 13 sources run normally.
Output fields
Each normal row uses the same flat bundle schema:
{"source": "eures","id": "123456","title": "Software Engineer","company": "Example GmbH","location": "Berlin, Germany","url": "https://example.com/job/123456","postedAt": "2026-07-07","deadline": "","snippet": "Short posting excerpt...","salary": ""}
Fields a source does not provide are returned as empty strings rather than guessed.
Python client
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("nomad-agent/europe-jobs-bundle").call(run_input={"keyword": "engineer","maxItems": 50,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(len(items), items[:1])
cURL
curl -X POST \"https://api.apify.com/v2/acts/nomad-agent~europe-jobs-bundle/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \-H "Content-Type: application/json" \-d '{"keyword":"engineer","maxItems":50}'
Cost note
Children are pay-per-event Actors. A bundle run charges this bundle's start/result events on top of each enabled child Actor's own start/result events. Use sources, maxItemsPerSource and maxItems to control spend.