Reed.co.uk Scraper | Jobs, Companies, Courses & Reviews
Pricing
from $1.50 / 1,000 results
Reed.co.uk Scraper | Jobs, Companies, Courses & Reviews
Scrape Reed.co.uk jobs, companies, courses, and reviews. Search by keyword, location, filters, or URLs. Extract 80+ job fields including salary, company, GPS location, sector, contract type, skills, full description, postcode, company profile, course details, and review data.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
Reed.co.uk Jobs Scraper
Extract structured job data from Reed.co.uk, the UK's largest job board, at scale. Search by keyword, location, salary, distance, job type and more, or paste any Reed search or job URL. Every job comes back as a flat record with 80+ fields: salary breakdown, company, location with GPS coordinates, sector, contract type, skills, and posting dates. Turn on full details to also pull the complete job description, region/county/postcode, company profile, and screening questions.
Why this scraper
- 80+ fields per job, rising to 125+ when full details are enabled, far more than typical Reed scrapers return.
- GPS coordinates on every job resolved from the job location, so you can map and geo-filter results out of the box.
- Runs on datacenter connections by default, the cheapest tier, so a 1,000-job run costs a fraction of residential-only scrapers. Residential is used automatically as a fallback only when needed.
- Three things to scrape: jobs (by filters or pasted URLs), company profiles, and training courses with reviews.
- Full filter grammar: keyword, location, distance, salary range, posted-within, sort, job type (permanent/temporary/contract/full-time/part-time), posted-by (agency/employer), graduate, easy-apply, visa-sponsorship, early-bird.
- Fast and lightweight: no browser, low memory, concurrent detail enrichment.
- Optional export to your apps via MCP connectors (Notion, Linear, Airtable, Apify).
- Walks the whole catalogue by default.
maxPagesdefaults to0(unlimited): the run walks every result page per search/URL, stopping on its own once Reed's reported page count is reached, a page comes back empty, or a page repeats jobs already seen this walk.maxListingsis the sole cap on volume. - Resumable runs. Set
resumeFromRunIdto a previous run or dataset id to collect only jobs that run doesn't already have (a delta). Long runs also checkpoint their progress, so a platform migration or a Resurrect of a failed run picks up where it left off instead of starting over.
Data you get
Sample shape, values are illustrative placeholders, not from a live listing.
| Field | Example |
|---|---|
jobId | 00000001 |
title | Data Engineer |
url | https://www.reed.co.uk/jobs/data-engineer/00000001 |
companyName | Sample Company |
logoImage | https://resources.reed.co.uk/profileimages/logos/Logo_0000.png |
location | London |
latitude | 51.5074 |
longitude | -0.1278 |
displaySalary | £45,000 - £55,000 per annum |
salaryFrom | 45000 |
salaryTo | 55000 |
salaryCurrencyId | 1 |
salaryType | 5 |
remoteWorkingOption | On-Site |
jobType | 1 |
isFullTime | true |
isPartTime | false |
postedOn | 2026-01-01T00:00:00.000Z |
expiryOn | 2026-01-01T00:00:00.000Z |
statuses | ["Featured", "Easy Apply"] |
contractType | Permanent |
sectorName | IT & Telecoms |
region | South East England |
county | London |
postCode | EC1A |
description | Full job description text appears here when fetchDetails is on. |
companyProfileId | 0000 |
Plus salary-per-annum breakdown, parent sector, taxonomy, breadcrumbs, job-owner profile (id, url, logo, banner), screening questions, and the raw source objects (rawListData, rawDetailData).
How to use
There are three things to scrape, chosen with mode: jobs, company, or course.
Jobs by keyword search in one city (leave Job URLs empty to search by filters):
{"mode": "jobs","keywords": "data engineer","locations": ["london"],"maxListings": 20}
Jobs with filters (salary, distance, recent, newest first):
{"mode": "jobs","keywords": "software developer","locations": ["manchester"],"salaryFrom": 50000,"proximity": 20,"postedDate": "last7days","sortBy": "date","permanent": true,"fetchDetails": true,"maxListings": 100}
Jobs by pasting URLs (when Job URLs are set, the filters are ignored):
{"mode": "jobs","urls": ["https://www.reed.co.uk/jobs/accountant-jobs-in-bristol","https://www.reed.co.uk/jobs/marketing-jobs-in-london?sortby=displayDate"],"maxPages": 3,"maxListings": 200}
In Jobs mode you choose URLs vs search automatically: paste Job URLs to scrape them directly, or leave Job URLs empty and the actor builds the search from your keyword, location, and filters.
Resuming a previous run (only the jobs you don't already have):
{"mode": "jobs","keywords": "data engineer","locations": ["london"],"maxListings": 0,"resumeFromRunId": "<a previous run id or dataset id from this account>"}
Company mode (scrape company profiles by URL or slug):
{"mode": "company","companies": ["https://www.reed.co.uk/company-profile/Marshall-Wolfe-63256","Marshall-Wolfe-63256"],"maxListings": 50}
In company mode each entry returns one record with the company sector, employee-count range, website, benefits, articles, external links, total open jobs, and a list of recent jobs (each with salary and GPS). Company slugs are case-sensitive.
Course mode (scrape training courses and their reviews):
{"mode": "course","courseQueries": ["python", "project management"],"courseUrls": ["https://www.reed.co.uk/courses/c/271655"],"fetchReviews": true,"maxReviewsPerCourse": 0,"reviewsSort": "MostRecent","maxListings": 50}
In course mode each course is returned as one record (title, provider, price, rating, study method, qualification, format, description). When fetchReviews is on, every review is returned as its own record (overall and per-category ratings, text, reviewer, date, and any provider response). courseQueries searches Reed Courses by keyword; courseUrls accepts course URLs or bare course IDs.
Send results into your apps (MCP connectors)
Optionally pipe each job into the apps you already use, with no change to the dataset output:
- Authorize a connector under Apify, Settings, API & Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the
mcpConnectorsinput. For Notion, also setnotionParentPageUrl. - Run the actor. Each job is written as a condensed, human-readable summary (title plus key fields); the complete record always stays in the Apify dataset.
Leave mcpConnectors empty to skip this entirely.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | jobs | jobs = job listings (filters or pasted URLs); company = company profiles; course = courses + reviews. |
keywords | string | (empty) | Job search terms (jobs mode, when no Job URLs are pasted). |
locations | array | (empty) | UK cities or regions; one search per location (jobs mode). |
proximity | integer | 10 | Search radius in miles (0, 1, 3, 5, 10, 15, 20, 30, 50). |
salaryFrom | integer | (none) | Minimum salary per annum. |
salaryTo | integer | (none) | Maximum salary per annum. |
postedDate | string | anytime | anytime, today, last3days, last7days, last14days. |
sortBy | string | relevance | relevance or date (newest first). |
fullTime, partTime, permanent, temporary, contract | boolean | false | Job-type filters. |
agency, direct | boolean | false | Posted by agency / employer. |
graduate, easyApply, visaSponsorship, earlyBird | boolean | false | Extra filters. |
urls | array | (empty) | Reed job-search or job URLs (jobs mode; if set, filters are ignored). |
companies | array | (empty) | Reed company-profile URLs or slugs (company mode). |
courseQueries | array | (empty) | Course search keywords (course mode). |
courseUrls | array | (empty) | Course URLs or IDs (course mode). |
fetchReviews | boolean | true | Return course reviews as separate records (course mode). |
maxReviewsPerCourse | integer | 0 | Cap reviews per course; 0 = all (course mode). |
reviewsSort | string | MostRecent | Review order: MostRecent, RatingDesc, RatingAsc. |
fetchDetails | boolean | true | Enrich each job from its detail page. |
maxListings | integer | 20 | The result cap. The run stops at this many unique jobs. Set 0 for unlimited. |
maxPages | integer | 0 | Optional safety limit on result pages walked per search. Leave at 0 (default) to walk the whole catalogue: the run stops at Max results, the site's own last page, or a repeat-page guard, not an artificial page cap. |
maxResidentialRequests | integer | 0 | Optional residential exit budget (cost control); 0 = unlimited. |
resumeFromRunId | string | (empty) | Jobs mode only. ID of a previous run (or dataset) of this actor. Jobs already in that dataset are skipped, so this run returns only NEW jobs (a delta). |
proxy | object | Apify datacenter | Proxy configuration. |
maxListings is the single cap. maxPages is only an optional safety bound (0 = unlimited) and does not limit below maxListings. Progress is checkpointed automatically, so a run interrupted by a platform migration or restarted via Resurrect picks up where it left off instead of re-collecting and re-charging already-pushed jobs.
Output example
Sample shape, values are illustrative placeholders, not from a live listing.
{"id": 1,"jobId": 1,"url": "https://www.reed.co.uk/jobs/data-engineer/00000001","title": "Data Engineer","companyName": "Sample Company","logoImage": "https://resources.reed.co.uk/profileimages/logos/Logo_0000.png","description": "Full job description text appears here when fetchDetails is on.","skills": [],"statuses": ["Featured", "Easy Apply"],"location": "London","latitude": 51.5074,"longitude": -0.1278,"remoteWorkingOption": "On-Site","displaySalary": "£45,000 - £55,000 per annum","salaryFrom": 45000,"salaryTo": 55000,"salaryCurrencyId": 1,"salaryType": 5,"salaryTypeName": "per annum","jobType": 1,"isFullTime": true,"isPartTime": false,"postedOn": "2026-01-01T00:00:00.000Z","expiryOn": "2026-01-01T00:00:00.000Z","contractType": "Permanent","sectorName": "Other IT & Telecoms","parentSectorName": "IT & Telecoms","region": "South East England","county": "London","country": "United Kingdom","countryCode": "GB","postCode": "EC1A","companyProfileId": 0,"companyProfileUrl": "Sample-Company-0000","isEasyApply": true,"isExternal": false,"detailFetched": true}
Plan requirement
This actor runs on Apify datacenter connections by default, which works for Reed and is available on the free plan. For very large runs or under heavy load, an Apify Residential proxy (Starter plan or higher) is more reliable; the actor escalates to it automatically when datacenter results thin out. Set proxy.apifyProxyGroups: ["RESIDENTIAL"] with apifyProxyCountry: "GB" to force residential.