# Reed.co.uk Jobs Scraper | 75+ Fields & Company Profiles (`corvuslab/reed-scraper`) Actor

Scrape Reed.co.uk UK jobs with 75+ fields: salary bands, skills, company profiles (size, benefits, social links), recruiter data and full descriptions. All enrichment included. Incremental monitoring skips unchanged jobs so recurring runs cost a fraction of a full scrape.

- **URL**: https://apify.com/corvuslab/reed-scraper.md
- **Developed by:** [Corvuslab](https://apify.com/corvuslab) (community)
- **Categories:** Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 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/actors/running/actors-in-store.md#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 UK job listings from [Reed.co.uk](https://www.reed.co.uk/) and returns them as clean, structured records with 75+ fields — parsed salary bands (min/max/per-annum/OTE/pro-rata), extracted skills, company profile data (size, benefits, social links), recruiter details, granular location components and full descriptions in text, HTML or Markdown. Every field is included at the base price — no upsells for detail enrichment or contact data. Output downloads as JSON, CSV, Excel or streams through the API into any workflow or AI agent.

Give it a keyword, a location and any combination of filters (job type, salary range, posted-by, date posted, graduate roles) and it returns every matching listing as a typed record. For each job you get the title, company, salary, contract type, location and posting dates from the listing page. Turn on **Fetch full details** to also pull the skills list, sector taxonomy, recruiter tier, contract duration, per-annum salary normalisation and the full description. You can also paste Reed.co.uk URLs directly instead of a keyword search.

> New to Apify? You can sign up for free and use the included monthly platform credit to try this Actor.

**Why this scraper**

- ⚡ **Fast & low-cost** — lightweight requests with no proxy overhead, so large runs stay cheap.
- 🧾 **75+ structured fields** — salary, skills, company profiles, recruiter details, social links and more — the richest Reed data set on the Store.
- 💰 **Everything included** — full detail enrichment, company profiles and contact extraction are part of the base price. No per-field upsells.
- ♻️ **Cheap to monitor** — incremental mode re-scrapes only what changed (see below).
- 🔔 **Notifications built in** — Telegram, Slack, Discord or any webhook.
- 🤖 **AI- & API-ready** — compact output, MCP-friendly, one-click integrations.

***

### Key features

- 🔎 **Search or URL scraping** — run a keyword + location search with server-side filters, or paste Reed.co.uk search and job-detail URLs directly.
- 🧾 **75+ structured fields** — salary bands, skills, recruiter details, location components, sector taxonomy, contract duration, posting/expiry dates and more — one of the richest Reed data sets available.
- 🎚️ **10+ server-side filters** — job type (permanent / contract / temp), work pattern (full-time / part-time), salary range, posted-by (agency vs employer), graduate roles and date-posted window — all applied on the site before results reach you.
- 💷 **Parsed salary** — structured min/max, per-annum normalisation, currency, period, plus OTE, pro-rata and negotiable flags so you can compare salaries without parsing free-text.
- 🧠 **Full detail enrichment** — skills\[], sector, breadcrumbs, recruiter tier, contract duration and the complete description in text, HTML or Markdown — included at no extra cost.
- 🏢 **Company profiles** — employer size bracket, sector, website, benefits list, social links (LinkedIn, Facebook, X, Instagram) and company description — pulled from each employer's profile page automatically.
- 📇 **Contact extraction** — emails, phones, URLs and social profiles pulled from each job description; filter with `requireContact` for instant lead-gen lists.
- ♻️ **Incremental monitoring** — schedule it and get only what changed (NEW / UPDATED / EXPIRED); unchanged jobs are skipped before their detail page is even fetched, plus built-in repost detection.
- 🔔 **Notifications** — Telegram, Slack, Discord or any webhook (n8n / Make / Zapier).
- 🤖 **AI-ready** — compact + drop-empty output modes keep payloads small for LLMs and MCP tool integrations.

***

### 🚀 How to scrape Reed.co.uk

1. Open the actor and enter a **search keyword** (e.g. `software engineer`) and optionally a **location** (e.g. `London`) — or paste a Reed.co.uk URL.
2. Set **Max results** and pick any **filters** (job type, salary range, posted-by, date posted).
3. Choose whether to **fetch full details** (on by default for the richest output).
4. (Optional) Turn on **incremental mode** and a **notification** channel, then **Schedule** it.
5. Click **Start** and download the data as **JSON, CSV or Excel**, or pull it from the **API**.

New to Apify? Create a free account — it comes with monthly credit, no credit card required.

***

### Input

Configure it in the visual editor — no code needed — or pass JSON via the API.

| Field | What it does |
|---|---|
| `query` | Keyword search (comma-separate for multiple searches). |
| `startUrls` | Scrape specific Reed.co.uk search or job-detail URLs. |
| `location` / `proximity` | UK town, city or postcode + search radius in miles (0–50). |
| `permanent` / `contract` / `temp` | Toggle job types — OR logic widens the search. |
| `fullTime` / `partTime` | Work-pattern filter. |
| `salaryFrom` / `salaryTo` | Annual salary range (GBP). |
| `postedBy` | Agency, direct employer, or any. |
| `datePosted` | Jobs posted today, last 3 days, last week or last 2 weeks. |
| `graduateOnly` | Only graduate-suitable roles. |
| `includeDetails` | Fetch each job's detail page for the richer fields. |
| `requireContact` | Keep only listings with an email, phone or both. |
| `descriptionFormat` | Which description format(s): `all`, `text`, `html` or `markdown`. |
| `compact` | Core fields only — ideal for AI agents and MCP clients. |
| `incrementalMode` | Emit only what changed since the last run. |
| `maxResults` | Cap the number of records (0 = unlimited). |

...and **36 inputs** in total — the table shows the essentials; the rest cover notification channels (Telegram, Slack, Discord, webhooks), output/AI modes, incremental tuning and advanced settings, all in the visual editor.

#### Example inputs

**Basic keyword search**

```json
{ "query": "software engineer", "location": "London", "maxResults": 100 }
```

**Filtered search — permanent full-time nurses above a salary floor**

```json
{
  "query": "registered nurse",
  "salaryFrom": 30000,
  "permanent": true,
  "fullTime": true,
  "maxResults": 200
}
```

**Incremental monitoring — daily watch for new data-analyst jobs**

```json
{
  "query": "data analyst",
  "location": "Manchester",
  "incrementalMode": true,
  "includeDetails": true,
  "telegramToken": "<BOT_TOKEN>",
  "telegramChatId": "<CHAT_ID>"
}
```

***

### Output

Each item in the dataset is one job listing. Every record includes the core fields; enabling **Fetch full details** (on by default) adds skills, sector taxonomy, recruiter tier, per-annum salary, contract duration and the full description. Here is a real example record (description fields trimmed for brevity):

```json
{
  "id": "57253701",
  "title": "Senior Developer- London",
  "url": "https://www.reed.co.uk/jobs/senior-developer-london/57253701",
  "snippet": "About The Role FDM is a global business and technology consultancy seeking a Business & Process Analyst...",
  "datePosted": "2026-08-19T07:54:51.333",
  "updatedDate": "2026-08-31T08:02:17.137",
  "expiryDate": "2026-09-30T23:59:59",
  "company": "FDM Group",
  "companyUrl": "https://www.reed.co.uk/company-profile/FDM-Group-746",
  "companyLogo": "https://resources.reed.co.uk/profileimages/logos/thumbs/Logo_4784.png",
  "employerId": 377422,
  "recruiterType": "employer",
  "recruiterTier": "1",
  "isAgency": false,
  "isEmployer": true,
  "companySizeBracket": "2,500–4,999",
  "companySector": "IT & Telecoms",
  "companyWebsite": "https://www.fdmgroup.com",
  "companyBenefits": ["Career coaching, mentoring and access to upskilling", "..."],
  "companySocialLinks": {"facebook": "...", "linkedin": "...", "x": "...", "instagram": "..."},
  "location": "London",
  "town": "London",
  "county": "London",
  "region": "South East England",
  "country": "United Kingdom",
  "countryCode": "GB",
  "locationType": "hybrid",
  "isRemote": false,
  "contractType": "Contract",
  "contractDescription": "6-months",
  "employmentType": "Full-time",
  "isFullTime": true,
  "salaryMin": 80000.0,
  "salaryMax": 100000.0,
  "salaryMinPerAnnum": 80000.0,
  "salaryMaxPerAnnum": 100000.0,
  "salaryCurrency": "GBP",
  "salaryPeriod": "per annum",
  "salaryText": "£ 80,000 - £ 100,000 per annum",
  "salaryIsOte": false,
  "salaryIsProRata": false,
  "salaryIsNegotiable": false,
  "sector": "Software Developer",
  "sectorParent": "IT & Telecoms",
  "breadcrumbs": ["Information Technology", "Developer"],
  "skills": ["Azure Functions", "CI-CD", "Azure API Management", "Azure Databricks", "DevOps", "Python", "SQL"],
  "isGraduate": false,
  "isEasyApply": false,
  "isPromoted": true,
  "isFeatured": true,
  "hasUkEligibility": true,
  "source": "reed.co.uk",
  "searchKeyword": "developer",
  "scrapedAt": "2026-09-01T16:05:14.904477+00:00",
  "detailFetched": true
}
```

Each record can also include `description`, `descriptionHtml` and `descriptionMarkdown` — choose the format with the **Description format** input. When incremental mode is on, records carry a `changeType` field (`NEW` / `UPDATED` / `EXPIRED`).

#### Data fields

- **Core** — `id`, `title`, `url`, `snippet`, `datePosted`, `updatedDate`, `expiryDate`, `source`, `searchKeyword`, `scrapedAt`.
- **Description** (with `includeDetails`) — `description`, `descriptionHtml`, `descriptionMarkdown` (choose format via input).
- **Salary** — `salaryMin`, `salaryMax`, `salaryMinPerAnnum`, `salaryMaxPerAnnum`, `salaryCurrency`, `salaryPeriod`, `salaryText`, `salaryIsOte`, `salaryIsProRata`, `salaryIsNegotiable`.
- **Location** — `location`, `town`, `county`, `region`, `country`, `countryCode`, `postcode`, `locationType`, `isRemote`.
- **Company & recruiter** — `company`, `companyUrl`, `companyLogo`, `employerId`, `employerProfileId`, `recruiterType`, `recruiterReference`, `recruiterTier`, `isAgency`, `isEmployer`.
- **Company profile** (from employer page) — `companySizeBracket`, `companySector`, `companyWebsite`, `companyLocation`, `companyDescription`, `companyBenefits`, `companySocialLinks`, `companyTotalJobs`.
- **Contract & employment** — `contractType`, `contractDescription`, `employmentType`, `isFullTime`, `isPartTime`, `externalUrl`.
- **Classification** — `sector`, `sectorParent`, `breadcrumbs`, `skills`.
- **Flags** — `isGraduate`, `isEasyApply`, `isTrainingJob`, `isSurveyJob`, `isPromoted`, `isFeatured`, `isEarlyBird`, `hasUkEligibility`.
- **Contacts & signals** — `extractedEmails`, `extractedPhones`, `extractedUrls`, `socialProfiles`.
- **Incremental** — `changeType`, `isRepost`, `repostOfId`, `repostDetectedAt`, `contentHash`, `detailFetched`.

Every field is present in standard mode (missing values are `null`); **compact mode** returns the core fields only, for lean AI/MCP payloads. With **`excludeEmptyFields`** enabled, null/empty fields are omitted entirely.

***

### 💡 What can you do with Reed.co.uk data?

- **Lead generation** — filter listings by `requireContact` and export recruiter emails, phone numbers and company profiles straight into your outreach pipeline — plus company social links for multi-channel outreach.
- **Salary benchmarking** — compare structured min/max salary bands, per-annum normalisation and OTE flags across roles, sectors and regions.
- **Company intelligence** — employer size brackets, sectors, benefits lists, social links and company descriptions let you profile hiring organisations at scale without visiting each profile page.
- **Market & competitive research** — track which skills, sectors and locations are hiring, spot trends and size talent pools.
- **Job monitoring** — schedule it with incremental mode + notifications for a live change feed of new, updated and expired vacancies.
- **Enrichment & aggregation** — feed clean job data into your own app, spreadsheet or data warehouse.
- **AI agents & pipelines** — compact output plugs straight into LLM/MCP workflows for automated analysis or candidate matching.

***

### ♻️ Incremental monitoring — pay for changes, not repeats

Schedule the actor and turn on **incremental mode**: each run compares against the last and emits only **NEW / UPDATED / EXPIRED** records — unchanged jobs are skipped *before* their detail page is fetched, so a daily watch costs a fraction of a full re-scrape. Reed job listings tend to be long-lived, which means most recurring runs bill only a small delta.

| Daily churn | of 1,000 tracked | billable records | you save |
|---|---|---|---|
| 5 % | 1,000 | 50 | **95 %** |
| 15 % | 1,000 | 150 | **85 %** |
| 30 % | 1,000 | 300 | **70 %** |

The first run seeds the baseline and bills in full; every run after that bills only the delta. Built-in **repost detection** also flags recycled job ads that reappear under a new ID, so you never double-count.

***

### 💰 Pricing

This Actor uses the **pay-per-event** pricing model: a small fee at run start plus a per-record fee. It runs on lightweight requests with no proxy overhead, so the underlying platform cost is minimal.

See the Actor's **Pricing** tab for exact current prices.

***

### 🔌 Integrations & export

Export to **JSON, CSV, Excel** or an HTML table, or pull from the **REST API** and the **JavaScript / Python** clients. Runs on a **schedule**, connects to **Google Sheets, Slack, Make, Zapier and n8n**, and works as an **MCP tool** for AI agents — compact mode keeps token usage small.

***

### 🔗 Using the API

You can run this Actor from your own code. Example with the Apify Python client:

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_API_TOKEN>")

run_input = {
    "query": "software engineer",
    "location": "London",
    "maxResults": 50,
}

run = client.actor("corvuslab/reed-scraper").call(run_input=run_input)

print("Results: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

The Actor also works with the JavaScript/TypeScript client, the Apify CLI and the REST API.

***

### ❓ FAQ

**Do I need a proxy or login?** No — Reed.co.uk requires no special setup; the actor works out of the box. Apify Proxy is available under Advanced for very high-volume runs.

**Can I get only new jobs on a schedule?** Yes — turn on incremental mode and schedule it; each run emits only what changed and can notify your channel automatically.

**What formats can I export?** JSON, CSV, Excel, HTML table, or via the API.

**Is it good for AI agents?** Yes — enable compact mode and the output stays lean and MCP-friendly.

**How many records can I get?** Up to 10,000 per search query — set `maxResults` to cap results, or leave it at 0 for the maximum the search returns.

**What salary data is included?** Structured min/max, per-annum normalisation, currency, period, plus OTE, pro-rata and negotiable flags — no free-text parsing needed on your end.

**What company data is included?** Each employer's profile page is scraped automatically for company size bracket, sector, website URL, HQ location, a full company description, a structured benefits list and social media links (LinkedIn, Facebook, X, Instagram). This is included at no extra cost — some competing scrapers charge separately for enrichment.

**Can it notify me when new jobs appear?** Yes — add a Telegram, Slack, Discord or generic webhook target under Notifications, and combine with incremental mode so you only get pinged about new and updated jobs.

**Is scraping Reed.co.uk legal?** This actor collects only **publicly available** data on Reed.co.uk. You are responsible for how you use the extracted data — in particular any personal information — and for complying with the site's terms and applicable law (including the GDPR where it applies). Not affiliated with, endorsed by, or sponsored by Reed.

***

**Keywords:** reed scraper · reed.co.uk scraper · reed.co.uk api · reed jobs scraper · UK jobs scraper · reed job listings · scrape reed.co.uk · reed data extraction · UK job board scraper · reed salary data · reed company data · reed employer profile · company benefits scraper · job monitoring UK · reed job alerts · export reed jobs CSV · reed.co.uk data · job scraping tool · no-code job scraper · MCP tool for AI agents · company social links · employer size data

# Actor input Schema

## `query` (type: `string`):

Job-title or skill keywords, exactly as you'd type them into reed.co.uk (e.g. 'python developer', 'registered nurse'). Separate multiple searches with commas — each runs as its own search and results are merged and de-duplicated.

## `startUrls` (type: `array`):

Paste Reed.co.uk search or job-detail URLs to scrape directly. Bypasses keyword/filter inputs for those URLs.

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

UK town, city or postcode (e.g. 'London', 'Manchester', 'SW1A'). Leave empty for nationwide.

## `proximity` (type: `integer`):

Radius around the location in miles. Reed supports: 0, 1, 3, 5, 10, 15, 20, 30, 50. Ignored when no location is set.

## `maxResults` (type: `integer`):

Maximum number of jobs to return. Set 0 for unlimited (bounded by how many the search has, max 10,000).

## `permanent` (type: `boolean`):

Only permanent roles.

## `contract` (type: `boolean`):

Only contract roles.

## `temp` (type: `boolean`):

Only temporary roles.

## `fullTime` (type: `boolean`):

Only full-time roles.

## `partTime` (type: `boolean`):

Only part-time roles.

## `salaryFrom` (type: `integer`):

Only jobs paying at or above this annual GBP salary.

## `salaryTo` (type: `integer`):

Only jobs paying at or below this annual GBP salary.

## `postedBy` (type: `string`):

Restrict to jobs posted by recruitment agencies or directly by employers.

## `graduateOnly` (type: `boolean`):

Only graduate-suitable roles.

## `datePosted` (type: `string`):

Only jobs posted within this window.

## `ignoreUrlFailures` (type: `boolean`):

Skip URLs that cannot be interpreted instead of failing the whole run.

## `requireContact` (type: `string`):

Keep only records that include a contact. off = keep everything; email / phone = require that channel; either = at least one; both = email and phone. Screened at emit time, so it also trims what you're billed for.

## `includeDetails` (type: `boolean`):

Fetch each job's detail page for the richer fields (full description, skills, per-annum salary, postcode, recruiter tier). Turn off for the fastest, cheapest runs — listing data (title, company, salary range, location, snippet) is still included.

## `descriptionFormat` (type: `string`):

Which representation(s) of the job description to include.

## `descriptionMaxLength` (type: `integer`):

Truncate description to N characters. Leave empty for no truncation.

## `compact` (type: `boolean`):

Emit only the core fields (title, company, location, salary, type, date, URL). Ideal for AI agents and MCP clients.

## `excludeEmptyFields` (type: `boolean`):

Remove null, empty-string and empty-array fields from each record.

## `incrementalMode` (type: `boolean`):

Track state between runs and tag every record with a changeType (NEW / UPDATED / UNCHANGED / EXPIRED).

## `stateKey` (type: `string`):

Stable name for the tracked search (e.g. 'london-devs'). Different queries should use different keys. Leave empty to derive one automatically from your search settings.

## `emitUnchanged` (type: `boolean`):

Also emit records that have not changed since the previous run.

## `emitExpired` (type: `boolean`):

Emit records for jobs present last run but gone now.

## `telegramToken` (type: `string`):

Bot token from @BotFather.

## `telegramChatId` (type: `string`):

Chat or channel ID, e.g. "-100123456789" or "@yourchannel".

## `slackWebhookUrl` (type: `string`):

Slack incoming-webhook URL.

## `discordWebhookUrl` (type: `string`):

Discord incoming-webhook URL.

## `webhookUrl` (type: `string`):

Any HTTPS endpoint. Receives a JSON POST with the matched records — works with n8n, Make and Zapier.

## `webhookHeaders` (type: `object`):

Extra headers for the webhook request, e.g. {"Authorization": "Bearer xyz"}.

## `notificationLimit` (type: `integer`):

How many records to include in each notification message.

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

Optional. Reed has no anti-bot protection — no proxy is needed. Enable only if you encounter rate limiting at very high volumes.

## `maxRequestRetries` (type: `integer`):

How many times to retry a failed request before giving up on it.

## `detailConcurrency` (type: `integer`):

Max parallel requests for detail-page fetches. Keep modest to respect the site.

## Actor input object example

```json
{
  "query": "software engineer",
  "proximity": 10,
  "maxResults": 50,
  "permanent": false,
  "contract": false,
  "temp": false,
  "fullTime": false,
  "partTime": false,
  "postedBy": "any",
  "graduateOnly": false,
  "datePosted": "anytime",
  "ignoreUrlFailures": true,
  "requireContact": "off",
  "includeDetails": true,
  "descriptionFormat": "all",
  "compact": false,
  "excludeEmptyFields": false,
  "incrementalMode": false,
  "emitUnchanged": false,
  "emitExpired": false,
  "notificationLimit": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  },
  "maxRequestRetries": 3,
  "detailConcurrency": 6
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `allItems` (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 = {
    "query": "developer"
};

// Run the Actor and wait for it to finish
const run = await client.actor("corvuslab/reed-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 = { "query": "developer" }

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

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

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

```

## CLI example

```bash
echo '{
  "query": "developer"
}' |
apify call corvuslab/reed-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,corvuslab/reed-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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