Jobs.ac.uk Job Scraper avatar

Jobs.ac.uk Job Scraper

Under maintenance

Pricing

$1.49 / 1,000 result scrapeds

Go to Apify Store
Jobs.ac.uk Job Scraper

Jobs.ac.uk Job Scraper

Under maintenance

Scrapes academic job listings from jobs.ac.uk — the UK's leading higher education job board. Extracts rich structured data. JobPosting schema. No proxy required. Supports keyword, location, discipline, and job-type filtering.

Pricing

$1.49 / 1,000 result scrapeds

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

jobs.ac.uk Scraper

Scrape academic job listings from jobs.ac.uk — the UK's leading higher education and research job board. Extracts rich structured data via JSON-LD JobPosting schema on detail pages. No proxy required.


Features

  • Full-text keyword search with location filtering
  • Filter by academic discipline, job type, or employer
  • Rich data extraction: salary range, employment type, full description, ISO dates
  • Two modes: listing-only (fast, card-level data) or full (detail page JSON-LD)
  • Polite rate limiting, no bot-blocking issues

Input fields

FieldTypeDefaultDescription
keywordsstring""Job title, skills, or keywords
locationstring""City or region (e.g. London, Cambridge)
distancestring""Radius in miles from location (0, 5, 10, 20, 50)
disciplinestring""Academic discipline slug (e.g. computer-science, biology)
jobTypestring""Filter: academic, research, professional, technical
employerstring""Filter by employer name
maxJobsinteger0Max results (0 = unlimited)
fetchDetailsbooleantrueFetch detail pages for rich JSON-LD data
pageSizeinteger25Results per search page (max 25)
concurrencyinteger5Parallel detail page requests

Output fields

FieldTypeSourceDescription
advertIdstringlistUnique numeric advert ID
titlestringlist + JSON-LDJob title
urlstringlistFull URL to job posting
departmentstringlistDepartment or faculty
employerstringJSON-LDHiring organisation name
employerUrlstringJSON-LDEmployer website
locationstringlistLocation text (raw)
locationCitystringJSON-LDStructured city/locality
locationCountrystringJSON-LDCountry code (e.g. GB)
isRemotebooleanJSON-LDTrue if explicitly remote
jobLocationTypestringJSON-LDTELECOMMUTE or null
salaryRawstringlistRaw salary text (e.g. £40,000 to £45,000)
salaryMinnumberJSON-LDMinimum salary (numeric)
salaryMaxnumberJSON-LDMaximum salary (numeric)
salaryCurrencystringJSON-LDCurrency code (e.g. GBP)
salaryUnitstringJSON-LDPay period (YEAR, MONTH, HOUR)
datePlacedstringlistPosting date (card, partial: DD Mon)
datePostedstringJSON-LDISO posting date (YYYY-MM-DD)
closingDatestringlistClosing date (card, partial: DD Mon)
validThroughstringJSON-LDISO closing datetime
employmentTypearrayJSON-LDSchema.org type(s) (FULL_TIME, PART_TIME, etc.)
descriptionstringJSON-LDFull job description (HTML)
descriptionTextstringJSON-LDFull description (plain text, tags stripped)
detailFetchedbooleanTrue if detail page was fetched

Cost estimate

ModeCost per 1k resultsNotes
Listing-only (fetchDetails: false)~$0.10~4 requests per 100 jobs
Full (fetchDetails: true)~$0.50–0.80~104 requests per 100 jobs

No proxy cost — datacenter IPs work without restrictions.

Pricing: $1.49 per 1,000 results (~87% margin at median run cost)


Technical notes

Architecture

  • List pages: GET /search/?keywords=&pageSize=25&startIndex=N → Cheerio HTML parsing
  • Detail pages: GET /job/{id}/{slug}<script type="application/ld+json"> JSON-LD extraction
  • Pagination: offset-based, startIndex increments by pageSize

Why not REST/GraphQL?

No public API found. The JS bundle only contains internal Vue component endpoints. No Algolia, no __NEXT_DATA__, no GraphQL. Detail-page JSON-LD provides equivalent structured richness with zero API-fragility risk.

Robots.txt compliance

Only /job/feedback/ and /enhanced/fp/ are disallowed. All search and job detail paths are permitted.

Rate limiting

Polite delays built in: 300ms between list pages, 200ms between detail batches. No observed rate limiting at concurrency=5.