ParseForge Scrapers

EU EURES Jobs Scraper

parseforge/eu-eures-jobs-scraper

JobsBusinessOther

Scrapes EU EURES job postings by keyword and optional country, contract, working time, education, and experience filters. Returns each listing as a flat row with title, employer, location, and requirements.

Run this scraper See the API call
Total users
31
Monthly active
10
Total runs
293
Bookmarked
0
Rating
Not rated yet
Last modified
9 days ago

Overview

ParseForge

EU EURES Jobs Scraper

Scrape EU EURES job listings by keyword, country, contract type, and education level, up to a million per run. Each listing returns the job title, employer, location, contract details, and required experience. No API key needed. Export to CSV, JSON, Excel, or XML.

The EURES portal aggregates public job vacancies from national employment services across the EU, EEA, and Switzerland. Manually searching across multiple countries and filtering by contract or education level is slow and repetitive. This Actor reads the public job feeds directly, applies your filters as it goes, and returns every matching listing in one consistent dataset.

Who uses it What they scrape EU EURES for
Recruitment agencies Build a live pipeline of cross-border EU vacancies for specific sectors.
Labor market analysts Track demand for specific skills and contract types across member states.
Job boards and aggregators Populate a niche site with fresh, filtered EURES listings daily.
Policy researchers Monitor geographic and educational requirements for regulated professions.

What it does

This Actor collects EU EURES job postings by keyword and optional country, contract, working time, education, and experience filters, and returns each one as a flat row.

  • ๐Ÿ”Ž Keyword search: Free-text job title or skill, applied across all selected countries.
  • ๐ŸŒ Country filters: Target one, several, or all EU/EEA countries plus Switzerland and the UK.
  • ๐Ÿ“‹ Contract and time filters: Narrow results to permanent, temporary, internship, full-time, or part-time roles.
  • ๐ŸŽ“ Education and experience: Filter by required education level and years of experience, from none to doctorate.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with EU EURES data

๐Ÿ“Š Build a sector talent map.

A recruitment analyst scrapes all 'nurse' vacancies across Germany, France, and the Netherlands to compare salary bands and contract types by region.

๐ŸŒ Populate a niche job board.

A developer runs the Actor daily for 'software engineer' internships in Ireland and Sweden, feeding a student-focused job site with fresh listings.

๐Ÿ“ˆ Monitor labor mobility trends.

A policy researcher collects all postings requiring a bachelor's degree in construction across Eastern Europe to track cross-border demand shifts.

๐Ÿ”” Feed a vacancy alert service.

A startup scrapes EURES for 'chef' permanent full-time roles in Switzerland and Norway, pushing new matches to subscriber email lists.

Why choose this scraper

What you get
Cross-border coverage 31 countries in one scrape, from Austria to the United Kingdom.
Granular filtering Combine keyword, country, contract, working time, education, and experience in one run.
Structured output Every job returns a flat row with title, employer, location, contract, and requirements.
No API registration Reads the public EURES feeds directly with no OAuth or app setup.

How it compares

No other Store actor targets EU EURES the same way, so the honest comparison is with the alternatives teams actually weigh.

EU EURES Jobs Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When EU EURES changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with a job keyword and optional country, contract type, working time, education level, and experience filters. Filters run as each posting is read so only matches reach your dataset. The Input tab lists every parameter.

A first run with the defaults:

{
  "maxItems": 10,
  "keyword": "software engineer"
}

A larger pull:

{
  "maxItems": 200,
  "keyword": "software engineer"
}

Pricing

Pay-per-result: $0.005 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.50
1,000 results $5.00
10,000 results $50.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the EU EURES Jobs Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to EU EURES through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/eu-eures-jobs-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Your keyword may be too specific or your filters too narrow. Try a broader keyword and remove optional filters like education or experience to widen the search.

The Actor stops before reaching maxItems.

This is normal when the total available listings matching your criteria are fewer than your maxItems setting. The Actor returns everything it finds.

Some job listings are missing fields like education level.

EURES listings are posted by national employment services, and not every employer fills in every optional field. Missing data appears as empty values in your dataset.

I selected multiple countries but only see results from one.

The EURES portal returns results across all selected countries. If only one appears, the keyword and filter combination may only match vacancies in that country.

The run is taking a long time.

A broad keyword with all countries and a high maxItems value will take longer. Reduce the number of countries or lower maxItems for faster test runs.

FAQ

Question Answer
What is EURES? EURES is the European Job Mobility Portal run by the European Labour Authority. It aggregates public job vacancies from national public employment services across the EU, EEA, and Switzerland.
Which countries does this Actor cover? It covers all EU member states, plus Iceland, Liechtenstein, Norway, Switzerland, and the United Kingdom. You can select one, several, or all 32 available country codes.
Can I search without a keyword? The keyword field is optional in the schema but the EURES portal requires a search term. Provide a broad keyword like 'engineer' or 'assistant' to cast a wide net, then narrow with filters.
How do I filter by education level? Select one or more values from the educationLevel array, such as 'bachelor', 'master', or 'doctorate'. The Actor applies these as it reads each posting.
What contract types can I filter on? You can filter by permanent, temporary, apprenticeship, internship, and seasonal contracts. Select multiple values to broaden the results.
Does this Actor require an API key or login? No. It reads the public EURES job search pages directly. No registration, OAuth, or API key is needed.
What format does the output come in? The dataset exports to CSV, JSON, Excel, or XML. Every job listing is one flat row with consistent columns.
How many job listings can I scrape in one run? You set the maxItems limit, up to 1,000,000 per run. The Actor stops when it reaches that number or exhausts the available results.
Can I filter by working time? Yes. The workingTime filter accepts 'full-time' and 'part-time'. Leave it empty to include both.
Is the EURES data available in multiple languages? Job titles and descriptions are typically in the language of the host country. The Actor returns the text as published on the EURES portal.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by European Labour Authority. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
maxItems integer How many job listings to collect per run. 10
keyword string Free-text job keyword. Example: 'software engineer', 'nurse', 'chef'. software engineer
countries array Filter to specific EU/EEA countries. Leave empty for all. not set
contractType array Filter by contract type. not set
workingTime array Filter by working time arrangement. not set
educationLevel array Required education level(s). not set
experienceLevel array Required years of experience. not set

Pricing

from $3.75 per 1,000 results

Charged forWhat it isPrice each
Result Item Charged once per result collected. $0.00375 to $0.005

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~eu-eures-jobs-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run EU EURES Jobs Scraper on Apify All scrapers