Reed.co.uk Jobs Scraper
Pricing
from $0.70 / 1,000 job-details
Reed.co.uk Jobs Scraper
Scrape Reed.co.uk jobs by keyword and location with Reed's own filters: salary, contract, hours, remote, sector, agency or employer, graduate and visa. Get full descriptions, salary breakdown, postcode, skills, posting and expiry dates and recruiter details, or only new jobs. $1.00 per 1,000 jobs.
Pricing
from $0.70 / 1,000 job-details
Rating
0.0
(0)
Developer
BonCross API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Share
What is Reed.co.uk Jobs Scraper?
Reed.co.uk is one of the largest UK job boards, and Reed.co.uk Jobs Scraper gets you its postings whole: more than 50 fields per job, with the salary as numbers you can sort on and the date the advert expires. You search by keyword and location using the filters Reed itself offers. There's no Reed account or API key to arrange.
Why pick this one:
- It's quick. 1,409 jobs with full details took about 52 seconds, and big runs settle at about 1,600 jobs a minute.
- Reed does the filtering. Salary, contract, hours, sector and the rest go to Reed, and a job Reed filters out never costs you a page.
- A scheduled run can return just the postings added since last time. Jobs you've already had cost $0.00005 each to skip.
- Salaries compare like for like. You get minimum, maximum, period and currency, plus Reed's yearly equivalent for hourly, daily, weekly and monthly pay.
- $1.00 per 1,000 jobs with full details on the Free plan, $0.70 on Business. A daily monitor across three cities comes to about $0.037 a run.
BonCross Verified means we tested this actor against the live site before release and kept the record:
- 37 of 37 live checks on its inputs and filters passed on 7 October 2026
- 7 searches run the same day across Glasgow, Cardiff, Truro and Belfast: 99 jobs, none empty
- 8 of 8 sampled adverts matched Reed's own pages, text and link
- Charges checked against the 99 rows
The rest of what it does, briefly:
- Extract job title, company, location, full description and posting date
- Get the expiry date and drop a stale posting from your feed on the day it lapses
- Keep Reed's original salary wording next to the parsed numbers
- Apply Reed's filters for remote working, graduate roles and visa sponsorship as well
- Separate direct employers from recruitment agencies
- Get the postcode, town, county and region for each job
- Search several locations in one run
- Take it out as JSON, CSV, Excel, XML or HTML
What can you use it for?
Most people who scrape Reed are doing one of these:
- Feeding a UK job board or aggregator with fresh postings and their expiry dates
- Benchmarking salaries by sector, region and contract type from the parsed numbers
- Watching a role and location daily, with an alert only when something new appears
- Telling direct employers from agencies for recruitment intelligence
- Tracking which sectors and skills are hiring in a region
- Building graduate scheme and visa-sponsorship lists
- Enriching a CRM with recruiter names and references
- Running a personal job search with tight title and salary filters
What data can you extract?
| 💼 Job title | 🏢 Company name, profile URL and logo |
| 📍 Location, town, county and region | 📮 Postcode |
| 📅 Posting date and last update | ⏳ Expiry date |
| 💷 Salary minimum, maximum and period | Salary text, OTE and pro-rata flags |
| 📄 Full description | Search snippet |
| Contract type | 🕒 Hours, full-time or part-time |
| 🏡 Remote flag | Sector and sub-sector |
| Skills and Reed taxonomy | 🎓 Graduate flag |
| 🛂 UK eligibility requirement | Agency or direct employer |
| Easy Apply flag | 🔗 Job URL and job id |
| 🧑 Recruiter name and reference | Live or suspended status |
| Salary as a yearly figure, whatever the period | Promoted and Reed Recruitment flags |
How to scrape Reed jobs
If you can run a search on Reed, you can run this. It's a form, and the result is a spreadsheet.
- Sign up for Apify (it's free) and open Reed.co.uk Jobs Scraper.
- Type your keywords and a location. If you've already set a search up on Reed, paste its URL and skip the next step.
- Narrow it with the date window, salary bounds and whichever of Reed's filters you need.
- Press Start. When the run finishes, download the jobs as Excel or CSV, or as JSON, XML or HTML.
⬇️ Input
Give it keywords and a location, or the URL of a Reed search. That's enough to run.
Left alone, it fetches the full details of each job, looks back three days, and hides training courses and surveys that Reed lists as jobs. Change any of those in the form.
You have two limits. "Max results per search" (25 to 5,000, default 100) applies to each keyword, location or URL separately: ten targets at 50 each scans 500. "Maximum results for the whole run" caps the jobs you're charged for across the run, and 0 means no cap. Nothing past it is charged for.
Today's jobs for two keywords in London
{"keywords": ["paralegal", "legal administrator"],"location": "London","proximity": 10,"datePosted": "today","maxResultsPerSearch": 100}
Salary band, contract type, hybrid, direct employers only
{"keywords": ["compliance analyst"],"location": "Manchester","datePosted": "lastWeek","minSalary": 35000,"maxSalary": 55000,"hideJobsWithoutSalary": true,"contractTypes": ["Permanent"],"workingOption": "hybrid","employerTypes": ["direct"],"sectors": ["Financial Services"]}
A daily monitor across three cities, agencies excluded
{"keywords": ["administrator", "office coordinator"],"locations": ["London", "Reading", "Bristol"],"datePosted": "today","dedupStoreName": "reed-admin-seen","titleExclude": ["sales", "recruitment consultant"],"excludeAgencies": true}
A pasted Reed search URL
{"startUrls": [{ "url": "https://www.reed.co.uk/jobs/graduate-jobs-in-london?salaryFrom=28000&graduate=True&dateCreatedOffSet=LastWeek" }],"maxResultsPerSearch": 200}
| Field | Notes |
|---|---|
keywords, location, locations, proximity | Search terms and where to search, with a radius in miles. |
startUrls | Reed search URLs, with their filters preserved. |
datePosted, sortBy | Today, last three days, last week, last two weeks or any; sorted by date or relevance. |
minSalary, maxSalary, hideJobsWithoutSalary | Salary bounds, applied by Reed. |
contractTypes, hours, workingOption, employerTypes, sectors | Reed's own filters for contract, hours, remote or hybrid, employer type and sector. |
graduate, easyApply, earlyBird, visaSponsorship | Reed's flags for graduate schemes, Easy Apply, early applications and sponsorship. |
hideTrainingJobs, hideSurveyJobs | Both on by default. |
titleInclude, titleExclude, companyExclude | Free filters applied before any job page is fetched. |
excludeAgencies, remoteOnly, descriptionInclude, descriptionExclude, skillsInclude | Filters applied after the job page is fetched. |
maxResultsPerSearch, maxItems | The per-search cap and the run-wide cap. |
fetchDetails, maxNewJobs, dedupStoreName | Detail fetching, a cap on jobs returned, and the only-new store. |
maxConcurrency, delayMs | How many requests run at once, and an optional pause before each one (0 by default). |
For developers
maxResultsPerSearchis the per-search limit andmaxItemsthe run-wide one.maxItemscounts each job charged, including one whose page was fetched and then dropped by a post-fetch filter, which is why a run can return slightly fewer rows than the cap.titleInclude,titleExcludeandcompanyExcluderun before any job page is fetched. A job they drop costs the scan rate only.excludeAgencies,remoteOnlyand the description and skills filters run after the fetch, and a fetched page is charged as a detail even if one of them drops the job.dedupStoreNamenames the store that remembers what you've had. Each run returns only postings it hasn't returned before, and the ones it has seen cost the scan rate.- If you only need the listing fields, set
fetchDetailsto false. Those rows bill asjob-listed, a fifth of the detail price. maxConcurrency(default 8, from 1 to 32) is how many requests run at once.delayMs(default 0, up to 2,000) adds a pause before each request. We'd leave both alone.- If Apify moves a run to another server part-way through, it carries on where it stopped. No job is returned or charged twice.
- Rows arrive in search order. Two runs of the same input read top to bottom the same way.
⬆️ Output
One record per job, which you can view as a table or as JSON in the Output tab.
{"id": "57315414","url": "https://www.reed.co.uk/jobs/residential-property-paralegal/57315414","title": "Residential Property Paralegal","company": "Brandon James Ltd","companyUrl": "https://www.reed.co.uk/jobs/brandon-james-ltd","companyLogo": "https://resources.reed.co.uk/profileimages/logos/thumbs/Logo_27871.png","location": "London","county": "London","postedAt": "2026-09-07","updatedAt": "2026-09-07","closingAt": "2026-10-19","salaryMin": 30000,"salaryMax": 35000,"salaryPeriod": "annual","salaryCurrency": "GBP","salaryText": "£ 30,000 - £ 35,000 per annum","salaryIsOte": false,"salaryIsProRata": false,"salaryIsNegotiable": false,"isFullTime": true,"isPartTime": false,"isEasyApply": true,"contractType": "Permanent","hours": "Full-time","isRemote": false,"workingOption": "onSite","sector": "Legal","subSector": "Paralegal","town": "London","region": "South East England","postcode": "WC2R","country": "United Kingdom","isAgency": true,"isEmployer": false,"isGraduate": false,"requiresUkEligibility": false,"skills": ["Paralegal | Law | Legal"],"taxonomy": "Occupation/KD: Legal/Paralegal/Property Paralegal/Home Property Paralegal","snippet": "A well established law firm is seeking a Residential Property Paralegal…","description": "A well established law firm is seeking a Residential Property Paralegal to join its London conveyancing team…","recruiterName": "Brandon James Ltd","recruiterReference": "22414CVAL","isLive": true,"isSuspended": false,"scrapedAt": "2026-09-07T22:17:15.453Z"}
Download the dataset as JSON, CSV, Excel, XML or HTML. You can pick or omit fields before you export.
Some columns aren't in that example, or need a word of explanation:
| Column | Meaning |
|---|---|
salaryMinPerAnnum, salaryMaxPerAnnum | Reed's own yearly equivalent of the salary, whatever its period (hourly, daily, weekly, monthly), so jobs compare like for like |
descriptionHtml | The full advert as HTML, beside the plain-text description |
isPromoted | A job Reed shows as promoted in the results |
isReedRecruitment | A job advertised by Reed's own recruitment agency |
isTrainingJob | A training course listed as a job (dropped by default) |
workingOption | onSite, hybrid or remote, as Reed classes the job |
snippet | The short extract Reed shows in its search results |
detailError | Present only when a job page could not be read; the row then carries the listing fields alone |
searchKeywords, searchUrl | The search that found the job |
How fast is it, and how many jobs can you get?
| Run | Result |
|---|---|
| One keyword ("administrator"), London, last week, up to 25 jobs | 25 jobs, all with full details, in about 3 seconds |
| Three keywords ("administrator", "accountant", "software developer"), London, last week, up to 100 jobs each | 294 jobs (jobs listed under two keywords appear once), all with full details, in about 14 seconds |
| Four keywords, London, last week, up to 100 jobs each | 363 jobs, all with full details, in about 10 seconds |
| Eight keywords, London, last week, up to 250 jobs each | 1,409 jobs (jobs listed under two keywords appear once), all with full details, in about 52 seconds |
These are whole runs on Apify, measured on 4 October 2026. Small runs finish in a few seconds, and larger ones settle at about 1,600 jobs a minute.
Reed paginates its search, and a broad keyword and location can return thousands. Your per-search cap decides how deep each search goes, and you can cover several locations in one go.
How much does it cost to scrape Reed?
| Event | Free plan | Starter | Scale | Business |
|---|---|---|---|---|
actor-start, per run | $0.002 | $0.002 | $0.002 | $0.002 |
job-scanned, per search result seen, before dedup and filters | $0.00005 | $0.00005 | $0.00005 | $0.00005 |
job-detail, per job returned with details | $0.001 | $0.0009 | $0.0008 | $0.0007 |
job-listed, per job returned without details | $0.0002 | $0.00018 | $0.00016 | $0.00014 |
Enterprise plans pay the Business price.
$1.00 per 1,000 jobs with full details on the Free plan, $0.70 on Business. That's the whole price, with proxy usage and platform usage included.
What decides your bill is how many job pages get fetched. Jobs removed by deduplication, the only-new store or the title and company filters cost the scan rate only. A job whose page was fetched is charged as a detail, even if a post-fetch filter then drops it.
- A run that scans 100 results and returns 82 jobs with details: $0.002 + 100 × $0.00005 + 82 × $0.001 = $0.089 ($0.064 on Business).
- A daily monitor across three cities that scans 300 results and finds 20 new jobs: $0.002 + 300 × $0.00005 + 20 × $0.001 = $0.037 ($0.031 on Business).
Apify's Free plan includes $5 of usage credits a month. At the size of the first example that's 56 runs, or about 4,600 jobs with full details, before you pay anything.
Run it daily, or from your own code
The daily monitor is the setup we'd recommend. Create an Apify Schedule, give dedupStoreName a name, and each run reports only the new postings. A webhook can fire when a run finishes, and the results can go on to Slack, Google Sheets, Google Drive, Zapier, Make, Airbyte or GitHub through Apify's integrations.
From code, POST https://api.apify.com/v2/acts/boncross~reed-jobs-scraper/run-sync-get-dataset-items with the input JSON as the body returns the jobs in a single call for short runs. The standard run endpoints handle longer ones. There's an apify-client package on NPM for Node.js and one on PyPI for Python.
An AI agent can use it too. Add the Apify MCP server (mcp.apify.com) to any MCP-capable client and the actor shows up as a tool under its own name. You could then ask for today's permanent roles above a salary threshold and have them summarised.
FAQ
Do I need proxies, a Reed account or an API key?
None of the three. The actor reads Reed's public job search, and there's no login or key to manage. Proxy usage is included in the price, with nothing to set up.
How do I get only the new jobs each day?
Name an only-new store ("Only new jobs" in the form) and schedule the run. Each run then returns only postings it hasn't returned before, and the jobs it has already seen cost just the scan rate.
Which filters save me money?
The ones Reed applies: salary, contract type, hours, remote or hybrid, employer type, sector, graduate, Easy Apply, early bird and visa sponsorship. Reed drops those jobs before you ever pay for a page. Title and company filters are nearly as cheap, because they run before the page is fetched. Description, skills, agency and remote-only filters need the page first, and you pay for it.
Can I paste a search I've already set up on Reed?
Put its URL in Start URLs. The filters inside the URL are kept.
Can I compare an hourly rate with a yearly salary?
That's what the per-annum columns are for. salaryMin, salaryMax, salaryPeriod and salaryCurrency are parsed from the advert, the yearly equivalents sit beside them, and Reed's original wording is kept in salaryText.
Can I tell agencies from direct employers?
Each job has isAgency and isEmployer. If you don't want agency postings at all, switch on "Exclude recruitment agencies".
Why does a description end in "..."?
Reed truncates a few very long adverts on its own site, about 2 in 25 in one sample. You get those descriptions exactly as Reed publishes them.
What are the limits?
- Coordinates and Reed's listing badges aren't returned. Town, county, region and postcode are.
- A job page that keeps failing after retries is returned listing-only, with a
detailErrornote, and billed asjob-listed. The rest of the run is unaffected. - Most recent order follows Reed's posting or refresh time, which rows show only to the day. A job refreshed recently can sit among newer postings.
- A run can return slightly fewer rows than your run-wide cap, because the cap counts each job charged, including one fetched and then dropped by a filter.
- Reed's own API is open to registered recruiters with a key and covers a different, smaller set of fields. This actor reads the public site.
Is scraping Reed legal?
The actor reads only job postings Reed serves to any logged-out visitor. Web scraping of publicly available data is generally legal, but you're responsible for complying with Reed's terms and applicable law in how you use the data.
More from BonCross
- UK Government & NHS Jobs Scraper: NHS Jobs, Civil Service Jobs (every department) and Ministry of Justice vacancies in…
- Workday Jobs Scraper: Every open job from a Workday careers board.
- Ashby Jobs Scraper: Every open job on an Ashby careers board.
- ATS Jobs Scraper: Jobs from any company careers page.
- CharityJob Scraper: UK charity and non-profit jobs from CharityJob.
- Glassdoor Job Scraper: Glassdoor job listings for a role and location.
Your feedback
Is there something on Reed we're not picking up, or a job that looks wrong? Raise it on the Issues tab in Apify Console. BonCross reads each issue, and fixes ship as new builds of this actor.