EURES Jobs Scraper
Pricing
Pay per usage
EURES Jobs Scraper
Search the European Commission's EURES job portal by words, countries, occupation and posting date. One row per job, with plain field names.
EURES is the European Commission's job mobility portal. Public employment services in the EU, Norway, Iceland, Liechtenstein and Switzerland send their vacancies to it, so one search there covers more than two million jobs across 31 countries.
This Actor runs that search for you and gives back one clean row per job. You choose the words, the countries and a few filters; it returns the title, employer, country and region, contract type, dates and a link to the job on EURES.
What you put in
The smallest useful input is a few words and a country:
{"keywords": "software developer","countries": ["IE"],"maxItems": 20}
List several countries and they are searched together in a single run, for example ["NL", "BE", "LU"]. Leave countries empty to search every EURES country.
| Setting | What it does |
|---|---|
keywords | Words to look for. Leave empty to get every job that matches the other filters. |
searchIn | everywhere (the default) behaves like the EURES website and also finds related jobs. title only keeps jobs with your words in the title, which gives fewer and closer matches. |
countries | Two-letter codes such as DE, FR, PL or GR. Region codes as EURES lists them also work, for example IE061 for Dublin or DE2 for Bavaria. |
postedWithin | day, 3days, week or month. Counts from the date the job was published or last updated on EURES. |
maxItems | Stops after this many jobs. Default 100. |
sortBy | relevance (default) or newest. |
onlyNewJobs | Skips jobs this exact search already returned in earlier runs. Made for scheduled runs: the first run returns everything, later runs return only what has appeared since. |
includeDetails | Opens each job's own page to add city, postal code, closing date, start date, salary and how to apply. Slower, see below. |
includeDescription | Turn off if you only need titles, places and links. |
occupations | ESCO occupation codes, if you already work with ESCO. |
sectors, workingTime, contractTypes, experience | The same filters the EURES website offers. |
euresFlagOnly | Keeps only jobs with the EURES flag, which marks employers interested in hiring people from other countries. |
What you get
One row per job. The values below are made up to show the shape:
{"jobId": "MTIzNDU2NyAxOA","reference": "1234567","title": "Line Cook","company": "Example Hotels Ltd","companyWebsite": null,"country": "MT","countryName": "Malta","countries": ["MT"],"region": "MT001","regions": ["MT001"],"city": "Sliema","postalCode": null,"workingTime": "Full time","contractType": "Fixed-term contract","openings": 2,"postedAt": "2026-09-14T09:30:00Z","updatedAt": "2026-10-08T18:00:00Z","applicationDeadline": "2026-10-31","startDate": null,"occupationCodes": ["http://data.europa.eu/esco/occupation/..."],"sectorCodes": null,"languages": ["en"],"euresFlag": true,"salary": { "min": 1500, "max": 1800, "currency": "EUR", "period": "month" },"howToApply": "Send a CV through the national employment service website.","description": "You will prepare dishes to the head chef's standards...","url": "https://europa.eu/eures/portal/jv-se/jv-details/MTIzNDU2NyAxOA?lang=en","scrapedAt": "2026-10-10T08:21:22Z"}
city, postalCode, applicationDeadline, startDate, salary and howToApply are filled only when includeDetails is on, and only when the employer gave them. Anything EURES does not have comes back as null.
Titles and descriptions are in the language the job was published in. Most German jobs are in German, most Irish jobs in English, and so on. languages tells you which versions exist.
The output is about the job, not about people. Contact persons listed on a vacancy are never collected, and e-mail addresses and phone numbers inside descriptions and application notes are replaced with [email removed] and [phone removed]. Names written into the free text of a description cannot be removed reliably.
How long it takes
europa.eu asks automated visitors to leave 10 seconds between requests, and this Actor does exactly that, one request at a time.
- Without details, one request brings back 50 jobs. 20 jobs take about 15 seconds, 1,000 jobs about 3.5 minutes.
- With
includeDetails, every job needs one more request, so add about 10 seconds per job. 100 jobs take roughly 17 minutes.
Price
Free for now. You only pay Apify's usual platform usage for the run, and that is small: a run of 20 jobs takes about 15 seconds on 256 MB of memory. A per-job price may be added later. If that happens, it will be shown on this page before it applies to you.
Limits
- EURES returns at most 10,000 jobs for one search. For more, split the run by country or region.
- Some region codes are not used by EURES. If a region gives no results, try a shorter code (
DE2instead ofDE21). everywheresearches are broad by design and can include loosely related jobs. UsesearchIn: "title"or an ESCO occupation when you need precise results.- Some employers do not publish their name;
companyis thennullor a placeholder chosen by the employer.
This Actor is an independent tool. It is not made by, or affiliated with, the European Commission, the European Labour Authority or EURES.