# UK Public Tender Alerts - Find a Tender & Contracts Finder (`orange_briefcase_hrj/uk-tender-alerts`) Actor

$1.50 per 1,000 notices. Daily UK government tender alerts from Find a Tender and Contracts Finder. Filter by keyword, CPV code, region, value and deadline; cross-posted notices are merged and an alert mode returns only new notices.

- **URL**: https://apify.com/orange_briefcase_hrj/uk-tender-alerts.md
- **Developed by:** [Fast Agent](https://apify.com/orange_briefcase_hrj) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 new tender notices

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

**Price: $1.50 per 1,000 new tender notices** ($1.35 on Apify Scale, $1.20 on Business and above) · no API key, login or proxy · official UK government data under the Open Government Licence

Get **daily UK government tender alerts** from both official procurement services, **Find a Tender** and **Contracts Finder**, in one clean feed. You can filter by keyword, CPV code, region, contract value, deadline and notice type. The Actor merges notices that were posted on both services and **returns only the tenders that are new since your last run**, so a scheduled run works as an alert service for UK public sector contracts.

Bid writers, SMEs, consultancies and sales teams can use it to stop checking two government websites by hand. It returns structured JSON, CSV or Excel that you can send to email, Slack, Google Sheets or a CRM.

### What does UK Public Tender Alerts do?

- Queries the official **Find a Tender (FTS) OCDS API** and the **Contracts Finder OCDS API**. Neither needs an API key, a login or a proxy.
- Converts both into **one consistent schema**: title, buyer, value, deadline, CPV codes, regions, SME suitability, contract dates, notice link and more.
- **Filters** by keywords (any or all, title or full text), excluded words, CPV prefixes, UK regions, minimum and maximum value, deadline, buyer name, SME suitability and notice type (open tenders, pipeline or planning notices, awards, updates, cancellations).
- **Removes duplicates** when the same opportunity appears on both services. The Find a Tender version is kept and the other link goes in `alsoPublishedOn`. Re-published or corrected notices for the same procurement and stage (same OCID) are merged too, keeping the latest. A tender and its later award stay separate.
- **"Only new since last run" mode** (switch it on for alerts). The Actor remembers what it has already delivered for each alert, so a daily schedule gives you only fresh notices.
- Saves an optional **summary digest** with counts, top buyers, the largest contracts and those closing soonest.
- Paces its requests to the government APIs (1 request per second per service by default) and retries automatically with back-off.

### Why use it?

- **Win more public sector work:** see relevant tenders on the day they are published, not days later.
- **One feed instead of two websites:** above-threshold and below-threshold opportunities across England, Wales, Scotland and Northern Ireland.
- **Market intelligence:** switch on award notices to see who is winning which contracts, at what value, and when they end.
- **Cheap and fast:** the data comes straight from official APIs with no browser or proxy, so a daily run takes seconds.

### Use it from ChatGPT, Claude or Cursor

Ask your AI assistant about UK public sector contracts in plain English and get live answers from Find a Tender and Contracts Finder, not stale training data.

This Actor works as a tool in any AI assistant that supports the [Model Context Protocol (MCP)](https://modelcontextprotocol.io), through the official [Apify MCP server](https://docs.apify.com/platform/integrations/mcp). You ask in plain language; the assistant fills in the filters, runs the Actor and answers from the results.

**MCP server URL (this Actor only):**

```text
https://mcp.apify.com?tools=orange_briefcase_hrj/uk-tender-alerts
```

**Set it up once (you need a free Apify account):**

- **Claude (claude.ai and Claude Desktop):** open **Settings → Connectors → Add → Add custom connector**. Enter a name (for example `UK tenders`), paste the URL above as the **Remote MCP server URL**, select **Continue**, keep the detected settings and select **Add**. Sign in to Apify when your browser opens. On Team and Enterprise plans, an Owner adds the connector for the organisation.
- **ChatGPT:** custom connectors need ChatGPT **Developer mode** (beta). Go to **Settings → Apps & Connectors → Create**, paste the URL above as the **MCP Server URL**, choose **OAuth** authentication and select **Create**, then sign in to Apify. In a new chat, select **+ → More** and pick the connector.
- **Cursor:** add this to `~/.cursor/mcp.json` (or `.cursor/mcp.json` in a project). Cursor opens your browser to sign in to Apify:

```json
{
  "mcpServers": {
    "uk-tender-alerts": {
      "url": "https://mcp.apify.com?tools=orange_briefcase_hrj/uk-tender-alerts"
    }
  }
}
```

- **VS Code, Windsurf and other MCP clients:** add the same URL as a remote (Streamable HTTP) MCP server. If a client can't do OAuth, send the header `Authorization: Bearer <YOUR_APIFY_TOKEN>` instead (token from **Apify Console → Settings → API & Integrations**).

Already connected to the full Apify server (`https://mcp.apify.com`) or the Apify plugin for Cursor, Claude Code or VS Code? Just mention `orange_briefcase_hrj/uk-tender-alerts` in your request.

**Try asking:**

> "Find NHS IT tenders closing in the next 30 days worth over £100,000, and list the buyer, value and deadline."
>
> "Show me construction tenders in Scotland published in the last 7 days that are marked suitable for SMEs."
>
> "Who won UK government IT services contracts (CPV 72000000) in the last 30 days, and for how much?"

**Cost:** a run started by your assistant is a normal run of this Actor, billed to your Apify account at the usual pay-per-event price ($1.50 per 1,000 notices, see the pricing section below). This Actor charges nothing extra for runs that come through an assistant. Asking for a small number of results (for example "the top 20") keeps runs cheap, and the Apify Free plan's monthly credit covers plenty of tests.

### Screenshots

Real output from the saved example tasks (test runs on 26 October 2026):

![Construction tenders in Scotland: dataset overview with title, buyer, value, deadline, regions and source](https://api.apify.com/v2/key-value-stores/NpvgdYoKm28QhbrG7/records/uk-tender-alerts-output.png)

![UK government IT contract awards: winning suppliers and awarded values](https://api.apify.com/v2/key-value-stores/NpvgdYoKm28QhbrG7/records/uk-tender-alerts-awards.png)

#### Ready-made example tasks

- **NHS IT tenders daily alert**: CPV `72000000` + `48000000`, buyer name contains `NHS`, open tenders only, only new.
- **Construction tenders in Scotland**: CPV `45000000`, region `Scotland` (UK-wide notices excluded), only new.
- **UK government IT contract awards**: CPV `72000000`, notice type `award`, to see who won what and for how much.

### How to use it

1. Enter your **keywords** (for example `software`, `cyber security`, `grounds maintenance`) and, if you like, **CPV codes** (for example `72000000` for IT services).
2. Optionally pick **regions**, a **value range** and the **notice types** you want (open tenders by default).
3. For alerts, switch on **Only new since last run** (it is off by default, so a one-off run returns everything in the look-back window) and add a **daily schedule** in Apify Console.
4. Connect the output to email, Slack, Google Sheets, Zapier or Make through Apify integrations, or download the data as CSV, Excel or JSON.

#### Input example

```json
{
  "keywords": ["software", "digital transformation"],
  "cpvCodes": ["72000000", "48000000"],
  "regions": ["London", "South East"],
  "minValue": 25000,
  "noticeTypes": ["tender"],
  "lookbackDays": 7,
  "onlyNew": true,
  "includeSummary": true
}
```

#### Output example

```json
{
  "title": "T26-121CRO Committee Management Software",
  "buyerName": "Derry City and Strabane District Council",
  "noticeType": "tender",
  "source": "Find a Tender",
  "noticeUrl": "https://www.find-tender.service.gov.uk/Notice/099288-2026",
  "alsoPublishedOn": [],
  "publishedAt": "2026-10-21T08:57:46Z",
  "deadline": "2026-11-20T12:00:00Z",
  "deadlineType": "tenderSubmission",
  "valueAmount": 45000,
  "valueCurrency": "GBP",
  "description": "Derry City and Strabane District Council is seeking tenders from companies for a Committee Management Software...",
  "cpvCodes": ["48780000", "48781000", "72212783", "48517000", "48000000", "48900000"],
  "regions": ["Northern Ireland"],
  "buyerPostcode": "BT48 7NN",
  "mainCategory": "services",
  "procurementMethod": "Below threshold - open competition",
  "contractStart": "2027-03-01T00:00:00Z",
  "contractEnd": "2030-03-01T23:59:59Z",
  "ocid": "ocds-h6vhtk-078c70",
  "matchedKeywords": ["software"],
  "firstSeenAt": "2026-10-26T10:33:01Z",
  "dataLicence": "Contains public sector information licensed under the Open Government Licence v3.0 ..."
}
```

Award notices also include the winners and the awarded value, for example `"awardedValue": 269500, "awardedSuppliers": [{"name": "ERNST & YOUNG LLP", "id": "GB-COH-OC300001"}]`.

The dataset has an **overview table view** (title, buyer, type, value, deadline, regions, CPV, source, link). The **SUMMARY** record in the run's key-value store holds the digest.

#### Output fields

| Field | Description |
|---|---|
| `title`, `description` | Notice title and full description |
| `buyerName`, `buyerPostcode`, `buyerReference` | Contracting authority and its reference |
| `noticeType` | `tender`, `tenderUpdate`, `tenderCancellation`, `planning`, `award`, `contractTermination` |
| `source`, `noticeUrl`, `alsoPublishedOn` | Which service published it, and links to the official notice |
| `publishedAt`, `deadline`, `deadlineType` | Publication time and submission (or expression-of-interest) deadline, in UTC |
| `valueAmount`, `valueCurrency`, `awardedValue`, `awardedSuppliers` | Estimated value; for awards, the winners and awarded value |
| `cpvCodes`, `cpvDescriptions`, `regions`, `mainCategory` | Classification and location |
| `suitableForSme`, `suitableForVcse`, `procurementMethod`, `contractStart`, `contractEnd` | Procurement details |
| `ocid`, `noticeId`, `dedupeKey`, `firstSeenAt`, `matchedKeywords` | Identifiers and alert metadata |
| `buyerContactName`, `buyerContactEmail`, `buyerContactPhone`, `buyerWebsite` | Only if **Include buyer contact details** is switched on |

### Tips

- **CPV prefixes:** `72000000` matches every code starting with `72` (IT services), and `45000000` matches all construction work. Combining CPV codes with keywords gives the most precise alerts.
- **Precision:** set **Search keywords in** to *Title only* if full-text matching returns too many loosely related notices.
- **Several alerts:** give each alert its own **Alert name (state key)**, or simply use different filters. Each filter set keeps its own memory.
- **Coverage since 2025:** under the Procurement Act 2023, most new procurements are published on Find a Tender, including below-threshold ones. Contracts Finder still carries legacy and some below-threshold notices, so querying both gives the fullest picture.
- **Regions:** Find a Tender uses ITL/NUTS codes. Where Contracts Finder gives only a postcode, the Actor maps it to a region using the free postcodes.io service.

### How much does it cost?

This Actor uses pay-per-event pricing. You pay only for what it delivers, and Apify platform costs are included.

| Apify plan (Store discount tier) | Price per new notice | Per 1,000 |
|---|---|---|
| Free, Starter (Bronze) | $0.0015 | $1.50 |
| Scale (Silver) | $0.00135 | $1.35 |
| Business (Gold) and above | $0.0012 | $1.20 |

Each run also has an **Actor start** charge of $0.00005, and a **run summary** charge of $0.002 when *Save a summary* is on (the default). With *Only new since last run* switched on you never pay twice for the same notice.

**Worked examples (Free/Starter prices):**

- **Daily alert, about 5 new notices a day:** 30 runs × ($0.00005 start + $0.002 summary) + 150 notices × $0.0015 = **about $0.29 a month**.
- **One-off export of 1,000 notices** (for example a 30-day backfill for a broad CPV code): $0.00005 + 1,000 × $0.0015 + $0.002 = **about $1.50**.
- **Weekly market scan of 200 contract awards:** 4 runs × $0.00205 + 800 × $0.0015 = **about $1.21 a month**.

The **Apify Free plan includes $5 of platform usage every month** (see [apify.com/pricing](https://apify.com/pricing)), and pay-per-event charges are paid from that credit. That's enough for the daily alert above several times over, or about 3,250 notices a month on a daily schedule. Use **Max notices per run** and Apify's maximum cost per run to cap spend.

A typical 7-day search uses roughly 30 requests to the government APIs and finishes in a few minutes, mostly spent waiting politely for their rate limits. A daily "only new" run is usually quicker.

### Use via API (Python, JavaScript, cURL)

You can start the Actor from your own code with the official [Apify API clients](https://docs.apify.com/api/client). Get your API token from **Apify Console → Settings → API & Integrations**.

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("orange_briefcase_hrj/uk-tender-alerts").call(run_input={
    "keywords": ["software"],
    "cpvCodes": ["72000000"],
    "noticeTypes": ["tender"],
    "lookbackDays": 7,
    "onlyNew": False,
})

for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

Install with `pip install apify-client`.

#### JavaScript / Node.js

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

const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('orange_briefcase_hrj/uk-tender-alerts').call({
    keywords: ['software'],
    cpvCodes: ['72000000'],
    noticeTypes: ['tender'],
    lookbackDays: 7,
    onlyNew: false,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

Install with `npm install apify-client`.

#### cURL

This runs the Actor and returns the dataset items in the same request (best for short runs):

```bash
curl -X POST "https://api.apify.com/v2/acts/orange_briefcase_hrj~uk-tender-alerts/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"keywords": ["software"], "cpvCodes": ["72000000"], "noticeTypes": ["tender"], "lookbackDays": 7, "onlyNew": false}'
```

For longer runs, call `POST /v2/acts/orange_briefcase_hrj~uk-tender-alerts/runs` and read the dataset when the run finishes. You can also add the Actor to Zapier, Make, n8n or a webhook from the **Integrations** tab.

### Data source, licence and attribution

All data comes from UK government sources: **Find a Tender** (https://www.find-tender.service.gov.uk) and **Contracts Finder** (https://www.contractsfinder.service.gov.uk), both run by the Cabinet Office. Their notice data is published under the **Open Government Licence v3.0** (https://www.nationalarchives.gov.uk/doc/open-government-licence/version/3/). Every record carries the attribution statement:

> Contains public sector information licensed under the Open Government Licence v3.0.

If you republish the data, keep this attribution. This Actor is an **independent tool**. It is not affiliated with or endorsed by the Cabinet Office, Find a Tender or Contracts Finder. Always check the official notice before you bid.

**Personal data:** buyer contact names, emails and phone numbers are left out by default. If you switch them on, use them only to respond to the procurement, in line with UK GDPR. The OGL does not cover personal data.

### Related tools

Other tools from the same publisher, all built on official open-data APIs:

| Tool | What it does |
|---|---|
| [UK Company Check & Change Monitor](https://apify.com/orange_briefcase_hrj/uk-company-check) | Bulk Companies House checks with a RED/AMBER/GREEN risk flag, plus a monitor mode that outputs only changes. |
| [German Case Law Search & Ruling Alerts](https://apify.com/orange_briefcase_hrj/german-case-law-search) | Search BGH, BVerfG, BAG, BFH and other German federal court decisions, with full text and new-ruling alerts. |
| [Sweden Job Ads API (Platsbanken)](https://apify.com/orange_briefcase_hrj/sweden-job-ads-platsbanken) | Swedish job ads from Arbetsförmedlingen's official JobTech API, with English labels and daily alerts. |
| [Netherlands Public Tender Alerts (TenderNed)](https://apify.com/orange_briefcase_hrj/netherlands-tender-alerts) | Daily alerts for new Dutch government tenders from TenderNed, filtered by keyword, CPV and province. |

**Tip:** run the buyers or winning suppliers from award notices (`awardedSuppliers[].id` can hold a Companies House number such as `GB-COH-01782505`; enter it without the `GB-COH-` prefix) in **UK Company Check** to vet them before you bid or partner.

### FAQ

**Do I need an API key or a government login?** No. Both APIs are public.

**How often should I run it?** Once a day is ideal. Use an Apify schedule with "Only new since last run" switched on.

**Can I get contract award data?** Yes. Add `award` to **Notice types** to see winning suppliers and awarded values.

**Something is missing or wrong?** Open an issue on the Actor's Issues tab and include your input. We usually reply within a few days.

**Where can I see what changed?** See the Changelog tab. Each release is listed there.

# Changelog

This Actor's version history is a separate document: https://apify.com/orange_briefcase_hrj/uk-tender-alerts/changelog.md

# Actor input Schema

## `keywords` (type: `array`):

Words or phrases to look for in the notice title and description (case-insensitive, whole words). Leave empty to get every notice that matches the other filters.

## `keywordMatch` (type: `string`):

Match notices containing ANY of the keywords, or ALL of them.

## `searchIn` (type: `string`):

Look for keywords in the title and description, or in the title only (fewer, more precise matches).

## `excludeKeywords` (type: `array`):

Skip notices whose title or description contains any of these words.

## `cpvCodes` (type: `array`):

Common Procurement Vocabulary codes. Prefix matching: 72000000 matches every IT service code starting with 72; 48000000 matches software packages. Leave empty for all.

## `regions` (type: `array`):

Limit to delivery/buyer regions. Valid values: North East, North West, Yorkshire and The Humber, East Midlands, West Midlands, East of England, London, South East, South West, Wales, Scotland, Northern Ireland. Leave empty for the whole UK.

## `includeNationwide` (type: `boolean`):

When regions are set, also keep notices marked as UK-wide or England-wide.

## `minValue` (type: `integer`):

Minimum estimated contract value in pounds (excluding VAT where stated). For award notices the awarded value is used.

## `maxValue` (type: `integer`):

Maximum estimated contract value in pounds.

## `includeUnknownValue` (type: `boolean`):

When a value range is set, keep notices that do not state a value.

## `deadlineFrom` (type: `string`):

Only keep notices whose tender submission deadline is on or after this date (YYYY-MM-DD). Notices without a deadline are kept.

## `excludeExpired` (type: `boolean`):

Drop tender notices whose submission deadline is already in the past.

## `noticeTypes` (type: `array`):

Which kinds of notice to return. 'tender' = open opportunities; 'planning' = pipeline / pre-market engagement; 'award' = contract awards; plus updates, cancellations and terminations.

## `buyerContains` (type: `array`):

Only keep notices whose buyer name contains one of these strings (e.g. 'NHS', 'Council').

## `smeSuitableOnly` (type: `boolean`):

Only keep notices the buyer has flagged as suitable for small and medium-sized enterprises.

## `lookbackDays` (type: `integer`):

How many days of notices to fetch on a normal run, or on the first run in 'only new' mode (1-90).

## `onlyNew` (type: `boolean`):

Off by default (every run returns all matching notices in the look-back window). Switch on for alerts: the Actor remembers notices already delivered (per filter set) and only outputs new ones. Ideal for a daily schedule.

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

Optional name for this alert's memory. By default it is derived from your filters, so changing filters starts a fresh alert.

## `includeSummary` (type: `boolean`):

Save a digest (counts, top buyers, largest and closing-soonest notices) as SUMMARY in the run's key-value store.

## `includeBuyerContacts` (type: `boolean`):

Add the buyer's published contact name, email, phone and website. These can be personal data: use them only for responding to the tender, in line with UK GDPR.

## `sources` (type: `array`):

Which government services to query.

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

Stop after this many new notices. Anything left over is picked up on the next run.

## `maxPagesPerSource` (type: `integer`):

Safety cap on API pages (100 notices each) fetched per source.

## `requestIntervalSecs` (type: `number`):

Polite delay between API calls to each government service.

## Actor input object example

```json
{
  "keywords": [
    "software"
  ],
  "keywordMatch": "any",
  "searchIn": "titleAndDescription",
  "excludeKeywords": [],
  "cpvCodes": [],
  "regions": [],
  "includeNationwide": true,
  "includeUnknownValue": true,
  "excludeExpired": true,
  "noticeTypes": [
    "tender"
  ],
  "buyerContains": [],
  "smeSuitableOnly": false,
  "lookbackDays": 7,
  "onlyNew": false,
  "includeSummary": true,
  "includeBuyerContacts": false,
  "sources": [
    "findATender",
    "contractsFinder"
  ],
  "maxResults": 1000,
  "maxPagesPerSource": 300,
  "requestIntervalSecs": 1
}
```

# Actor output Schema

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

No description

## `summary` (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 = {
    "keywords": [
        "software"
    ],
    "cpvCodes": []
};

// Run the Actor and wait for it to finish
const run = await client.actor("orange_briefcase_hrj/uk-tender-alerts").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 = {
    "keywords": ["software"],
    "cpvCodes": [],
}

# Run the Actor and wait for it to finish
run = client.actor("orange_briefcase_hrj/uk-tender-alerts").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 '{
  "keywords": [
    "software"
  ],
  "cpvCodes": []
}' |
apify call orange_briefcase_hrj/uk-tender-alerts --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,orange_briefcase_hrj/uk-tender-alerts"
        }
    }
}
```

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/gDA0wTX72twi5TKg5/builds/etSYlxbGtaiUJYhvj/openapi.json
