Europe Jobs Scraper — EURES, EURAXESS + 12 More Boards avatar

Europe Jobs Scraper — EURES, EURAXESS + 12 More Boards

Pricing

from $1.20 / 1,000 job results

Go to Apify Store
Europe Jobs Scraper — EURES, EURAXESS + 12 More Boards

Europe Jobs Scraper — EURES, EURAXESS + 12 More Boards

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 $1.20 / 1,000 job results

Rating

0.0

(0)

Developer

Nomad.Dev

Nomad.Dev

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

1

Monthly active users

14 hours ago

Last modified

Categories

Share

Europe Jobs Scraper - 14 Sources in One

Claude / Codex skill to describe and setup this actor: SKILL.md

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": "",
"hiringContactName": null,
"hiringContactTitle": null,
"hiringContactUrl": null
}

On linkedin rows the bundle also returns hiringContactName, hiringContactTitle and hiringContactUrl — the person LinkedIn names as the job poster, i.e. who to write to. LinkedIn names someone on roughly a quarter of postings; the fields are null on the rest and on every other source. They cost no extra requests and nothing is guessed.

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.

Need just one board, with deeper filters and cheaper per-result pricing? Each source is also a standalone Actor:


From the maker of Oink — an open-source, AI-powered job-search bot for Telegram that runs on these Actors. Try the free bot, get a managed instance at oinkjobsearch.com, or browse the full catalog of 50+ Actors.