Reed.co.uk Jobs Scraper avatar

Reed.co.uk Jobs Scraper

Pricing

from $0.95 / 1,000 results

Go to Apify Store
Reed.co.uk Jobs Scraper

Reed.co.uk Jobs Scraper

[๐Ÿ’ฐ $0.95 / 1K] Extract UK job listings from Reed.co.uk by keyword, location, salary, contract type, and posted-by source. Get titles, companies, salaries, descriptions, employment types, posted dates, and direct apply URLs โ€” every row a flat job posting.

Pricing

from $0.95 / 1,000 results

Rating

0.0

(0)

Developer

SolidCode

SolidCode

Maintained by Community

Actor stats

0

Bookmarked

6

Total users

1

Monthly active users

3 days ago

Last modified

Share

Pull live UK job listings from Reed.co.uk at scale โ€” titles, hiring company, salary parsed into min/max/currency/period, location, employment-type flags, posted date, the full job description, recruiter name, sector, and direct apply URLs. Built for UK recruiters, salary-benchmark analysts, and HR-tech sales teams who need a clean Reed feed without writing scrapers.

Why This Scraper?

  • Every Reed-native filter wired through โ€” 5 employment-type toggles (permanent, contract, temp, full-time, part-time), agency vs. direct-employer source filter, 7 distance bands (exact location to 40 miles), 5 date-posted windows (today / last 3 days / last week / last 2 weeks / any), and GBP min/max salary range โ€” none of which the multi-board aggregators expose.
  • Salary parsed into structured fields โ€” every row carries salaryMin, salaryMax, salaryCurrency as an ISO code, and salaryPeriod (annual / hourly / daily / weekly / monthly) alongside the original Reed text. Overseas postings keep their real currency (EUR, USD, AED, INR, CAD, JPY, AUD, PLN, HUF), so a โ‚ฌ90,000 role is never mistaken for a ยฃ90,000 one. No custom regex on your end to filter "ยฃ40-60k" candidates.
  • Up to 5,000 jobs per run โ€” pagination handled automatically; works equally well at 50 rows for a quick lead pull or 5,000 rows for a region-wide salary survey.
  • Free-form keyword + UK location โ€” no preset role lists, no fixed locations. Type "data engineer" + "se1" (postcode) or "warehouse operative" + "manchester" and Reed's own geocoder handles the rest.
  • The full job description on every row, no toggle required โ€” description carries the complete posting body as plain text on every standard run, not a truncated preview. The optional enrichment pass adds exactly three extras on top: descriptionHtml (the same text with its original formatting), sector (Reed's own category), and recruiterReedProfileUrl for the recruiters Reed publishes a page for.
  • Accepts pasted Reed URLs โ€” drop in a search-results URL straight from the Reed website (sector picker, graduate, easy-apply, and visa-sponsorship flags all carry through) or an individual job-detail URL โ€” both work side-by-side with free-text queries in the same run.
  • Per-row search echo โ€” every row records the searchKeywords and searchLocation that produced it, so multi-query batch runs stay filterable downstream in CSV / Excel / Postgres.
  • No login. No API key. No setup. Enter a keyword and a UK city and you have a clean dataset in minutes.

Use Cases

Recruitment Lead Generation

  • Build target lists of recruitment agencies actively advertising in your sector, named on every row
  • Identify direct employers hiring for the same role you place candidates into
  • Track which agencies dominate a given UK region or job category
  • Turn on detail enrichment to add a Reed company-profile link for the recruiters who publish one, so you can jump straight from a lead to their live vacancy list

Salary Benchmarking

  • Live UK pay data by role, region, and seniority, refreshed on demand
  • Compare permanent vs. contract day-rates for the same job title
  • Surface salary-band shifts week-on-week for compensation reviews

Job-Aggregator & White-Label Boards

  • Backfill a niche or regional jobs board with curated Reed listings
  • Power a Slack/email alerting product for new roles in a specific stack
  • Build a sector-specific newsletter (FinTech London, NHS healthcare, etc.)

Workforce & Skills Market Research

  • Track demand for skills like "Python", "AWS", "Salesforce" by region over time
  • Map remote vs. hybrid vs. on-site mix in your industry
  • Quantify graduate, contract, and permanent supply per UK city

Competitive Intelligence for HR-Tech Sales

  • Identify recruitment agencies as warm leads for ATS, CRM, or sourcing tools
  • Track which competitors of your target customer are hiring (and for what)
  • Monitor hiring spikes to time outbound campaigns

Getting Started

A single keyword + city โ€” fastest path to a useful dataset:

{
"keywords": "python developer",
"location": "london"
}

Narrow to fixed-term contract data engineers in Manchester within 20 miles, paying ยฃ60k+:

{
"keywords": "data engineer",
"location": "manchester",
"distance": "20",
"permanent": false,
"contract": true,
"temp": false,
"minSalary": 60000,
"maxResults": 200
}

URL List with Detail Enrichment

Mix two pre-filtered Reed search URLs and add formatted descriptions, sector, and recruiter profile links to both:

{
"urls": [
"https://www.reed.co.uk/jobs/python-jobs-in-bristol",
"https://www.reed.co.uk/jobs/devops-jobs-in-edinburgh"
],
"fetchDescription": true,
"maxResults": 500
}

Input Reference

ParameterTypeDefaultDescription
keywordsstring"python developer"Job title or skill to search, such as "python developer" or "marketing manager". Leave empty to scrape Reed's general listing.
locationstring"london"UK city, region, or postcode (e.g., "london", "manchester", "se1", "remote"). Reed accepts full or partial postcodes and town names.
distanceselect10 milesSearch radius from the location: Exact location only, 5 miles, 10 miles, 15 miles, 20 miles, 30 miles, 40 miles. Ignored when location is empty.
urlsstring[][]Optional. Paste Reed.co.uk search URLs or individual job URLs. Filters baked into pasted URLs are honored as-is.

Job Type

A single posting can carry multiple flags (e.g., a role can be both contract AND full-time). Each toggle includes any role tagged with that flag.

ParameterTypeDefaultDescription
permanentbooleantrueInclude permanent contract roles.
contractbooleantrueInclude fixed-term contract roles.
tempbooleantrueInclude temporary roles.
fullTimebooleantrueInclude full-time roles.
partTimebooleanfalseInclude part-time roles.

Salary

ParameterTypeDefaultDescription
minSalaryintegernullMinimum annual salary in GBP. Many Reed listings are tagged "Competitive" and may be excluded by Reed's server-side filter when set.
maxSalaryintegernullMaximum annual salary in GBP.

Filters

ParameterTypeDefaultDescription
postedByselectAny (agency or direct employer)Filter by who listed the role: Any (agency or direct employer), Recruitment agency only, or Direct employer only.
datePostedselectAny timeOnly show roles posted within this window: Any time, Today, Last 3 days, Last week, Last 2 weeks.

Advanced

ParameterTypeDefaultDescription
fetchDescriptionbooleanfalseOff by default. Adds three fields to every row: descriptionHtml, sector, and recruiterReedProfileUrl. It does not control description โ€” the full plain-text posting body is already on every row without it. Enrichment opens each posting individually, so runs take substantially longer; the per-result price is the same either way.
maxResultsinteger100Cap on total job rows across all keywords and URLs. Hard upper bound is 5,000 โ€” set to 0 to use that cap directly. The actor stops requesting new pages once this number is reached but keeps the full final page even if it slightly overshoots (up to ~100 results per page).

Output

Every row is a flat job posting. Here is a representative result:

{
"jobId": "56626200",
"title": "Python Developer - Insurance Analytics",
"company": "McGregor Boyall",
"location": "London",
"salary": "ยฃ40,000 - ยฃ60,000 per annum",
"salaryMin": 40000,
"salaryMax": 60000,
"salaryCurrency": "GBP",
"salaryPeriod": "annual",
"employmentType": ["Permanent", "Full-time"],
"postedBy": "agency",
"postedDate": "2026-04-28T10:27:23",
"expiryDate": "2026-06-09T23:55:00",
"applyUrl": "https://www.reed.co.uk/jobs/python-developer-insurance-analytics/56626200/apply",
"jobUrl": "https://www.reed.co.uk/jobs/python-developer-insurance-analytics/56626200",
"snippet": "We are looking for a Python developer to join our insurance analytics team...",
"description": "We are looking for a Python developer to join our insurance analytics team. You will be working on...",
"descriptionHtml": "<p>We are looking for a <strong>Python</strong> developer...</p><ul><li>5+ years experience</li></ul>",
"sector": "IT & Telecoms",
"recruiterName": "McGregor Boyall",
"recruiterReedProfileUrl": "https://www.reed.co.uk/company-profile/McGregor-Boyall-49265",
"searchKeywords": "python developer",
"searchLocation": "london",
"scrapedAt": "2026-05-09T14:30:00Z"
}

Core Fields

FieldTypeDescription
jobIdstringReed's numeric job identifier.
titlestringJob title as posted.
companystring | nullHiring company name. May be null when posted by an agency anonymously.
locationstringLocation as Reed displays it (e.g., "London", "Manchester ยท Remote").
snippetstringShort preview always present from the search results card.
postedDatestringWhen the role was posted (ISO 8601).
expiryDatestring | nullWhen the listing closes (ISO 8601).

Salary

FieldTypeDescription
salarystring | nullSalary text as posted (e.g., "ยฃ45,000 - ยฃ55,000 per annum", "ยฃ18 per hour", "Competitive").
salaryMinnumber | nullParsed minimum salary. Null when not parseable.
salaryMaxnumber | nullParsed maximum salary. Null when not parseable.
salaryCurrencystring | nullISO currency code. "GBP" on the overwhelming majority of rows; overseas listings return their own code (EUR, USD, AED, INR, CAD, JPY, AUD, PLN, HUF). Null only when Reed reports a currency we cannot identify, in which case salary omits the symbol rather than guessing.
salaryPeriodstring | null"annual", "monthly", "weekly", "daily", "hourly", or null.

Employment & Source

FieldTypeDescription
employmentTypestring[]Subset of ["Permanent", "Contract", "Temporary", "Full-time", "Part-time"].
postedBystring | null"agency" or "directEmployer".
sectorstring | nullReed's sector category (e.g., "IT & Telecoms", "Healthcare"). Enrichment runs only (fetchDescription: true); null otherwise.
recruiterNamestring | nullRecruiter or company name on the listing page. On every row.
recruiterReedProfileUrlstring | nullLink to the recruiter's Reed company profile. Enrichment runs only (fetchDescription: true), and only for recruiters who have a Reed company profile; null otherwise.
FieldTypeDescription
descriptionstring | nullFull job description as plain text. Populated on every row, whether or not fetchDescription is on.
descriptionHtmlstring | nullThe same description with its original markup preserved (<p>, <ul>, <strong>). Enrichment runs only (fetchDescription: true); null otherwise.
applyUrlstringDirect apply URL โ€” external ATS link when the role redirects, otherwise the Reed apply page.
jobUrlstringReed.co.uk URL for the job detail page.

Search Context

FieldTypeDescription
searchKeywordsstring | nullThe keywords input that produced this row (echoed for batch runs).
searchLocationstring | nullThe location input that produced this row.
scrapedAtstringISO 8601 timestamp of the scrape.

Tips for Best Results

  • Use distance to control noise. Exact location only returns just the postings tagged with that town or postcode; bumping to 40 miles widens the catchment for commuter-belt or remote-friendly roles. Ignored when location is empty.
  • Reed's salary filter overlaps with stated bands. A posting at ยฃ50,000-ยฃ80,000 will appear in a minSalary: 70000 search because the band crosses your floor โ€” useful for surfacing roles where you're at the top of the range, but expect overlap rather than strict cutoffs.
  • Set maxResults: 0 to fetch every available row (capped at the internal 5,000 ceiling). Best paired with a tight keyword + location for a clean salary survey.
  • Paste Reed search URLs to bring filters Reed exposes that this actor doesn't surface as top-level inputs. Sector picker (multipleParentSectorIds), graduate-only, easy-apply, and visa-sponsorship flags are honored when present in the URL โ€” dial in the search on the Reed website, then paste the full URL into the urls field.
  • Combine keywords + urls in one run. A free-text search and a list of pre-filtered Reed URLs run side-by-side; deduplication by job ID is automatic, so the same posting found twice only counts once.
  • Leave fetchDescription off unless you specifically want HTML, sector, or recruiter links. The full plain-text description is on every row either way, so the default setting already gives you readable job bodies for keyword matching, CV parsing, or an LLM pipeline. Switching it on opens every posting one by one and stretches the run out considerably, so keep enriched runs to a few hundred rows to stay inside your run time limit.
  • Use postedBy: "Recruitment agency only" for agency lead lists. Pair it with a sector-filtered URL to surface every agency actively placing into your vertical. Every row names the agency; switch fetchDescription on and you also get a Reed company-profile link for the agencies that publish one.

Pricing

From $0.95 per 1,000 results. No compute charges โ€” you only pay per result returned. Apify's loyalty tiers lower the rate as you go, with Gold subscribers paying the least.

ResultsNo discountBronzeSilverGold
100$0.11$0.11$0.10$0.095
1,000$1.13$1.07$1.01$0.95
10,000$11.30$10.70$10.10$9.50
100,000$113.00$107.00$101.00$95.00

Tiered rates take effect on 13 September 2026. Until that date every run is billed at a flat $0.95 per 1,000 results โ€” the Gold column above. A "result" is any job row in the output dataset. Roughly 4ร— cheaper than the closest comparable multi-board scraper on the Apify store.

Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

  • Zapier / Make / n8n โ€” Workflow automation
  • Google Sheets โ€” Direct spreadsheet export
  • Slack / Email โ€” Notifications on new results
  • Webhooks โ€” Trigger custom APIs on run completion
  • Apify API โ€” Full programmatic access

This actor is designed for legitimate recruitment, salary-benchmarking, market research, and lead-generation work. Users are responsible for complying with applicable laws and Reed.co.uk's terms of service. Do not use extracted data for spam, harassment, or any illegal purpose. Be mindful of UK GDPR when storing or processing personal data appearing in job posts.