Reed.co.uk Scraper - UK Job Listings · $1.5/1K avatar

Reed.co.uk Scraper - UK Job Listings · $1.5/1K

Pricing

from $0.75 / 1,000 result items

Go to Apify Store
Reed.co.uk Scraper - UK Job Listings · $1.5/1K

Reed.co.uk Scraper - UK Job Listings · $1.5/1K

Extract job postings from Reed.co.uk (UK) by keyword and location: title, employer or agency, place, job type, salary range, posting date, URL.

Pricing

from $0.75 / 1,000 result items

Rating

0.0

(0)

Developer

Yusuke Suda

Yusuke Suda

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Categories

Share

Reed Scraper — UK job listings by keyword and town

Extract job postings from Reed.co.uk (UK) by keyword and location: title, employer or agency, place, job type, salary range, posting date, URL.

Three rows from a real run

TitleEmployerLocationSalaryPosted
Courier Drivervantex logistics ltdLondon120–250 GBP per day2026-09-01
Customer Delivery DriverASDALondon13.1 GBP per hour2026-10-06
Van DriverGXO LogisticsGreenford, Middlesex15.07 GBP per hour2026-09-29

A run with maxItems: 10, searchTerms: ["driver"] and location: "London" on 2026-10-13 returned 10 postings in 5 seconds and would cost about $0.02 at the current price. Full fields for every row are shown below.

Reed.co.uk, run by Reed Online Ltd, is one of the UK's large job boards, with postings from employers and from recruitment agencies side by side. This Actor turns its search results into a clean table: the job title, who is advertising it, the town, the job type, the salary where one is shown, and the day the posting went online.

Press Start. The defaults return driver jobs in and around London, with no configuration needed.

What a row looks like

{
"title": "Delivery Driver",
"company": "DCC",
"location": "North West London, London",
"remote": true,
"employment_type": "Permanent",
"workload": "full-time",
"salary_min": 180.0,
"salary_max": 200.0,
"salary_currency": "GBP",
"salary_period": "day",
"posted_at": "2026-09-16",
"application_deadline": "2026-10-28",
"categories": ["Driver", "Delivery Driver"],
"source_url": "https://www.reed.co.uk/jobs/delivery-driver/57354858",
"external_id": "57354858"
}

company is whoever placed the advert, as the card shows it after "by": an employer or a recruitment agency. Business names only: where the site marks the advertiser as a private person, or the name on the card is or contains a person's name (a sole trader's trade name), the field is left empty. Contact persons, email addresses and phone numbers are never collected. This Actor reads the search results only and never opens the job text.

Every row also carries source_site and scraped_at.

FieldWhat it holdsHow often it is filled
title, company, locationJob title; Employer; LocationAlways
remoteRemoteAlways (100 of 100)
employment_typeEmployment typeAlways
workloadWorkloadAlways
salary_min, salary_max, salary_currency, salary_periodSalary from; Salary to; Salary currency; Salary periodAbout 7 in 10 (74 of 100)
posted_atPostedAlways
categoriesCategoriesNearly all (99 of 100)
application_deadlineApplication deadlineAlways
source_url, external_idPosting URL; Posting IDAlways
apply_url, company_url, company_rating, workplace_postal_code, workplace_address, latitude, longitudeCatalogue-wide columns; Reed's list does not show themAlways empty here

Fill rates are from a 100-row run on 6 October 2026.

Salary: only what the card shows

Reed shows a salary as an hourly, daily or yearly amount ("£13.10 per hour", "£180 - £200 per day", "£15,736 per annum, pro-rata"). Those become salary_min, salary_max, salary_currency and salary_period (hour, day or year).

Many adverts say "Competitive salary", "Salary negotiable" or "Salary not specified" instead. Those rows carry no salary fields. The site's data behind such a card can still hold a number, but the advertiser chose not to show it, so this Actor does not publish it.

When a posting went online

posted_at is the day the card shows ("16 September", "4 days ago"). Reed writes it in UK time; the Actor turns it into a UTC date. application_deadline is the day the advert closes.

Reed's robots.txt does not let crawlers sort the list by date, and this Actor respects that: results come in Reed's own order. With postedAfter or sinceDays, the Actor asks Reed for its own date window where one fits (last three days, last week, last two weeks), then drops anything older itself. A daily run with sinceDays: 1 reads only the last-three-days window, so it stays short.

What people use it for

Tracking which employers and agencies in a town are hiring, and for what. Watching pay rates for a role across UK towns, day rates included. Feeding a job board or a newsletter with UK openings in a niche. Labour-market research that needs structured rows rather than a page of links.

Input

FieldWhat it does
searchTermsKeywords, one or two words each, e.g. driver, van driver, nurse. Each keyword is its own search. Leave empty for everything.
locationA UK town or city: London, Manchester, Milton Keynes. Reed includes places within about ten miles. Leave empty for the whole UK. Postcodes are not accepted.
postedAfterOnly keep postings from this day on, e.g. 2026-09-20. Handy for daily runs that should return just what is new.
sinceDaysThe same, as a rolling window: 1 keeps yesterday and today, 7 the last week. Set it once on a scheduled task and never edit the date again.
maxItemsHard stop, so your bill is predictable.
proxyConfigurationOff by default. Most runs do not need one.

How much one run returns

Reed serves 25 postings per page. A search for "driver" in London had 3,839 postings on 29 September 2026; a run pages through them until maxItems is reached or the list ends. Duplicates within a run are removed. The adverts Reed promotes at the top of a page belong to other searches, so they are left out.

Pricing

$1.50 per 1,000 listings, dropping to $0.75 per 1,000 on higher Apify plans, plus $0.005 each time a run starts. Platform usage is not passed on to you.

You are charged for rows you actually receive. If you set a maximum charge for the run, it stops cleanly at that limit instead of overshooting it.

Daily new listings

Make a task from this Actor, set sinceDays to 1 with your search, and schedule it each morning. Every run then returns only what was posted since the previous day, in the same columns as a full run. Reed does not list strictly newest first, so the run reads the whole search and keeps what is new; nothing newer further down the list is missed. A daily task for driver in London returned 176 new postings on 30 September 2026 and left out 177 older ones.

How this compares

Other Reed Actors are on the Store. Checked on 2 October 2026 against the two most used, from their own Store descriptions and input forms:

  • Results page only. Both return the full description. This Actor never opens a posting: it reads the search results only.
  • No personal data. This Actor collects no contact person, e-mail address or phone number; company is the employer's name only.
  • One price per row. One of them charges a separate event for each posting it opens, on top of the listed result; the other has one flat per-job price with details included. Here every row costs the same, and you pay only for rows you receive.
  • Daily new postings. One of them has a date-posted filter and a saved-search monitor with alerts. Here sinceDays is a rolling window you set once on a scheduled task.

Scope and limits

Public listings only, from the search results pages (/jobs/…), which Reed's robots.txt allows. The paths it disallows are never requested: its internal API, sorting parameters, account and course pages. Neither is the job text.

remote is true for a posting Reed marks as remote and false for on-site. A hybrid posting leaves it empty, because hybrid is neither.

Reed shows the keyword, town, page and date window it actually searched. This Actor checks them against what you asked for. If they differ, the run fails rather than returning rows you did not ask for and charging you for them.

If Reed changes its page structure, the run goes red. It does not return zero rows and report success. A silent scraper is worse than a broken one, because you find out weeks later.

A run that is blocked or cut short partway also goes red, even though the rows it did collect are in the dataset and yours to keep. Red here means "this is not the complete answer", not "you lost the data". On a schedule, a run that quietly came back short is the thing you most need to hear about.

Every run also publishes the site's own result count next to the rows it delivered, so you can see "100 rows of 3,839 the site reports" without going back to the site to check. That number is what the site says, not a promise about what one run returns.

Same shape, other sites

This Actor shares its output shape with the other job Actors in this catalogue: Jobindex (Denmark), jobs.ch and JobScout24 (Switzerland), Jobware (Germany) and more. A parser you write for one keeps working on the others.

Support

Open an issue on this Actor with the run ID and your input. Answered within one business day.