Jobs.ac.uk Job Scraper
Under maintenancePricing
$1.49 / 1,000 result scrapeds
Jobs.ac.uk Job Scraper
Under maintenanceScrapes 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
Maintained by CommunityActor 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
| Field | Type | Default | Description |
|---|---|---|---|
keywords | string | "" | Job title, skills, or keywords |
location | string | "" | City or region (e.g. London, Cambridge) |
distance | string | "" | Radius in miles from location (0, 5, 10, 20, 50) |
discipline | string | "" | Academic discipline slug (e.g. computer-science, biology) |
jobType | string | "" | Filter: academic, research, professional, technical |
employer | string | "" | Filter by employer name |
maxJobs | integer | 0 | Max results (0 = unlimited) |
fetchDetails | boolean | true | Fetch detail pages for rich JSON-LD data |
pageSize | integer | 25 | Results per search page (max 25) |
concurrency | integer | 5 | Parallel detail page requests |
Output fields
| Field | Type | Source | Description |
|---|---|---|---|
advertId | string | list | Unique numeric advert ID |
title | string | list + JSON-LD | Job title |
url | string | list | Full URL to job posting |
department | string | list | Department or faculty |
employer | string | JSON-LD | Hiring organisation name |
employerUrl | string | JSON-LD | Employer website |
location | string | list | Location text (raw) |
locationCity | string | JSON-LD | Structured city/locality |
locationCountry | string | JSON-LD | Country code (e.g. GB) |
isRemote | boolean | JSON-LD | True if explicitly remote |
jobLocationType | string | JSON-LD | TELECOMMUTE or null |
salaryRaw | string | list | Raw salary text (e.g. £40,000 to £45,000) |
salaryMin | number | JSON-LD | Minimum salary (numeric) |
salaryMax | number | JSON-LD | Maximum salary (numeric) |
salaryCurrency | string | JSON-LD | Currency code (e.g. GBP) |
salaryUnit | string | JSON-LD | Pay period (YEAR, MONTH, HOUR) |
datePlaced | string | list | Posting date (card, partial: DD Mon) |
datePosted | string | JSON-LD | ISO posting date (YYYY-MM-DD) |
closingDate | string | list | Closing date (card, partial: DD Mon) |
validThrough | string | JSON-LD | ISO closing datetime |
employmentType | array | JSON-LD | Schema.org type(s) (FULL_TIME, PART_TIME, etc.) |
description | string | JSON-LD | Full job description (HTML) |
descriptionText | string | JSON-LD | Full description (plain text, tags stripped) |
detailFetched | boolean | — | True if detail page was fetched |
Cost estimate
| Mode | Cost per 1k results | Notes |
|---|---|---|
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,
startIndexincrements bypageSize
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.