Reed.co.uk Jobs Scraper & UK Jobs API
Pricing
from $0.05 / 1,000 result extracteds
Reed.co.uk Jobs Scraper & UK Jobs API
Export public Reed.co.uk jobs by keyword, location, salary, contract, date, remote status, employer type, or URL. Capture descriptions, structured salary, employer and sector metadata, expiry dates, and apply links.
Pricing
from $0.05 / 1,000 result extracteds
Rating
0.0
(0)
Developer
Fetch Cat
Maintained by CommunityActor stats
0
Bookmarked
66
Total users
21
Monthly active users
6 days ago
Last modified
Categories
Security
Limited permissionsShare
Reed.co.uk Jobs Scraper exports public UK job listings by keyword, location or Reed job/search URL. Get titles, employers, salary ranges, working arrangements, dates and listing links for recruiting research, salary analysis and job-market dashboards.
Use optional full descriptions for deeper analysis, then download the dataset or read it through the Apify API. Public vacancies only, not applicant data or private recruiter tools.
Quick start
- Open the Actor and enter a job query or public Reed job/search URL.
- Start with a small result limit. Add a location for keyword searches if needed.
- Run it, open the dataset and export the records.
{"queries": ["software developer"],"location": "London","maxItems": 5,"includeDetails": false}
Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.
Ready-to-run examples
Choose a verified public example with a small, preconfigured input:
- Scrape software developer jobs in London — Keyword and location search, up to five jobs.
- Capture full descriptions for product manager jobs — Up to three jobs with optional detail enrichment.
- Scrape a Reed software jobs search URL — Reuse a public search URL, up to five jobs.
What you get
- Search UK vacancies. Combine job titles or skills with a location, radius and supported job filters.
- Reuse public URLs. Supply Reed search pages or individual job links alongside queries.
- Export useful job fields. Keep salary components, employer profiles, job types, dates and application links when published.
- Choose description depth. Collect search snippets or request full text and HTML.
- Keep source context. Reed IDs, source URLs and an optional run tag help organize downstream records.
Who is it for?
- Recruiters researching openings by role, employer or UK region.
- Market analysts comparing advertised salaries and hiring activity.
- Sales researchers finding hiring-company signals, not private contact lists.
- Job-board teams feeding structured public vacancy data into their own tools.
Input settings
| Setting | JSON key | Use it for | Example |
|---|---|---|---|
| Search queries | queries | Job titles, skills, or keywords to search on Reed.co.uk. | ["software developer"] |
| Reed search URLs | startUrls | Reed.co.uk search URLs to scrape in addition to keyword searches. | [{"url":"https://www.reed.co.uk/jobs/software-developer-jobs"}] |
| Location | location | Optional UK location for keyword searches. | London |
| Radius | radius | Search radius in miles around the selected location. | 10 |
| Date posted | datePosted | Limit keyword searches by posting date. | last7days |
| Job type | jobType | Filter by permanent, temporary, contract, part-time, or full-time listings. | contract |
| Minimum / maximum salary | minimumSalary, maximumSalary | Filter visible salary ranges in GBP. | 50000, 80000 |
| Remote working | remoteOption | Keep any, remote, hybrid, or on-site listings. | hybrid |
| Posted by | postedBy | Keep any source, agencies, or direct employers. | employer |
| Include full details | includeDetails | Add full description text/HTML and richer detail fields. | false |
| Maximum jobs | maxItems | Cap saved job rows and spend. | 25 |
| Safe run deadline | maxRunSeconds | Preserve saved rows before the platform timeout. | 270 |
| Run tag | runTag | Copy a workflow label to every row. | weekly-london-tech |
| Proxy configuration | proxyConfiguration | Choose optional proxy routing. Direct is the default. | {"useApifyProxy":true} |
Provide at least one non-empty query or Reed job/search URL. Both are accepted together. Prefilled queries, URLs and location are form suggestions, not API requirements. maxItems is a global limit across sources. The form defaults to 20, while direct local normalization of an omitted value uses 50. Set it explicitly for predictable automation.
Location, radius and posted-by controls shape generated keyword searches. Existing search URLs retain their own search criteria. Date, job-type and remote checks can further reduce returned rows. There is no sorting control.
A URL-only recipe:
{"startUrls": [{"url": "https://www.reed.co.uk/jobs/software-developer-jobs"}],"maxItems": 5,"includeDetails": false}
Output data
The Actor returns one dataset row per public Reed.co.uk job listing.
| Field | Description |
|---|---|
title | Job title |
companyName | Hiring company or recruiter name |
location | Displayed job location |
salary | Salary text or range when available |
salaryMinimum, salaryMaximum, salaryCurrency, salaryPeriod | Structured salary components |
jobType | Job type signals such as full-time, permanent, or contract |
contractType, isFullTime, isPartTime | Separate contract and working-hours signals |
remoteWorkingOption | Remote, hybrid, or other public working-location signal |
postedAt, updatedAt, expiresAt | Listing dates from Reed |
descriptionSnippet | Short description preview |
descriptionText, descriptionHtml | Full description when enabled |
sector, subSector | Reed sector classification |
employerId, employerProfileId, employerProfileUrl, employerLogoUrl | Public employer identity and profile fields |
externalApplyUrl, isEasyApply | Application route when Reed exposes it |
isPromoted, isFeatured, isGraduate | Public listing flags |
jobUrl | Reed job detail URL |
reedJobId | Reed job identifier |
sourceQuery, sourceUrl, runTag | Search and workflow provenance |
detailStatus | Whether optional detail enrichment succeeded |
scrapedAt | Timestamp of extraction |
Shape-only example, not a live vacancy. Other fields depend on what Reed publishes.
{"title": "Example role","companyName": null,"location": "London","salary": null,"reedJobId": "example-id","jobUrl": "https://www.reed.co.uk/jobs/example-role/12345678","detailStatus": "search_only","sourceQuery": "software developer"}
Missing optional values can be null. Search-only rows omit full-description fields. includeDetails requests richer public job information. If Reed explicitly confirms a job expired during optional enrichment, its useful search row stays search_only. Other detail failures preserve the row with detailStatus: "failed" and fail the run so incomplete extraction remains visible. A direct job URL is already a detail lookup.
A direct job that Reed explicitly identifies as expired completes successfully with no job rows. Mixed batches preserve available jobs. Generic HTTP errors, challenges and unexpected data are not treated as proof of expiry.
RUN_SUMMARY and the compatible OUTPUT key-value record report saved, filtered, duplicate and failed sources, detail failures, deadline and budget state. unavailableInputs gives each confirmed expired URL, JOB_EXPIRED reason and stage (direct or optional_detail). These diagnostics are summaries, not paid job rows.
Download your results
Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.
See Apify's download and export guide for the available formats and field options.
Pricing
This Actor uses pay-per-event pricing. The start event is charged once after input validation, including a valid search that finds no jobs.
The item event is charged per saved Reed job row. A search row retained after optional detail enrichment fails is still a saved job. Run summaries are not job rows.
Use maxItems and Apify's run charge limit to bound a run. See the live Pricing tab for current rates and discounts.
Tips for best results
- Start small. Check five jobs before increasing the result limit.
- Use precise roles. A clear job title or skill is easier to assess than a broad keyword.
- Separate regions. Run one city at a time when comparing locations.
- Request details selectively. Full descriptions help text analysis but require extra lookups.
- Label your exports. Use
runTagwhen combining results from several runs.
Limits and caveats
- Only publicly visible Reed job listings are supported. No login, applicant profiles or private employer dashboards.
- Reed can change, remove or restrict pages. Missing salary, employer and other optional data cannot be guaranteed.
- Strict filters and overlapping searches can yield fewer jobs than the requested maximum. Jobs are unique by Reed ID within a run, not across runs.
- Legitimate no-match searches complete with an empty summary. Source or extraction failures are reported separately. Useful rows may survive isolated source or detail failures.
- This collects data afresh. Historical comparisons, change detection and notifications belong in your downstream workflow.
- This is not Reed's official Jobseeker API and does not require a Reed API key.
Automation and integrations
Save your settings for next time
Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.
Run on a schedule
Need fresh results regularly? You can schedule the Actor or a saved task to run at a time that suits you.
Each scheduled run collects the data again. If you want to compare results or highlight changes, add that step in your own workflow.
Send results to your other tools
Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.
For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.
API usage
Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.
The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.
For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.
cURL
curl -X POST 'https://api.apify.com/v2/acts/fetch_cat~reed-co-uk-jobs-scraper/runs' \-H "Authorization: Bearer $APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"queries":["software developer"],"location":"London","maxItems":5}'
After it finishes, retrieve results using the dataset items endpoint.
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/reed-co-uk-jobs-scraper').call({queries: ['software developer'],location: 'London',maxItems: 5});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientimport osclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/reed-co-uk-jobs-scraper').call(run_input={'queries': ['software developer'],'location': 'London','maxItems': 5,})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
MCP and AI agents
You can ask your AI assistant to collect data with Reed.co.uk Jobs Scraper and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.
Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.
Easier setup with an Apify plugin
If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.
Use Apify AI in Console
Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's Reed.co.uk Jobs Scraper. You can describe the data you want and ask questions about the results.
Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.
Choose your assistant
- Claude and Claude Code (Anthropic): Apify setup guide.
- ChatGPT and Codex (OpenAI): Apify setup guides.
- Grok Bot (xAI): Apify plugin guide.
- Gemini CLI (Google): MCP server setup guide. Use the server URL below with the HTTP configuration supported by Gemini CLI.
Connect just this scraper
To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/reed-co-uk-jobs-scraper"}}}
Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.
Use Apify's general server
Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use Reed.co.uk Jobs Scraper by Fetch Cat, or give it the identifier fetch_cat/reed-co-uk-jobs-scraper.
Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.
Example requests
- “Find five software developer jobs around London and list their employers and advertised salaries.”
- “Collect three product manager jobs with full descriptions and summarize their requirements.”
- “Get the jobs from this public Reed search URL and prepare a spreadsheet of titles, companies and listing links.”
Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.
Pay with x402
If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.
Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.
Some MCP setups also support paying for each request directly. That is a different payment option, so check the official guide for its availability.
Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.
Other ways for agents to pay
Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.
FAQ
Can I use this as a Reed.co.uk jobs API?
Yes. Run it through the Apify API and read the returned dataset. It is an independent scraper, not an official Reed API.
Can I export Reed jobs to CSV or Excel?
Yes. Use the dataset export menu. JSON is useful when retaining all optional fields.
Why is salary or a description missing?
Reed may not publish it. Full description fields need detail data, and a failed detail lookup preserves the available search row.
Why did I get fewer jobs than requested?
There may be fewer matching vacancies, duplicates, unavailable sources, a deadline or a charge limit. Check the run summary for the reason.
Do I need a login or a proxy?
No login is required for public targets. Direct access is the default. Optional proxy settings are available in the input form. Access is not guaranteed.
How can I compare sources or automate analysis?
Use this Actor for Reed-specific fields and the related job scrapers below for other platforms. Save or compare datasets in your own workflow. API and MCP instructions above explain programmatic retrieval.
Related Actors
- LinkedIn Jobs Scraper — Collect public LinkedIn job listings and available details from searches or known job URLs.
- RemoteOK Jobs Scraper — Collect current public RemoteOK job-feed listings and optional descriptions, rather than a historical archive.
- Remotive Jobs Scraper — Collect public Remotive job-feed listings with available descriptions, salary text and source listing links.
- Greenhouse Job Board Scraper — Collect public Greenhouse board openings and optional descriptions from supplied board tokens or URLs.
- Workday Jobs Scraper — Collect public job postings and available descriptions from supplied Workday career-site URLs.
Support and feedback
For custom additions or integrations, email hello@fetchcat.dev.
Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.
Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.
Tried this scraper? We'd love to hear how it worked for you. Leave a review to help others choose the right tool and help us improve it. If that page is unavailable, open the Actor page to find its feedback options. Your feedback means a lot to us.
Made with care for curious people, AI agents and the possibilities in data. ♥