Jobs.ac.uk Scraper - UK Academic & PhD Jobs avatar

Jobs.ac.uk Scraper - UK Academic & PhD Jobs

Pricing

from $1.60 / 1,000 serp results

Go to Apify Store
Jobs.ac.uk Scraper - UK Academic & PhD Jobs

Jobs.ac.uk Scraper - UK Academic & PhD Jobs

Extract UK academic and research jobs from Jobs.ac.uk. Returns job title, employer (university), department, salary (min/max in GBP), grade band, employment type, contract type, closing date, position type (academic/research/PhD-studentship), academic rank, research field, and funding source.

Pricing

from $1.60 / 1,000 serp results

Rating

0.0

(0)

Developer

NanoScrape

NanoScrape

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Share

Jobs.ac.uk Scraper

Extract UK academic and research vacancies from Jobs.ac.uk, the primary board for UK universities, research institutes, and higher education professional services roles.

What it does

Given search keywords and an optional UK location, the actor fetches the Jobs.ac.uk search results, follows each vacancy to its detail page, and returns a structured record per job. It handles four position types out of the box:

  • Academic teaching (Lecturer, Senior Lecturer, Reader, Professor, Teaching Fellow)
  • Research (Postdoc, Research Associate, Research Fellow, Research Assistant)
  • Professional services and technical (managers, coordinators, technicians)
  • PhD studentships (with stipend amount, duration, and supervisor extracted when present)

Deep-employer mode (includeCompanyDetails: true) also fetches the institution's /search/employer/{slug} page for the About-us copy, external website, and a list of the institution's other currently-open roles.

Salary is normalised to min/max/currency/period. UK academic Grade bands (like Grade 7, or Grade 8) that only appear as free text on the search card get parsed alongside the JSON-LD baseSalary on the detail page, so you get both the raw text and the numeric range.

Sample output

{
"_type": "job",
"id": "1085265",
"title": "Lecturer in Computing Science",
"employer_name": "Regent College London, part of the Regent Group",
"department": "Academic",
"location": "London, England",
"country": "GB",
"salary_min": 50000,
"salary_max": 50000,
"salary_currency": "GBP",
"salary_period": "year",
"salary_text": "Up to £50,000 per annum subject to skills and experience.",
"employment_type": "full-time",
"contract_type": "permanent",
"position_type": "academic",
"academic_rank": "Lecturer",
"research_field": "Computing",
"funding_source": null,
"posted_at": "2026-08-18",
"closing_at": "2026-10-17",
"job_url": "https://www.jobs.ac.uk/job/DSQ504/lecturer-in-computing-science",
"application_url": "https://www.jobs.ac.uk/job/DSQ504/lecturer-in-computing-science",
"source_platform": "jobs.ac.uk",
"scraped_at": "2026-08-19T10:05:06Z",
"company_website": "https://www.regent.ac.uk/",
"company_address_city": "London",
"company_address_country": "GB",
"company_active_jobs_count": 4
}

For PhD studentships the record also includes stipend_amount_gbp, duration_years, and (when the advert names them) supervisor_name.

Pricing

Pay only for what you scrape. Apify credits the first $5 every month, which is enough for around 1,000 vacancies in Fast mode.

EventPrice
Actor start$0.001
SERP result (Fast mode)$0.003
Detail result (Full mode)$0.005
Company detail (per unique employer, when includeCompanyDetails: true)$0.005

Typical cost: $3 per 1,000 jobs in Fast mode, $5 per 1,000 jobs in Full mode.

Input

The two common paths:

  1. Search URLs. Search on jobs.ac.uk, copy the URL from your browser, paste into the searchUrls field. All filters travel with the URL.
  2. Keywords + location. Fill searchQueries with terms like postdoc chemistry or PhD studentship physics, and location with a UK city.
{
"searchQueries": ["lecturer in computer science"],
"location": "London",
"maxResults": 100,
"mode": "full",
"includeCompanyDetails": true
}

includeJobDetails: true is equivalent to mode: "full" (both trigger detail-page fetches). includeCompanyDetails: true implies both : the employer link only lives on the PDP.

Use Fast mode when you only need the SERP fields (title, employer, salary text, dates). Use Full mode when you also need contract type, hours per week, full description, funding source, and PhD studentship extras.

Output fields

FieldNotes
titleJob title as advertised
employer_nameUniversity or institute (from JSON-LD hiringOrganization)
departmentSchool, faculty, or department name
locationCity, region
countryAlways GB
salary_min, salary_max, salary_currency, salary_periodStructured salary (GBP, per year by default)
salary_textOriginal free-text salary line (keeps Grade band information)
employment_typefull-time, part-time
contract_typefixed-term, permanent, open-ended, contract, temporary
duration_months, duration_years, hours_per_weekContract detail from the advert table
position_typeacademic, research, PhD-studentship, professional-services, technical
academic_rankLecturer, Senior Lecturer, Reader, Professor, Postdoc, Research Fellow, etc.
research_fieldBest guess based on the vacancy title
funding_sourceUKRI, EPSRC, BBSRC, Wellcome Trust, Leverhulme, and other councils detected in the advert body
stipend_amount_gbp, supervisor_namePhD studentship extras when the advert names them
posted_at, closing_atISO dates
job_url, application_urlDirect links
company_aboutAbout-us / mission text from the /search/employer institution page (deep-employer mode only)
company_websiteExternal institution website (from PDP schema.org sameAs + fallback to first external link on the employer page)
company_address_city, company_address_countryFrom PDP schema.org jobLocation.address
company_active_jobs_count, company_active_jobsCount + list of the institution's other open roles (deep-employer mode only)
company_phone, company_email, company_address_street, company_address_postcodeUsually null - jobs.ac.uk employer pages rarely expose these fields

Use with MCP

Connect your MCP-compatible client (Claude Desktop, Cursor) to the Apify MCP server and call the actor by slug:

Run the nanoscrape/jobs-ac-uk-scraper actor with:
searchQueries = ["postdoc machine learning"]
location = "Cambridge"
maxResults = 50
mode = "full"

The client will trigger a run and return the dataset as tool output.

Why this scraper

  • Academic-native fields. Position type, academic rank, funding council, and PhD studentship extras that generic job scrapers do not surface.
  • Full JSON-LD parse. Salary, dates, and employer come from the schema.org JobPosting block on every advert, so numeric fields are consistent across universities.
  • UK Grade bands preserved. salary_text keeps the "Grade 7, £39,347 to £46,485" phrasing that university HR systems use, alongside the parsed min/max range.
  • Low resource footprint. 128 MB of memory per run, no browser needed, results in seconds.

Common use cases

  • Academic career market intelligence (who is hiring in a given field, at what grade)
  • PhD studentship discovery for prospective students, with stipend and supervisor extraction
  • Recruiter sourcing for higher education roles by rank and discipline
  • Funding-council tracking (jobs backed by EPSRC, BBSRC, Wellcome, etc.)
  • Lead generation for suppliers to UK universities (research equipment, HR platforms, digital services)

Notes and limits

  • Jobs.ac.uk paginates 25 vacancies per page. The actor stops when a page returns fewer than expected, or when maxResults is reached.
  • Some employers only publish a Grade band, not a numeric range, in which case salary_min and salary_max will match a single number and salary_text carries the Grade context.
  • Research field detection is a best-effort classifier based on the vacancy title. Combine with department for higher precision.
  • Advert bodies vary wildly in structure. Description is captured as both HTML and plain text; funding source detection uses keyword hits in the description body.

Support

Bug reports and feature requests go in the Issues tab. Direct contact: contact@nanoscrape.com. We usually reply within 6 hours.