# Reed.co.uk-scraper (`your-scraper/reed-co-uk-scraper`) Actor

one of the UK's largest job boards

- **URL**: https://apify.com/your-scraper/reed-co-uk-scraper.md
- **Developed by:** [Code and Curl](https://apify.com/your-scraper) (community)
- **Categories:** Agents, Automation, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### What does Reed.co.uk Jobs Scraper do?

**Reed.co.uk Jobs Scraper** extracts job listings from [Reed.co.uk](https://www.reed.co.uk/), one of the UK's largest job boards - title, company, salary, location, job type, full description, and required skills. Give it a search term and it scrapes the results directly via HTTP requests, no browser needed. Running it on the Apify platform gets you scheduling, API access to results, and monitoring out of the box.

### Why use Reed.co.uk Jobs Scraper?

- Track UK job postings and salary ranges for a role without manually browsing Reed.
- Feed job market data into research, recruiting, or competitor-analysis tools.
- Monitor new postings for a search term over time by scheduling recurring runs.

### How to use Reed.co.uk Jobs Scraper

1. Click **Try for free** (or **Start**) to open the Actor.
2. Enter a **Job title / keywords** to search for, e.g. `python developer`.
3. Optionally set a **Location**, a **Work type filter** (e.g. `full-time`), and **Max items**.
4. Click **Start** and wait for the run to finish, then open the **Dataset** tab to view, filter, and export the results.

### Input

| Field | Type | Description |
|---|---|---|
| `job_title` | string (required) | Job title, keywords, or company to search for. |
| `location` | string (optional) | City or region to search near. Leave empty for a nationwide search. |
| `work_type` | string (optional) | Only return jobs whose listed type contains this text (e.g. `full-time`, `contract`). |
| `maxItems` | integer (optional) | Stop the run after this many jobs have been scraped. Defaults to 5. |
| `proxyConfiguration` | object (optional) | Proxy settings. Not required in testing, but recommended for larger runs. |

See the **Input** tab for the full schema.

### Output

Each dataset item looks like this:

```json
{
  "url": "https://www.reed.co.uk/jobs/python-developer/57088337",
  "jobId": "57088337",
  "title": "Python Developer",
  "company": "4Square Recruitment Ltd",
  "postedDate": "3 July",
  "salary": "£50,000 - £60,000 per annum",
  "location": "Abingdon, Oxfordshire",
  "jobType": "Permanent, full-time",
  "description": "Full job description\nSoftware Developer required for my client...",
  "skills": ["GCP", "JavaScript", "Cloud", "Azure", "React.Js"]
}
```

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

#### Data table

| Field | Description |
|---|---|
| `url`, `jobId` | Link to the listing and Reed's internal job ID |
| `title`, `company` | Job title and hiring company/agency |
| `postedDate` | When the job was posted |
| `salary`, `location`, `jobType` | Key listing details |
| `description` | Full job description text |
| `skills` | Skill tags listed on the job page |

### Cost estimation

Each job requires two lightweight HTTP requests (search result page + job detail page), no browser rendering - so this is one of the cheaper Actors to run. Use **Max items** to scope smaller, cheaper runs.

### Tips

- Reed was reachable via plain HTTP requests in testing (no CAPTCHA or bot challenge encountered), so a proxy isn't required for typical use - but enabling one is recommended for larger or repeated runs to reduce the chance of rate limiting.
- Use `work_type` to filter results without needing separate runs per employment type.

### FAQ, disclaimers, and support

This Actor only collects publicly listed Reed.co.uk data. It is not affiliated with or endorsed by Reed. Respect Reed's Terms of Service when using the scraped data. Found a bug or have a feature request? Use the Issues tab on this Actor's page.

# Actor input Schema

## `job_title` (type: `string`):

Job title, keywords, or company to search for (e.g. "python developer", "data analyst").

## `location` (type: `string`):

City or region to search near (e.g. "London", "Manchester"). Leave empty for a nationwide search.

## `work_type` (type: `string`):

Only return jobs whose listed type contains this text (e.g. "full-time", "part-time", "contract", "permanent", "temporary"). Leave empty for no filter.

## `maxItems` (type: `integer`):

Stop the run once this many jobs have been scraped.

## `proxyConfiguration` (type: `object`):

Optional. Reed.co.uk was reachable via direct requests in testing, but a proxy is recommended for larger or repeated runs.

## Actor input object example

```json
{
  "job_title": "python developer",
  "location": "",
  "work_type": "",
  "maxItems": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "job_title": "python developer"
};

// Run the Actor and wait for it to finish
const run = await client.actor("your-scraper/reed-co-uk-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "job_title": "python developer" }

# Run the Actor and wait for it to finish
run = client.actor("your-scraper/reed-co-uk-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "job_title": "python developer"
}' |
apify call your-scraper/reed-co-uk-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=your-scraper/reed-co-uk-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/vF2kOEILl0MCO8Hip/builds/lrj0TnqpwZUKjbNhQ/openapi.json
