Reed.co.uk Jobs Scraper avatar

Reed.co.uk Jobs Scraper

Pricing

from $0.70 / 1,000 job-details

Go to Apify Store
Reed.co.uk Jobs Scraper

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

BonCross API

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 days ago

Last modified

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 periodSalary text, OTE and pro-rata flags
📄 Full descriptionSearch snippet
Contract type🕒 Hours, full-time or part-time
🏡 Remote flagSector and sub-sector
Skills and Reed taxonomy🎓 Graduate flag
🛂 UK eligibility requirementAgency or direct employer
Easy Apply flag🔗 Job URL and job id
🧑 Recruiter name and referenceLive or suspended status
Salary as a yearly figure, whatever the periodPromoted 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.

  1. Sign up for Apify (it's free) and open Reed.co.uk Jobs Scraper.
  2. Type your keywords and a location. If you've already set a search up on Reed, paste its URL and skip the next step.
  3. Narrow it with the date window, salary bounds and whichever of Reed's filters you need.
  4. 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
}
FieldNotes
keywords, location, locations, proximitySearch terms and where to search, with a radius in miles.
startUrlsReed search URLs, with their filters preserved.
datePosted, sortByToday, last three days, last week, last two weeks or any; sorted by date or relevance.
minSalary, maxSalary, hideJobsWithoutSalarySalary bounds, applied by Reed.
contractTypes, hours, workingOption, employerTypes, sectorsReed's own filters for contract, hours, remote or hybrid, employer type and sector.
graduate, easyApply, earlyBird, visaSponsorshipReed's flags for graduate schemes, Easy Apply, early applications and sponsorship.
hideTrainingJobs, hideSurveyJobsBoth on by default.
titleInclude, titleExclude, companyExcludeFree filters applied before any job page is fetched.
excludeAgencies, remoteOnly, descriptionInclude, descriptionExclude, skillsIncludeFilters applied after the job page is fetched.
maxResultsPerSearch, maxItemsThe per-search cap and the run-wide cap.
fetchDetails, maxNewJobs, dedupStoreNameDetail fetching, a cap on jobs returned, and the only-new store.
maxConcurrency, delayMsHow many requests run at once, and an optional pause before each one (0 by default).

For developers

  • maxResultsPerSearch is the per-search limit and maxItems the run-wide one. maxItems counts 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, titleExclude and companyExclude run before any job page is fetched. A job they drop costs the scan rate only. excludeAgencies, remoteOnly and 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.
  • dedupStoreName names 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 fetchDetails to false. Those rows bill as job-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:

ColumnMeaning
salaryMinPerAnnum, salaryMaxPerAnnumReed's own yearly equivalent of the salary, whatever its period (hourly, daily, weekly, monthly), so jobs compare like for like
descriptionHtmlThe full advert as HTML, beside the plain-text description
isPromotedA job Reed shows as promoted in the results
isReedRecruitmentA job advertised by Reed's own recruitment agency
isTrainingJobA training course listed as a job (dropped by default)
workingOptiononSite, hybrid or remote, as Reed classes the job
snippetThe short extract Reed shows in its search results
detailErrorPresent only when a job page could not be read; the row then carries the listing fields alone
searchKeywords, searchUrlThe search that found the job

How fast is it, and how many jobs can you get?

RunResult
One keyword ("administrator"), London, last week, up to 25 jobs25 jobs, all with full details, in about 3 seconds
Three keywords ("administrator", "accountant", "software developer"), London, last week, up to 100 jobs each294 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 each363 jobs, all with full details, in about 10 seconds
Eight keywords, London, last week, up to 250 jobs each1,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?

EventFree planStarterScaleBusiness
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 detailError note, and billed as job-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.

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

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.