Pricing
$1.49 / 1,000 result scrapeds
Jobs.ac.uk Job Scraper
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
Actor stats
1
Bookmarked
13
Total users
6
Monthly active users
3 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)
Examples
Search by keyword
{"keyword":"developer","maxItems":50}
With location filter
{"keyword":"developer","location":"London","maxItems":100}
Recent listings โ last 7 days
{"keyword":"manager","daysOld":7,"maxItems":100}
Daily incremental feed
{"keyword":"developer","daysOld":1,"skipReposts":true,"maxItems":500}
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.
Related scrapers
Other scrapers in our Jobs โ UK & Ireland collection:
- CV-Library Scraper
- NHS Jobs Scraper
- Reed.co.uk Scraper
- Totaljobs Job Scraper โ Search & Extract UK Job Listings
- TotallyLegal Jobs Scraper
Run it on a schedule
This actor is built for repeat use. Set it to run daily, weekly, or hourly, and the data keeps flowing without you touching it.
- Schedule runs โ open the actor, go to Schedules, and pick a cadence. Each run only charges you for the results it returns.
- Connect it to your stack โ push results straight to Google Sheets, Slack, a webhook, or your database using Apify Integrations. No glue code needed.
- Pull results via API โ every run writes a clean dataset you can fetch with one API call, ready for whatever you build on top of it.
Set it once and it runs on its own.
Need a custom scraper?
Unfenced Group builds Apify actors for any website โ for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results โ we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl
