Reed.co.uk Jobs Scraper - UK Jobs, Salaries & Recruiters API avatar

Reed.co.uk Jobs Scraper - UK Jobs, Salaries & Recruiters API

Pricing

$0.50 / 1,000 results

Go to Apify Store
Reed.co.uk Jobs Scraper - UK Jobs, Salaries & Recruiters API

Reed.co.uk Jobs Scraper - UK Jobs, Salaries & Recruiters API

Use this to get UK job ads from Reed.co.uk. Input: keywords, locations, filters or Reed URLs. One result = one job: title, company, agency or employer, location, salary (parsed), contract type, remote/hybrid, date, URL; optional full description, skills and company profile. $0.50 per 1,000.

Pricing

$0.50 / 1,000 results

Rating

0.0

(0)

Developer

Giovanni Rich

Giovanni Rich

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Categories

Security

Limited permissions

Share

Reed Jobs Scraper & API - UK job ads from Reed.co.uk (salaries, agencies, employers)

Reed Jobs Scraper is a Reed.co.uk scraper and unofficial Reed jobs API for UK jobs. Give it keywords, UK locations and filters (or paste Reed search, job, agency or company URLs) and get every matching job ad as clean JSON, CSV or Excel: title, company, whether a recruitment agency or the employer posted it, location, salary (as Reed shows it and as numbers with the period), permanent / contract / temporary, full-time / part-time, remote / hybrid / on-site, posted and expiry dates, the job URL and, if you want it, the full description, the skills list, sector, postcode district and the company profile (website, size, industry, LinkedIn).

It reads the same data the Reed website puts in its own pages, over plain HTTP: no browser, no login and no Reed API key, up to 100 jobs per request. Reed returns at most 10,000 jobs for any one search; this scraper splits big searches automatically by sector, contract type, agency / employer, workplace and hours, and merges the results without duplicates. In testing, driver (22,289 listed) returned 22,188 jobs in under 3 minutes, and a search for every job on Reed (102,299 listed) returned 102,145 in about 6 minutes.

Use it for UK recruitment and staffing lead generation (which employers are hiring accountants in Manchester this week, which agencies are flooding a sector), job boards and aggregators, UK salary and day-rate benchmarking, and labour-market research.

How to use

  1. Type one or more Search keywords (software developer, accountant, care assistant, HGV driver) and, optionally, Locations (London, Manchester, Kent, SW1A 1AA). Every keyword is searched in every location. No keyword = all jobs matching your location and filters.
  2. Optionally filter: Distance, Minimum / maximum salary, Contract types (permanent, temporary, contract), Working hours (full-time, part-time), Remote / hybrid / on-site, Posted by (employer or agency), Sectors, Posted within (days), Graduate jobs only, Easy apply only, Visa sponsorship only and Only jobs that show a salary.
  3. Set Max jobs per search (0 = everything). Tick Include full description & skills and / or Include company profile if you need them.
  4. Click Start. Download the results as JSON, CSV, Excel or HTML from the Output tab, or pull them through the Apify API, Make, Zapier, n8n or an MCP client.

Already have links? Paste Reed search URLs, job URLs, agency / employer job lists or company-profile URLs into Reed URLs instead; the filters in a search URL are read from the URL.

What you get

One dataset item per job ad:

  • Identity: id (Reed job id, stable across runs), title, url.
  • Advertiser: companyName, companyId, companyJobsUrl (all its live jobs), companyLogoUrl, postedBy (Employer, Agency or Other) and isAgency.
  • Where: location, county, workplace (Remote, Hybrid, On-site).
  • Work: contractType (Permanent, Contract, Temporary), fullTime, partTime, easyApply, ukApplicantsOnly, isEarlyBird, isPromoted.
  • Pay: salaryText exactly as Reed shows it ("£650 - £750 per day", "Competitive salary"), plus salaryMin, salaryMax, salaryCurrency, salaryPeriod (hour, day, year) and the flags salaryNegotiable, salaryIncludesBenefits, salaryOte, commissionOnly.
  • Dates: postedAt, createdAt, updatedAt, expiresAt (all UTC).
  • Text and category: summary (the first ~150 characters), category and subcategory from Reed's job taxonomy.
  • Where it came from: sourceQuery, sourceLocation, position, scrapedAt.

With Include full description & skills on, each job also gets description (plain text), optional descriptionHtml, skills, sector, sectorGroup, town, postcodeDistrict, region, country, countryCode, isRemote, locationType, salaryDisplay, salaryAnnualMin / salaryAnnualMax (Reed's yearly equivalent of hourly and daily rates), isGraduate, advertReference (the advertiser's own reference) and companyProfileUrl.

With Include company profile on, each job also gets, from the advertiser's Reed company profile where one exists: companyWebsite, companySize, companyIndustry, companyHeadquarters, companyDescription, companyLinkedIn, companyFacebook, companyX, companyInstagram and companyJobsOnReed. One request per company, not per job.

Use cases

  • Recruitment agency lead generation: an employer that advertises its own accountant jobs (postedBy: ["employer"]) is a company an agency can call. Run daily with Posted within 1 day, add the company profile for the website and LinkedIn, and send new rows to your CRM.
  • Competitor tracking for agencies: postedBy: ["agency"] with a sector and region shows which agencies are advertising what, and companyJobsUrl lists everything one agency has live.
  • Salary and day-rate benchmarking: salaryMin / salaryMax with salaryPeriod, or salaryAnnualMin / salaryAnnualMax with details on, by role, county and contract type.
  • UK job boards and aggregators: pull a keyword, a sector or the whole of Reed into your own feed, deduplicated by id.
  • Labour-market research: demand by sector, remote and hybrid share, agency vs employer share, over time.
  • AI agents: "find hybrid permanent accountant jobs in Manchester paying over £40k posted this week, direct employers only" maps straight onto the input fields.

Input example

FieldDefaultDescription
searchQueries-Keywords, one search each. Empty = all jobs matching the filters
locationswhole UKTown, city, county, country or postcode
distanceMiles100, 1, 3, 5, 10, 15, 20, 30 or 50
salaryMin / salaryMax-Pounds per year (hourly and daily rates are compared by their yearly equivalent)
contractTypesallAny of permanent, temporary, contract
workingHoursbothfulltime and / or parttime
workplaceanyremote, hybrid or onsite
postedBybothemployer and / or agency
sectorsallReed sectors, e.g. IT & Telecoms, Education, Social Care
postedWithinDays0 (any)1 = today, 3, 7, 14, or any number of days
graduateOnly / easyApplyOnly / visaSponsorshipOnlyfalseReed's own flags
salaryShownOnlyfalseHide "Competitive salary" / "Salary negotiable" ads
excludeTrainingCoursestrueLeave out paid training-course ads Reed mixes into results
maxItems100Max jobs per search; 0 = all
deepSearchtrueSplit searches above 10,000 jobs so nothing is cut off
includeDetailsfalseFull description, skills, sector, postcode district (one extra request per job)
includeDescriptionHtmlfalseAlso keep the description HTML
includeCompanyDetailsfalseCompany profile (one extra request per company)
startUrls-Reed search, job, agency-list or company-profile URLs
proxyConfigurationno proxyNot needed; see Limits

Permanent, full-time, hybrid accountant and payroll jobs in Manchester and Leeds paying £30k-£70k, posted in the last two weeks by employers themselves:

{
"searchQueries": ["accountant", "payroll"],
"locations": ["Manchester", "Leeds"],
"distanceMiles": 20,
"salaryMin": 30000,
"salaryMax": 70000,
"contractTypes": ["permanent"],
"workingHours": ["fulltime"],
"workplace": "hybrid",
"postedBy": ["employer"],
"postedWithinDays": 14,
"maxItems": 50
}

Python jobs in London with descriptions and company profiles:

{
"searchQueries": ["python developer"],
"locations": ["London"],
"maxItems": 60,
"includeDetails": true,
"includeCompanyDetails": true
}

Every driver job in the UK, no cap:

{
"searchQueries": ["driver"],
"maxItems": 0
}

From links you copied off the site:

{
"startUrls": [
"https://www.reed.co.uk/jobs/python-developer-jobs-in-london?keywords=python+developer&locationName=London&salaryFrom=60000&perm=true",
"https://www.reed.co.uk/jobs/intec-select-limited/p41618",
"https://www.reed.co.uk/company-profile/Savers-611",
"https://www.reed.co.uk/jobs/python-developers/57418395"
]
}

Output example

From a real run (search for python developer in London, details and company profile on; long texts shortened):

{
"id": "57418395",
"title": "Python Developers",
"url": "https://www.reed.co.uk/jobs/python-developers/57418395",
"companyName": "INTEC SELECT LIMITED",
"companyId": "41618",
"companyJobsUrl": "https://www.reed.co.uk/jobs/intec-select-limited/p41618",
"companyLogoUrl": "https://resources.reed.co.uk/profileimages/logos/thumbs/Logo_41618.png",
"postedBy": "Agency",
"isAgency": true,
"location": "London",
"county": "London",
"workplace": "Hybrid",
"contractType": "Contract",
"fullTime": true,
"partTime": false,
"salaryText": "£650 - £750 per day",
"salaryMin": 650,
"salaryMax": 750,
"salaryCurrency": "GBP",
"salaryPeriod": "day",
"salaryNegotiable": false,
"salaryIncludesBenefits": false,
"salaryOte": false,
"commissionOnly": false,
"postedAt": "2026-10-02T15:58:06.810Z",
"createdAt": "2026-10-02T15:58:06.813Z",
"updatedAt": "2026-10-14T16:02:17.437Z",
"expiresAt": "2026-11-13T23:55:00.000Z",
"category": "Developer",
"subcategory": "Python Developer",
"summary": "Software Developer - Python (Contract) Location: London - Hybrid, 2 days/week on-site Contract: Initial 6 months (view to extend) Rate: 650– 750 pe...",
"easyApply": true,
"isPromoted": false,
"isEarlyBird": false,
"ukApplicantsOnly": false,
"isTrainingCourse": false,
"sourceQuery": "python developer",
"sourceLocation": "London",
"position": 1,
"scrapedAt": "2026-10-15T17:46:13.623Z",
"description": "Software Developer - Python (Contract)\n\nLocation: London - Hybrid, 2 days/week on-site\nContract: Initial 6 months (view to extend)\nRate: £650–£750 per day\n\nOverview\nA global data-d ...",
"skills": ["Algorithm Design and Development", "Amazon Web Services (AWS)", "Back-Related Terms", "Continuous Integration", "Docker Containerization", "Flask (Python Web Framework)", "Python Django Web Development", "Python Programming (Beginner)", "React.js Development", "Serverless Computing"],
"sector": "Software Developer",
"sectorGroup": "IT & Telecoms",
"town": "London",
"postcodeDistrict": "SE1",
"region": "South East England",
"country": "England",
"countryCode": "GB",
"isRemote": false,
"locationType": "Hybrid",
"salaryDisplay": "£ 650.00 - £ 750.00 per day",
"salaryAnnualMin": 169000,
"salaryAnnualMax": 195000,
"isGraduate": false,
"advertReference": "V-132584-2",
"companyProfileUrl": "https://www.reed.co.uk/company-profile/INTEC-SELECT-LIMITED-52454",
"isLive": true,
"companyWebsite": "http://www.intecselect.com",
"companySize": "20–49",
"companyIndustry": "IT & Telecoms",
"companyHeadquarters": "Maidstone, United Kingdom",
"companyDescription": "Intec Select is a leading specialist IT Recruitment Consultancy which delivers bespoke recruitment services to some of the world's leading organisations ...",
"companyLinkedIn": "https://www.linkedin.com/company/intec-select/",
"companyFacebook": "https://www.facebook.com/IntecSelect/",
"companyX": null,
"companyInstagram": "https://www.instagram.com/intecselect/?hl=en",
"companyJobsOnReed": 50
}

Fill rates on a test run over every job on Reed (102,145 jobs): id, title, URL, company, posted by, location, contract type, salary text, dates and summary 100%; county 99%; workplace 97%; category 97%; company logo 95%; salary figures 83% (the rest say "Competitive salary" or "Salary negotiable"); subcategory 77%. On a 201-job cloud run with details and company profiles: description, sector, region and the yearly salary equivalent 98-100%; advertiser reference 74%; postcode district 51%; skills 32% (Reed tags skills on some ads only); company profile link, size, industry and description 77%; company website 68%; LinkedIn 55%. A field Reed does not publish for a job is null, never guessed.

Pricing

Pay per result: $0.50 per 1,000 jobs (one result = one job ad saved to the dataset). The full description, skills and company profile are included in that price.

  • 100 jobs for a quick search = $0.05
  • Every driver job in the UK, about 22,000 jobs = $11
  • A daily run of 10 keywords, new jobs only (about 500 jobs) = $0.25 a day

No start fee and no charge per search. Failed requests, duplicate ads, expired job URLs and empty searches are never charged. If you set a maximum cost per run, the scraper stops cleanly when it reaches it. Apify's free plan includes $5 of monthly platform credit, enough for about 10,000 jobs.

Integrations

  • Apify API: run the actor and fetch results over REST, or with the official Python and JavaScript / Node.js clients.
  • MCP for AI agents: through the Apify MCP server (https://mcp.apify.com), Claude, ChatGPT, Cursor and other agents can call this Reed jobs API directly and read the results. The input fields are described for agents.
  • Make, Zapier and n8n: start runs and push new jobs to your CRM, Slack, Google Sheets or Airtable.
  • Webhooks: get notified when a run finishes and process the data right away.
  • Schedules: run daily with postedWithinDays: 1 and deduplicate by id to collect only new ads.
  • Google Sheets: export the dataset straight into a spreadsheet, or refresh it on a schedule.

Python example:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("rel8ble/reed-jobs-scraper").call(run_input={
"searchQueries": ["accountant"],
"locations": ["Manchester"],
"postedBy": ["employer"],
"postedWithinDays": 7,
"maxItems": 100,
})
for job in client.dataset(run["defaultDatasetId"]).iterate_items():
print(job["title"], "|", job["companyName"], "|", job["salaryText"], "|", job["url"])

Limits (read before large runs)

  • 10,000 jobs per single search is Reed's own limit. Deep search gets around it by splitting: driver (22,289 listed) returned 22,188, and every job on Reed (102,299 listed) returned 102,145. A slice that is still above 10,000 after every split is fetched in Reed's two result orders, and the run summary counts those slices (searchesCappedAt10000). A few dozen jobs per big search sit in a sector Reed's filter cannot select and can be missed.
  • Speed. Reed limits how fast one IP may ask for pages. The scraper connects directly (no proxy) at about 170 requests a minute and pauses for a minute if Reed still says "slow down". Searches return 100 jobs per request, so that is up to about 17,000 jobs a minute; with details it is about 170 jobs a minute.
  • Proxies are not needed. Most Apify datacenter proxy IPs are refused by Reed. A residential proxy (country GB) works but costs extra per GB.
  • Locations: Reed matches the start of a place name, so a vague name can land on a small place ("Scotland" becomes "Scotland Gate", "Wales" becomes "Wales, Sheffield"). The run log and RUN_SUMMARY show the place Reed used (resolvedLocation); use a town, city, county or postcode.
  • Sort order: Reed sorts keyword searches by relevance and searches without a keyword by date; the site has no other sort switch, so neither does this scraper. For "newest jobs", use postedWithinDays.
  • Salary filters work on Reed's yearly equivalent and include ads that hide their figure ("Competitive salary") but fall in the range. salaryMin / salaryMax in the output are null when the ad hides the figure.
  • No personal data. Recruiter names, e-mail addresses and phone numbers are not collected as fields; e-mail addresses and phone numbers written into the ad text are replaced with [email removed] / [phone removed]. Names written inside the free text of an ad can still appear there.

FAQ

Is there an official Reed API? Reed has a developer API that needs a personal key and returns fewer fields. This actor needs no key: it reads the public job pages and returns more fields per job (agency / employer, workplace, salary flags, category, skills, company profile).

How do I get only new jobs every day? Schedule the actor daily with postedWithinDays: 1 and deduplicate on id in your own system.

How do I skip recruitment agencies? Set postedBy: ["employer"]. Each row also has isAgency.

Why did I get fewer jobs than Reed's count? Reed's count includes a few duplicates and changes during a run as ads come and go; duplicates are dropped and not charged. Check RUN_SUMMARY in the key-value store: it lists each search with the site total, the place Reed used, pages fetched and why it stopped.

Does it cover Scotland, Wales and Northern Ireland? Yes, every job on Reed.co.uk. Use a city or county name ("Glasgow", "Cardiff", "County Antrim") rather than the country name.

Is scraping Reed legal? The actor collects publicly visible job ads, not personal data. You are responsible for how you use the data and for following Reed's terms and the laws that apply to you.

Something is wrong or a field is missing. Open an issue on the Issues tab of the actor page with the run ID. It reaches the developer directly.