EURAXESS Scraper: PhD, Postdoc and Research Jobs Across Europe
Pricing
from $1.00 / 1,000 job results
EURAXESS Scraper: PhD, Postdoc and Research Jobs Across Europe
Scrape EURAXESS PhD, postdoc and research jobs across Europe with deadlines, funding, research field, organisation, contacts and apply links. Filter by keyword, country, field, career stage and funding, read full descriptions, and monitor new or changed jobs between runs. No login or API key.
Pricing
from $1.00 / 1,000 job results
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
35
Total users
9
Monthly active users
11 days ago
Last modified
Categories
Security
Limited permissionsShare
๐ฌ EURAXESS Scraper: PhD, Postdoc and Research Jobs Across Europe
Scrape EURAXESS for PhD, postdoc, fellowship and research jobs across Europe, with the deadline, funding, research field, organisation and application link on every row. EURAXESS is the European Commission's researcher job portal, and this Actor turns it into a clean, filterable data feed. The common misspelling "Euroaxess" is covered too. No login or API key is needed.
|
See the opportunity, the deadline, and the next step in one record. Build a focused feed from EURAXESS search pages or specific job links. Keep rich details, source links, and meaningful changes together. |
|
๐งพ Rich records Capture classification, requirements, contacts, and application routes. |
๐ Change-aware Spot new postings and exact changed fields on recurring runs. |
๐งญ Source-safe filters Use current EURAXESS labels without silently broadening your search. |
โก Built for volume Hundreds of jobs per run with polite pacing and clear run messages. |
๐ฏ Who this is for
Research recruitment teams: โI need a reliable shortlist before the best deadlines pass.โ Keep the source deadline, location, and application path close to the job title.
Universities and labs: โI want a recurring view of the roles relevant to our department.โ Filter by country, research field, profile, funding, or organisation type.
Academic job seekers: โI do not want to reread the same posting every morning.โ Use onlyNewSinceLastRun to focus on new or changed opportunities.
Research market analysts: โI need depth from one important source, not a shallow list from everywhere.โ Keep public descriptions and source-labelled fields available for downstream review.
โจ What it does
This Actor is EURAXESS-first. It focuses on a dependable, high-depth view of one research opportunity source instead of blending unrelated boards together.
- Start with a public EURAXESS search URL, a public job URL, or structured filters.
- Filter on every facet EURAXESS itself exposes: offer type, country, research field, researcher profile, organisation type, funding programme, funding type, and offer category.
- Enrich listing rows with the public detail page when
fetchDetailsis enabled. - Preserve source URLs, dates, classification, location, funding, application links, and contact details when published.
- Deduplicate by the EURAXESS job ID across pages and mixed inputs.
- Keep missing source fields absent. The dataset never replaces them with guesses.
- Use bounded pages, rows, retries, concurrency, and request pacing for repeatable runs.
- Keyword search, multi-country and multi-field filters, and a posted-within window all work together.
- A short run summary explains what was collected and why a run returned fewer rows than requested.
๐งญ How it works
|
STEP 1 Choose the scope Paste a public URL or select visible EURAXESS filters. A supplied URL takes priority. |
STEP 2 Read the opportunity Get the listing first, then collect the public detail page for the fields your workflow needs. |
STEP 3 Monitor what changed Keep a baseline per feed and receive only NEW or UPDATED jobs on each run. |
๐ก๏ธ Public-source boundaries
The Actor reads public EURAXESS search and job pages only. It does not use login flows, private profiles, or access bypasses. Review the current source terms before production use. Requests are paced politely, and a source block or rate limit is reported in the run summary instead of being hidden.
It never treats a missing page as an expired opportunity. Incomplete runs do not advance the monitoring baseline.
โ๏ธ Input
The Console prefill returns the 10 newest jobs posted in the last 30 days with full detail pages. Raise maxItems for bigger pulls; result pages are read automatically until the limit is reached. startUrls overrides structured filters when supplied.
| Field | Type | Required | Description |
|---|---|---|---|
startUrls | array of URLs | No | Public EURAXESS search or job URLs. They take priority over the filters. |
keyword | string | No | Words matched by the EURAXESS search. |
offerTypes | array of strings | No | Job Offer, Funding or Hosting. Defaults to job offers. |
countries | array of strings | No | Country names as shown on EURAXESS. Several countries are combined. |
researchFields | array of strings | No | Research field names, for example Chemistry or Computer science. |
researcherProfiles | array of strings | No | Career stage, for example First Stage Researcher (R1). |
organisationTypes | array of strings | No | Organisation type, for example Higher Education Institution. |
fundingProgrammes | array of strings | No | EU funding programme names. |
fundingTypes | array of strings | No | Funding type names. |
offerCategories | array of strings | No | Offer category names. |
sortBy | enum | No | newest, oldest, or deadline. |
postedWithinDays | integer | No | Keep jobs posted within this many days. Default 30, use 0 for no limit. |
fetchDetails | boolean | No | Read each job page for the full description, requirements and contacts. |
onlyNewSinceLastRun | boolean | No | Return only new or changed jobs compared with the previous run of the same feed. |
monitorScope | string | No | Optional name of the feed, so runs with the same name share one baseline. |
maxItems | integer | No | Maximum job rows per run, up to 500. |
maxPages | integer | No | Optional cap on result pages (10 jobs each). 0 reads as many as needed. |
proxyConfiguration | object | No | Connection settings. The default is tuned for EURAXESS. |
requestDelayMs | integer | No | Minimum gap between requests in milliseconds. |
maxConcurrency | integer | No | Maximum simultaneous requests. |
maxRequestRetries | integer | No | Maximum retries for failed requests. |
debug | boolean | No | Add extra detail to the run log. |
Country, field and profile names must match EURAXESS. A name that does not match ends the run with a clear message listing it, and never turns into an unfiltered search. Free-plan runs are limited in size and frequency; paid plans run without these limits.
๐ฆ Data table
| Field | Type | Description |
|---|---|---|
record_type | string | Always job. |
status | string | success, or partial when only the search card was read. |
event | string | CURRENT, NEW, or UPDATED for job monitoring. |
job_id | string | Stable EURAXESS job identifier. |
source | string | Always EURAXESS for source rows. |
title | string | Published opportunity title. |
url | URL | Public job page. |
source_search_url | URL | Search page that discovered the record. |
posted_at | date-time | Published posting date. |
deadline | date-time | Published application deadline. |
offer_starting_date | date-time | Published starting date. |
days_until_deadline | number | Days from collection to the deadline. |
first_seen_at | date-time | First observation in the monitoring scope. |
last_seen_at | date-time | Most recent observation. |
scraped_at | date-time | Collection timestamp. |
organisation | string | Published organisation. |
company_institute | string | Published company or institute. |
department | string | Published department. |
country | string | Published work country. |
city | string | Published city. |
street | string | Published street address. |
postal_code | string | Published postal code. |
latitude | number | Published work-location latitude. |
longitude | number | Published work-location longitude. |
number_of_offers | number | Number of published offers. |
opportunity_type | string | Published opportunity type. |
research_fields | array | Published research fields. |
researcher_profiles | array | Published researcher profiles. |
positions | array | Published position values. |
education_levels | array | Published education levels. |
languages | array | Published language values. |
contract_type | string | Published contract type. |
job_status | string | Published job status. |
hours_per_week | number | Published weekly hours. |
funding_programme | string | Published funding programme. |
funding_type | string | Published funding type. |
offer_category | string | Published offer category. |
is_research_infrastructure | boolean | Explicit source flag for research infrastructure. |
description_html | string | Published description markup. |
description_text | string | Plain-text description. |
requirements_text | string | Published requirements. |
benefits_text | string | Published benefits. |
additional_information_text | string | Published additional information. |
where_to_apply_text | string | Published application guidance. |
apply_url | URL | Public application link. |
organisation_website | URL | Public organisation website. |
contact_email | string | Public contact email. |
contact_phone | string | Public contact phone. |
changed_fields | array | Exact job fields changed since the prior snapshot. |
reference_number | string | Reference number the employer gave the offer. |
organisation_profile_url | URL | EURAXESS profile page of the organisation. |
error_code | string | Reason a partial row could not be completed. |
message | string | Human-readable note on a partial row. |
retry_after_seconds | number | Published retry delay when available. |
detail_fetched | boolean | Whether the public detail page was requested. |
Example record
{"record_type": "job","status": "success","event": "NEW","job_id": "461046","source": "EURAXESS","title": "Research Fellow","url": "https://euraxess.ec.europa.eu/jobs/461046","source_search_url": "https://euraxess.ec.europa.eu/jobs/search","detail_fetched": true,"scraped_at": "2026-08-21T00:00:00.000Z"}
๐ Monitoring semantics
- Turn on
onlyNewSinceLastRunand schedule the run. The first run returns everything asNEWand saves the baseline. - Later runs return only new jobs as
NEWand edited jobs asUPDATED, with the exactchanged_fields. - Unchanged jobs are skipped quickly and cost nothing.
- Give the feed a
monitorScopename to run several independent feeds. - A job missing from a run is never reported as expired.
- A partial, blocked, or aborted run does not save the new baseline.
- The run summary shows how many unchanged jobs were skipped and whether this was the first run.
๐ณ Pricing
Pricing is pay per job row delivered. Runs that find nothing, unchanged jobs skipped in monitor mode, and run messages are free. There are no subscriptions. Check the Pricing tab for the current rate on your plan.
โญ Enjoying EURAXESS Scraper: PhD, Postdoc and Research Jobs Across Europe?
|
โญ โญ โญ โญ โญ A daily EURAXESS search that stops eating your morning is worth a rating. A 5-star rating takes 10 seconds and helps other research recruitment teams find a trustworthy EURAXESS feed. Your feedback also tells us what to build next. |
| โ ย ย Rate this Actor on Apify |
โ FAQ
Can I scrape a specific EURAXESS search or job URL?
Yes. Add one or more public search or job URLs to startUrls. They take priority over structured filters, and mixed search and job URLs are supported.
How do I get only new PhD and postdoc jobs every week?
Set your filters, turn on onlyNewSinceLastRun, give the feed a monitorScope name and schedule the run weekly. Each run returns the jobs that are new or changed since the previous run.
Why did my run return fewer rows than maxItems?
Either fewer jobs match your filters and posted-within window, or some pages could not be read. The run summary and the final status message say which. Widen postedWithinDays or remove a filter to get more.
Does it access private researcher information?
No. It reads public search and job pages only, with no login, private profiles, or hidden access paths.
๐ Other actors
- HigherEdJobs Scraper: Academic Jobs, Salaries, and Monitoring for another academic jobs source.
- Ashby Jobs Scraper: Hiring Change Monitor for structured hiring changes from Ashby-powered career pages.
- arXiv Scraper for RAG: Papers as Chunked JSON for research literature collection and retrieval workflows.