Reed.co.uk UK Jobs & Salary Scraper
Pricing
from $6.80 / 1,000 results
Reed.co.uk UK Jobs & Salary Scraper
Search Reed.co.uk, a top UK job board. Filter by keywords, location, distance, salary, job type and recency, then export job title, employer, location, salary min/max, job type, dates, description, applications and links. Export to JSON, CSV or Excel.
Pricing
from $6.80 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
1
Bookmarked
1
Total users
0
Monthly active users
18 days ago
Last modified
Categories
Share
Reed.co.uk UK Jobs & Salary Scraper
This actor requires a free Reed Jobseeker API key (see Quickstart). Here is the real record it returns when no key is supplied; with a key, each result is a full job record carrying every field documented in the Output reference below:
{"error": "A free Reed Jobseeker API key is required. Register a free key at reed.co.uk/developers/jobseeker and paste it into the \"apiKey\" input field.","source": "Reed.co.uk","observedAt": "2026-08-10T14:36:49.053Z"}
The most complete Reed.co.uk scraper available. Once you add a free Reed key, it returns every field Reed exposes for each job, from title, employer and location to minimum and maximum salary with currency, job type, posting and expiration dates, application count, full description and both the Reed and external apply URLs, and gives you a dozen filters (keywords, location, distance, salary range, contract types, recency and employer) to target exactly the jobs you need.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Quickstart
- Input reference
- Output reference
- Example output record
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches Reed.co.uk, one of the UK's largest job boards, through the official Reed Jobseeker API using your own free API key. It runs each keyword search you pass, applies the location, distance, salary, contract-type and recency filters, and writes one normalized record per job to the run's dataset. When Fetch Full Detail is enabled it opens each job to also capture the full description, external application URL and job type. Salary is split into minimumSalary, maximumSalary and a currency, dates are kept as provided by Reed, and missing source values are returned as null.
Quickstart
This actor needs a free Reed Jobseeker API key. Register one in minutes at reed.co.uk/developers/jobseeker, then paste it into the apiKey input field. Open the actor, paste this into the input (replacing the key), and press Run.
{"keywords": ["software developer"],"locationName": "London","distanceFromLocation": 10,"minimumSalary": 40000,"permanent": true,"fullTime": true,"withDetails": true,"maxJobs": 40,"apiKey": "YOUR_FREE_REED_API_KEY"}
Add several keywords to collect more jobs in one run. Every filter is optional except that you must supply the apiKey and at least one keyword (or a locationName / employerId).
Input reference
apiKey is required; everything else is optional.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
apiKey | string (secret) | yes | (none) | Your free Reed Jobseeker API key. Register at reed.co.uk/developers/jobseeker and paste it here. |
keywords | string[] | no | ["software developer"] | One or more keyword searches, for example nurse, data analyst. Each entry runs its own search. |
locationName | string | no | (empty) | Town, city or postcode to search around, for example London, Manchester. |
distanceFromLocation | integer | no | (none) | Search radius in miles around locationName. |
minimumSalary | integer | no | (none) | Only return jobs advertising at or above this annual salary. |
maximumSalary | integer | no | (none) | Only return jobs advertising at or below this annual salary. |
permanent | boolean | no | false | Include permanent roles. |
contract | boolean | no | false | Include contract roles. |
temp | boolean | no | false | Include temporary roles. |
partTime | boolean | no | false | Include part-time roles. |
fullTime | boolean | no | false | Include full-time roles. |
postedInDays | integer | no | (none) | Only keep jobs posted within this many days. |
employerId | string | no | (empty) | Restrict to jobs from a single Reed employer by numeric employer ID. |
withDetails | boolean | no | true | Open each job to also capture the full description, external application URL and job type. Turn off for faster, lighter runs. |
maxJobs | integer | no | 40 | Maximum number of job records to collect across the whole run. |
When none of the contract-type flags (permanent, contract, temp, partTime, fullTime) are set, Reed returns jobs of all types.
Output reference
One dataset item per job. Types: string, integer, or null when the source value is absent.
| Field | Type | Description |
|---|---|---|
jobId | integer | Reed job id (unique per listing). |
jobTitle | string | Job title. |
employerName | string | Hiring employer name. |
employerId | integer | Reed employer id. |
locationName | string | Location of the job. |
minimumSalary | integer | Advertised minimum annual salary, or null. |
maximumSalary | integer | Advertised maximum annual salary, or null. |
currency | string | Salary currency, for example GBP, or null. |
jobType | string | Employment type (for example permanent, contract, temporary), captured when withDetails is on, else null. |
datePosted | string | Date the job was posted, as provided by Reed. |
expirationDate | string | Date the listing expires, as provided by Reed. |
applications | integer | Number of applications received so far. |
description | string | Job description. Full text when withDetails is on, otherwise the search-result snippet. |
jobUrl | string | Reed.co.uk listing page URL. |
externalUrl | string | External application URL, captured when withDetails is on, else null. |
searchKeyword | string | The keyword search that surfaced this job. |
source | string | Data source label (Reed.co.uk). |
observedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run (for example a missing or invalid API key, or no matches), a single item with a populated error field is written instead. |
Example output record
When no API key is supplied, the actor writes this single real record and does not charge for it:
{"error": "A free Reed Jobseeker API key is required. Register a free key at reed.co.uk/developers/jobseeker and paste it into the \"apiKey\" input field.","source": "Reed.co.uk","observedAt": "2026-08-10T14:36:49.053Z"}
With a valid key, each item is a full job record populated with the fields in the Output reference above (jobId, jobTitle, employerName, locationName, minimumSalary, maximumSalary, currency, datePosted, applications, description, jobUrl and more).
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token and <REED_KEY> with your free Reed Jobseeker key.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~reed-uk-jobs-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"keywords":["software developer"],"locationName":"London","minimumSalary":40000,"maxJobs":25,"apiKey":"<REED_KEY>"}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~reed-uk-jobs-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"keywords":["nurse"],"locationName":"Manchester","distanceFromLocation":15,"maxJobs":100,"apiKey":"<REED_KEY>"}'
Apify CLI:
apify call scrapers_lat/reed-uk-jobs-scraper \--input '{"keywords":["data analyst"],"permanent":true,"apiKey":"<REED_KEY>"}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per job returned (
resultevent). WhenwithDetailsis on and a job detail page is successfully fetched, an add-ondetailsevent is also charged. See the pricing tab for current prices. - No charge on failure. If the API key is missing or invalid, or no jobs match, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results. - Free Apify plans are capped at 10 jobs per run. Upgrade for higher
maxJobs. - The Reed API key is free. Register your own at reed.co.uk/developers/jobseeker; this actor never bundles or shares a key.
FAQ and troubleshooting
Why do I need an API key?
Reed job data is served through the official Reed Jobseeker API, which requires each user to authenticate with their own free key. Register in minutes at reed.co.uk/developers/jobseeker and paste it into apiKey.
A run returned only an error record. Why?
Either the apiKey was missing or invalid, or your filters matched no jobs. Check the key, then loosen keywords, widen the location distance, or relax the salary and postedInDays filters. Error-only runs are not charged.
Why is jobType or externalUrl null?
Those fields come from the job detail page and are only captured when withDetails is enabled. Turn it off for faster, lighter runs that omit them.
Why is minimumSalary/maximumSalary null?
Not every Reed listing advertises a salary. When none is published, the salary fields are null.
How do I collect more jobs per run?
Add several entries to keywords; each runs its own search. Raise maxJobs (free plans are capped at 10 per run).
Is this an official Reed tool? No. This actor is independent and has no affiliation with Reed. It uses the official Reed Jobseeker API with your own key and reads only data that key is entitled to. Use it in accordance with Reed's API terms.
Related scrapers
- RemoteOK Remote Jobs & USD Salary Scraper: remote jobs with USD salary ranges.
- Remotive Remote Jobs & Salary Scraper: remote jobs from Remotive.
- Greenhouse Jobs Scraper: jobs from Greenhouse-hosted career pages.
- Ashby Jobs Scraper: jobs from Ashby-hosted career pages.
- Himalayas Remote Jobs Scraper: remote jobs from Himalayas.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for US and Latin American public platforms: company registries, government data, finance, e-commerce and more. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Reed. Uses the official Reed Jobseeker API with your own free key. Use in accordance with Reed's API terms.
