EURAXESS Scraper: PhD, Postdoc and Research Jobs Across Europe avatar

EURAXESS Scraper: PhD, Postdoc and Research Jobs Across Europe

Pricing

from $1.00 / 1,000 job results

Go to Apify Store
EURAXESS Scraper: PhD, Postdoc and Research Jobs Across Europe

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

GetAScraper

Maintained by Community

Actor stats

0

Bookmarked

35

Total users

9

Monthly active users

11 days ago

Last modified

Security

Limited permissions

Share

๐Ÿ”ฌ 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 fetchDetails is 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.

FieldTypeRequiredDescription
startUrlsarray of URLsNoPublic EURAXESS search or job URLs. They take priority over the filters.
keywordstringNoWords matched by the EURAXESS search.
offerTypesarray of stringsNoJob Offer, Funding or Hosting. Defaults to job offers.
countriesarray of stringsNoCountry names as shown on EURAXESS. Several countries are combined.
researchFieldsarray of stringsNoResearch field names, for example Chemistry or Computer science.
researcherProfilesarray of stringsNoCareer stage, for example First Stage Researcher (R1).
organisationTypesarray of stringsNoOrganisation type, for example Higher Education Institution.
fundingProgrammesarray of stringsNoEU funding programme names.
fundingTypesarray of stringsNoFunding type names.
offerCategoriesarray of stringsNoOffer category names.
sortByenumNonewest, oldest, or deadline.
postedWithinDaysintegerNoKeep jobs posted within this many days. Default 30, use 0 for no limit.
fetchDetailsbooleanNoRead each job page for the full description, requirements and contacts.
onlyNewSinceLastRunbooleanNoReturn only new or changed jobs compared with the previous run of the same feed.
monitorScopestringNoOptional name of the feed, so runs with the same name share one baseline.
maxItemsintegerNoMaximum job rows per run, up to 500.
maxPagesintegerNoOptional cap on result pages (10 jobs each). 0 reads as many as needed.
proxyConfigurationobjectNoConnection settings. The default is tuned for EURAXESS.
requestDelayMsintegerNoMinimum gap between requests in milliseconds.
maxConcurrencyintegerNoMaximum simultaneous requests.
maxRequestRetriesintegerNoMaximum retries for failed requests.
debugbooleanNoAdd 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

FieldTypeDescription
record_typestringAlways job.
statusstringsuccess, or partial when only the search card was read.
eventstringCURRENT, NEW, or UPDATED for job monitoring.
job_idstringStable EURAXESS job identifier.
sourcestringAlways EURAXESS for source rows.
titlestringPublished opportunity title.
urlURLPublic job page.
source_search_urlURLSearch page that discovered the record.
posted_atdate-timePublished posting date.
deadlinedate-timePublished application deadline.
offer_starting_datedate-timePublished starting date.
days_until_deadlinenumberDays from collection to the deadline.
first_seen_atdate-timeFirst observation in the monitoring scope.
last_seen_atdate-timeMost recent observation.
scraped_atdate-timeCollection timestamp.
organisationstringPublished organisation.
company_institutestringPublished company or institute.
departmentstringPublished department.
countrystringPublished work country.
citystringPublished city.
streetstringPublished street address.
postal_codestringPublished postal code.
latitudenumberPublished work-location latitude.
longitudenumberPublished work-location longitude.
number_of_offersnumberNumber of published offers.
opportunity_typestringPublished opportunity type.
research_fieldsarrayPublished research fields.
researcher_profilesarrayPublished researcher profiles.
positionsarrayPublished position values.
education_levelsarrayPublished education levels.
languagesarrayPublished language values.
contract_typestringPublished contract type.
job_statusstringPublished job status.
hours_per_weeknumberPublished weekly hours.
funding_programmestringPublished funding programme.
funding_typestringPublished funding type.
offer_categorystringPublished offer category.
is_research_infrastructurebooleanExplicit source flag for research infrastructure.
description_htmlstringPublished description markup.
description_textstringPlain-text description.
requirements_textstringPublished requirements.
benefits_textstringPublished benefits.
additional_information_textstringPublished additional information.
where_to_apply_textstringPublished application guidance.
apply_urlURLPublic application link.
organisation_websiteURLPublic organisation website.
contact_emailstringPublic contact email.
contact_phonestringPublic contact phone.
changed_fieldsarrayExact job fields changed since the prior snapshot.
reference_numberstringReference number the employer gave the offer.
organisation_profile_urlURLEURAXESS profile page of the organisation.
error_codestringReason a partial row could not be completed.
messagestringHuman-readable note on a partial row.
retry_after_secondsnumberPublished retry delay when available.
detail_fetchedbooleanWhether 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 onlyNewSinceLastRun and schedule the run. The first run returns everything as NEW and saves the baseline.
  • Later runs return only new jobs as NEW and edited jobs as UPDATED, with the exact changed_fields.
  • Unchanged jobs are skipped quickly and cost nothing.
  • Give the feed a monitorScope name 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