Europe Jobs Scraper — 14 Sources in One avatar

Europe Jobs Scraper — 14 Sources in One

Pricing

from $3.00 / 1,000 job results

Go to Apify Store
Europe Jobs Scraper — 14 Sources in One

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.

Pricing

from $3.00 / 1,000 job results

Rating

0.0

(0)

Developer

Nomad.Dev

Nomad.Dev

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 hours ago

Last modified

Categories

Share

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 keyCoverage
linkedinLinkedIn jobs, default location: European Union
ai_jobs_netAI, ML and data jobs with Europe bias enabled
euresEU job mobility portal
euraxessEU research jobs
academicpositionsEU, UK and Switzerland academic jobs
wttjWelcome to the Jungle jobs across EU countries
justjoinitPolish tech and IT jobs
nofluffjobsPoland and CEE IT jobs with salary data
infojobsSpain job board
tecnoempleoSpain IT jobs
jobs_ac_ukUK academic, postdoc and research jobs
ikerbasqueBasque research jobs in Spain
math_ku_phdUniversity of Copenhagen PhD and research jobs
ub_doctoralUniversitat 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 ApifyClient
client = 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().items
print(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.