EURES Cross-Border Job Search & Vacancy Lookup

Search EURES's cross-border EEA job vacancy index by keyword, country, region, sector, contract type, education level and more, or fetch full detail - salary, benefits, contacts - for specific vacancy IDs.

Open in Apify Store$0.99 / 1K on Free

Short answer

EURES Cross-Border Job Search & Vacancy Lookup is an Apify Store Actor that returns 7 published output fields, including title, employerName, countries, positionScheduleCodes. It lists $0.99 per 1,000 results on the Free plan (pay per event), $0.49 on the Business plan. It takes 21 input settings; one is required (mode). Last updated Nov 14, 2026.

From the public Store listing and published build schema, synced 2026-11-14.
JobsAutomationDeveloper tools

What it returns

7 fields from the published dataset schema. Export as JSON, CSV or Excel, or read the dataset through the Apify API.

  • title
  • employerName
  • countries
  • positionScheduleCodes
  • positionOfferingCode
  • publicationDate
  • sourceUrl

Input

Input settings for EURES Cross-Border Job Search & Vacancy Lookup
SettingTypeRequiredDefaultWhat it does
mode string Yes search What to fetch.
searchQuery string No developer Free-text keyword to search for (mode=search). Matches job title, description and employer name depending on `searchIn`.
searchIn string No EVERYWHERE Where the search query is matched.
jobIds array No [] EURES job vacancy IDs or full detail-page URLs, as found in the `jobId` or `sourceUrl` output field, e.g. `MzQwNDYwIDU` or `https://europa.eu/eures/portal/jv-se/jv-details/MzQwNDYwIDU`.
countries array No [] Restrict results to job locations in these countries. Leave empty for all EEA countries.
regionCodes array No [] Restrict results to job locations in these region codes (finer-grained than `countries`), e.g. `deb` for Berlin (Germany) or `no0b` for Trondelag (Norway). Find a region's code in the `nutsRegionCodes` output field of a previous run, or on the EURES advanced-search location picker. Finer NUTS codes
sectors array No [] Restrict results to these NACE Rev.2 business sectors.
positionOfferingCodes array No [] Restrict results to these contract/position offering types.
positionScheduleCodes array No [] Restrict results to these work schedules.
educationLevels array No [] Restrict results to these required education levels.
Show the other 11 settings
More input settings for EURES Cross-Border Job Search & Vacancy Lookup
SettingTypeRequiredDefaultWhat it does
experienceLevels array No [] Restrict results to these required-experience bands.
languageSkills array No [] Restrict results to jobs requiring at least basic proficiency in these languages.
occupationUris array No [] Restrict results to jobs classified under these ESCO occupation URIs or broader ISCO group URIs. Copy occupation values from the `occupationUris` field of a previous search result, e.g. `http://data.europa.eu/esco/occupation/f2b15a0e-e65a-438a-affb-29b9d50b77d1`; an ISCO URI such as `http://data.eur
skillUris array No [] Restrict results to jobs requiring these ESCO skill URIs. Copy values from the `requiredSkills` field of a previous `mode=byIds` result, e.g. `http://data.europa.eu/esco/skill/ccd0a1d9-afda-43d9-b901-96344886e14d`.
benefitCodes array No [] Restrict results to jobs that explicitly advertise these extra (non-salary) benefits. Note: most EURES listings do not disclose extra-benefit information at all, so this filter narrows results significantly -- leave empty to include all jobs regardless of disclosed benefits.
euresFlagOnly boolean No false Only return jobs explicitly flagged as cross-border EURES vacancies (employer welcomes candidates from other EEA countries).
includeDetails boolean No false Also fetch each search result's detail record — salary, benefits, contacts, application link and full location. One extra request per emitted record; off by default for fast, low-cost searches.
publicationPeriod string No – EURES's own recency filter: only return vacancies received or last re-synced within this window (output field `lastModifiedDate`). This is not the original employer posting date (`publicationDate`) -- national employment services periodically re-sync unchanged listings, so an older vacancy can appea
minNumberOfPosts integer No – Only return job vacancies offering at least this many open posts/positions (useful for finding bulk-hiring vacancies).
sortBy string No BEST_MATCH Order of returned results. `MOST_RECENT` orders by each listing's last-synced/last-modified timestamp in EURES's own index (output field `lastModifiedDate`), which usually but not always matches `publicationDate` -- national employment services periodically re-sync unchanged listings, which refreshe
maxItems integer No 50 Hard cap on emitted records.

Example input

Built from the input form's published example values and defaults.

{
  "mode": "search",
  "searchQuery": "developer",
  "searchIn": "EVERYWHERE",
  "jobIds": [],
  "countries": [],
  "regionCodes": [],
  "sectors": [],
  "positionOfferingCodes": [],
  "positionScheduleCodes": [],
  "educationLevels": [],
  "experienceLevels": [],
  "languageSkills": [],
  "occupationUris": [],
  "skillUris": [],
  "benefitCodes": [],
  "euresFlagOnly": false,
  "includeDetails": false,
  "sortBy": "BEST_MATCH",
  "maxItems": 3
}

Inputs for real jobs and stated limits

From the README of the Actor's latest build, read 2026-11-14.

Keyword search in one country

{
  "mode": "search",
  "searchQuery": "warehouse",
  "countries": [
    "de"
  ],
  "maxItems": 100
}

Bulk-hiring full-time roles in a region, recently active

{
  "mode": "search",
  "searchQuery": "",
  "regionCodes": [
    "deb"
  ],
  "positionScheduleCodes": [
    "fulltime"
  ],
  "minNumberOfPosts": 5,
  "publicationPeriod": "LAST_WEEK",
  "maxItems": 200
}

Full detail for known vacancy IDs

{
  "mode": "byIds",
  "jobIds": [
    "MzQwNDYwIDU"
  ]
}

Nurse roles requiring specific experience and languages

{
  "mode": "search",
  "searchQuery": "nurse",
  "sectors": [
    "q"
  ],
  "experienceLevels": [
    "between_1_and_2_years"
  ],
  "languageSkills": [
    "de",
    "en"
  ],
  "maxItems": 150
}

Run it from code or an AI agent

The same run through the Apify API, with the example input. You need an Apify API token; the run is billed to your account at the Store price.

Python

from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run_input = {
    "mode": "search",
    "searchQuery": "developer",
    "searchIn": "EVERYWHERE",
    "jobIds": [],
    "countries": [],
    "regionCodes": [],
    "sectors": [],
    "positionOfferingCodes": [],
    "positionScheduleCodes": [],
    "educationLevels": [],
    "experienceLevels": [],
    "languageSkills": [],
    "occupationUris": [],
    "skillUris": [],
    "benefitCodes": [],
    "euresFlagOnly": False,
    "includeDetails": False,
    "sortBy": "BEST_MATCH",
    "maxItems": 3
}

run = client.actor("vexaloom-labs/eures-cross-border-job-search-and-vacancy-lookup").call(run_input=run_input)
if run is None:
    raise RuntimeError("The Actor run was not found.")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

pip install apify-client

JavaScript

import { ApifyClient } from "apify-client";

const client = new ApifyClient({ token: "<YOUR_APIFY_TOKEN>" });
const input = {
    "mode": "search",
    "searchQuery": "developer",
    "searchIn": "EVERYWHERE",
    "jobIds": [],
    "countries": [],
    "regionCodes": [],
    "sectors": [],
    "positionOfferingCodes": [],
    "positionScheduleCodes": [],
    "educationLevels": [],
    "experienceLevels": [],
    "languageSkills": [],
    "occupationUris": [],
    "skillUris": [],
    "benefitCodes": [],
    "euresFlagOnly": false,
    "includeDetails": false,
    "sortBy": "BEST_MATCH",
    "maxItems": 3
};

const run = await client.actor("vexaloom-labs/eures-cross-border-job-search-and-vacancy-lookup").call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

npm install apify-client

cURL

curl -X POST "https://api.apify.com/v2/actors/vexaloom-labs~eures-cross-border-job-search-and-vacancy-lookup/run-sync-get-dataset-items"   -H "Authorization: Bearer $APIFY_TOKEN"   -H "Content-Type: application/json"   -d '{"mode":"search","searchQuery":"developer","searchIn":"EVERYWHERE","jobIds":[],"countries":[],"regionCodes":[],"sectors":[],"positionOfferingCodes":[],"positionScheduleCodes":[],"educationLevels":[],"experienceLevels":[],"languageSkills":[],"occupationUris":[],"skillUris":[],"benefitCodes":[],"euresFlagOnly":false,"includeDetails":false,"sortBy":"BEST_MATCH","maxItems":3}'

Waits for the run and returns the dataset items (runs over 300 seconds return HTTP 408; start an async run instead).

MCP (AI agents)

{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=vexaloom-labs/eures-cross-border-job-search-and-vacancy-lookup",
      "headers": {
        "Authorization": "Bearer <YOUR_APIFY_TOKEN>"
      }
    }
  }
}

Adds this Actor as a tool in an MCP client that takes a remote server URL (Cursor, VS Code, Claude Code) through Apify's hosted MCP server. OAuth sign-in also works without the header. Clients that only start local servers can wrap the URL with npx mcp-remote.

Free n8n workflow and agent skill for this tool

No code: the eURES Cross-Border job search n8n workflow runs this Actor with a starter input, dedupes the rows and can append them to Google Sheets. Import it from its URL into n8n.

For Claude Code, Codex, Cursor and other agents, the agent skill installs in one line:

npx skills add https://scraperfinder.com --skill eures-cross-border-job-search-and-vacancy-lookup

What a run costs

The result rate falls on higher Apify plans. Each figure is the published per-result rate times the number of results.

Cost of EURES Cross-Border Job Search & Vacancy Lookup results by Apify plan
Apify planPer 1,00010,000 results100,000 results
Free plan$0.99$9.90$99
Starter plan$0.82$8.20$82
Scale plan$0.66$6.60$66
Business plan$0.49$4.90$49
  • Every run also has a start event, charged per GB of memory (minimum one): $0.10 on Free, $0.03 on Business. At its default memory of 4 GB a run starts at $0.40 on Free. Fewer, larger runs keep this small.
  • The Free plan includes $5 of monthly usage (Apify pricing, checked 2026-11-11); at the Free rate that covers at most about 5,050 results, less start events and platform usage.
  • Worked example: 10,000 results in one run on the Free plan cost $10.30 ($9.90 for results + $0.40 start), plus Apify platform usage (compute), billed separately by Apify.
  • Pay per event. Platform usage (compute) is billed by Apify on top of the event prices. Compare other tools in the cost estimator.

What people use it for

  • search cross-border vacancies
  • review job details

Ashby Job Board Compensation & Openings Scraper

Scrape public Ashby job boards for any company hiring on jobs.ashbyhq.com. Get every open role with title, department, team, location, remote…

7 output fields $0.99 per 1K

Greenhouse ATS Job Board Lookup by Company

Pull every open role from one or more Greenhouse company boards, or look up specific postings by job ID, with location, department, employment…

10 output fields $0.99 per 1K

Himalayas Remote Job Finder with Salary & Tech Stack

Search Himalayas remote job listings by keyword or company and get salary range, employment type, tech stack and job page link for each role.

14 output fields $0.99 per 1K

Hiring.cafe Job Listings & Salary Filter Scraper

Pull job postings aggregated by hiring.cafe and narrow them by salary range, seniority, workplace type, security clearance, required tech stack,…

31 output fields $0.99 per 1K

Lever Job Board Postings by Company Slug

Pull open job postings from one or more Lever.co company boards, or fetch specific postings by ID, with location, team, salary range,…

8 output fields $0.99 per 1K

Workday Careers Site Job Listings Extractor

Pull job postings from any company's Workday careers site: title, location, requisition ID, posting and start dates, time type, remote status and…

6 output fields $0.99 per 1K

Questions people ask

How much does EURES Cross-Border Job Search & Vacancy Lookup cost?

The published result rate depends on your Apify plan: $0.99 per 1,000 on Free, $0.82 per 1,000 on Starter, $0.66 per 1,000 on Scale, $0.49 per 1,000 on Business. So 10,000 results cost about $9.90 on the Free plan and $4.90 on Business, plus a start fee of $0.10 per run per GB of memory on Free. Platform usage is billed separately.

What data does EURES Cross-Border Job Search & Vacancy Lookup return?

Its published output schema lists 7 fields: title, employerName, countries, positionScheduleCodes, positionOfferingCode, publicationDate, sourceUrl. A listed field is not guaranteed to be filled in every row.

What input does EURES Cross-Border Job Search & Vacancy Lookup need?

Required: mode. Optional settings include searchQuery, searchIn, jobIds, countries, regionCodes, sectors.

How do I run EURES Cross-Border Job Search & Vacancy Lookup from Python or the API?

Use the Apify API client: in Python, ApifyClient(token).actor("vexaloom-labs/eures-cross-border-job-search-and-vacancy-lookup").call(run_input=...), then read the run's default dataset (run.default_dataset_id); in JavaScript the same call is client.actor("vexaloom-labs/eures-cross-border-job-search-and-vacancy-lookup").call(input). Without a client, POST the input JSON to https://api.apify.com/v2/actors/vexaloom-labs~eures-cross-border-job-search-and-vacancy-lookup/run-sync-get-dataset-items with your API token. Ready-to-paste code with the example input is on this page.

Sources

Actor updated 2026-11-14 Data synced 2026-11-14
Cite this page

Scraper Finder. "EURES Cross-Border Job Search & Vacancy Lookup." https://scraperfinder.com/catalogue/eures-cross-border-job-search-and-vacancy-lookup/ (data checked 2026-11-14).

Run EURES Cross-Border Job Search & Vacancy Lookup

$0.99 per 1,000 results. Paste the example input above, set your target query, then export the dataset.

Open in Apify Store