Government & Tenders

UK Tenders API

The UK Tenders API returns contract opportunities and awards published by UK public bodies on Contracts Finder — central government, the NHS, councils and universities — as clean JSON, with no api_key.

2 actionsLive JSON1,000 free creditsMCP-ready
Get a free keyOpen in playground

🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.

The primary search endpoint returns notices with id, url, notice_identifier, title, the full notice description, the buyer, notice_type, status, published_at, deadline, contract_start and contract_end, value_low, value_high and value_currency, plus awarded_value, awarded_supplier and awarded_at once a contract is let, the cpv_codes with their description, region, postcode and the suitable_for_sme flag — alongside total_matches. notice expands one record into every award row (supplier, supplier address, value, dates and procedure type), coordinates, sector and the buyer's published contact. It is built for public-sector bid pipelines and procurement-market analysis. One ReefAPI key, one shared credit pool, the standard envelope.

Live example

Real request and response JSON

Captured from the indexed primary action, search, on .

Captured request
{
  "method": "POST",
  "url": "https://api.reefapi.com/uk-tenders/v1/search",
  "headers": {
    "x-api-key": "$REEF_KEY",
    "content-type": "application/json"
  },
  "body": {
    "q": "web scraping",
    "limit": 10
  }
}
Captured response
{
  "ok": true,
  "meta": {
    "api": "uk-tenders",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 1552.5,
    "record_count": 10,
    "bytes": 28952,
    "cache_hit": false,
    "stop_reason": "limit_reached",
    "method": "keyless_public_json_api_bare_dc_curl_cffi",
    "source": "contractsfinder.service.gov.uk",
    "sort_applied": "newest",
    "upstream_sort_supported": false,
    "filters": [
      "keyword"
    ]
  },
  "data": {
    "notices": [
      {
        "id": "a03c5aa[redacted-phone]fc-ab14-6a80b6e5ac01",
        "url": "https://www.contractsfinder.service.gov.uk/Notice/a03c5aa[redacted-phone]fc-ab14-6a80b6e5ac01",
        "notice_identifier": "IT-514-532-P/REF 00000532 - AWARD",
        "title": "Knowing the Heritage Sector Phase 4 - catalogue of heritage enterprises in England - UID 148 - AWARD",
        "description": "Historic England is commissioning Phase 4 of its \"Knowing the Heritage Sector\" programme to address the lack of reliable market intelligence about heritage enterprises in England. This phase will deliver a minimum viable product (MVP) comprising an initial catalogue of heritage enterprises, aligned to consistent data structures and standards, and accompanied by three static dashboard design concepts to illustrate potential data presentation formats. The catalogue will draw on multiple data sources and employ methods such as web-scraping and machine learning, supplemented by manual review, to a",
        "buyer": "Historic England",
        "notice_type": "Contract",
        "status": "Awarded",
        "published_at": "[redacted-phone]T16:26:59Z",
        "deadline": "[redacted-phone]T09:30:00Z",
        "approach_market_date": null,
        "contract_start": "[redacted-phone]T00:00:00Z",
        "contract_end": "[redacted-phone]T00:00:00Z",
        "value_low": 0,
        "value_high": 229617.5,
        "value_currency": "GBP",
        "awarded_value": 229617.5,
        "awarded_supplier": "The Audience Agency",
        "awarded_at": "[redacted-phone]T23:00:00Z",
        "awarded_to_sme": false,
        "cpv_codes": [
          "73000000",
          "73200000",
          "79000000"
        ],
        "cpv_description": "Research and development services and related consultancy services, Research and development consultancy services, Business services: law, marketing, consulting, recruitment, printing and security, Market and economic research; polling and statistics, Market research services, Survey services, Research and experimental development services",
        "region": "Any region",
        "postcode": "SN2 2EH",
        "sector": null,
        "suitable_for_sme": false,
        "is_sub_notice": false,
        "last_updated": "[redacted-phone]T16:26:59Z"
      },
      {
        "id": "310e578d-ead1-4bc1-b971-6c1d850783c1",
        "url": "https://www.contractsfinder.service.gov.uk/Notice/310e578d-ead1-4bc1-b971-6c1d850783c1",
        "notice_identifier": "CF-0025300D8d000009sg5IEAQ",
        "title": "Tender for Provision of Proactive Monitoring and Take Down Service",
        "description": "This is an award notice related to FTS Notice reference: 2024/S [redacted-phone].\n\nThe FCA is seeking to appoint a supplier to provide web scanning and cybercrime disruption services\nin relation to investment scams that target UK consumers.\nThe FCA requires services that will support the FCA in its proactive identification and takedown of websites, telephone numbers and social media accounts containing infringing\ncontent, with a particular focus on illegal financial promotions of products and services of\ninvestments or financial services. We are also looking for the supplier to have strong dat",
        "buyer": "FCA",
        "notice_type": "Contract",
        "status": "Awarded",
        "published_at": "[redacted-phone]T11:59:53Z",
        "deadline": "[redacted-phone]T12:00:00Z",
        "approach_market_date": null,
        "contract_start": "[redacted-phone]T23:00:00Z",
        "contract_end": "[redacted-phone]T23:00:00Z",
        "value_low": 295946,
        "value_high": 466858,
        "value_currency": "GBP",
        "awarded_value": 295946,
        "awarded_supplier": "Incopro Limited",
        "awarded_at": "[redacted-phone]T23:00:00Z",
        "awarded_to_sme": false,
        "cpv_codes": [
          "66000000",
          "66100000",
          "66150000"
        ],
        "cpv_description": "Financial and insurance services, Banking and investment services, Financial markets administration services",
        "region": "London",
        "postcode": "E20 1JN",
        "sector": null,
        "suitable_for_sme": true,
        "is_sub_notice": false,
        "last_updated": "[redacted-phone]T11:59:53Z"
      },
      {
        "id": "ec641d32-1f15-48f3-9458-bc4cd94b04c5",
        "url": "https://www.contractsfinder.service.gov.uk/Notice/ec641d32-1f15-48f3-9458-bc4cd94b04c5",
        "notice_identifier": "CF-0021000D8d000009sg5IEAQ",
        "title": "Provision of Web Scraping API",
        "description": "Provision of Web Scraping API",
        "buyer": "Financial Conduct Authority",
        "notice_type": "Contract",
        "status": "Awarded",
        "published_at": "[redacted-phone]T15:27:39Z",
        "deadline": "[redacted-phone]T12:00:00Z",
        "approach_market_date": null,
        "contract_start": "[redacted-phone]T00:00:00Z",
        "contract_end": "[redacted-phone]T00:00:00Z",
        "value_low": 192212,
        "value_high": 192212,
        "value_currency": "GBP",
        "awarded_value": 192212,
        "awarded_supplier": "ScrapingBee",
        "awarded_at": "[redacted-phone]T00:00:00Z",
        "awarded_to_sme": false,
        "cpv_codes": [
          "48000000"
        ],
        "cpv_description": "Software package and information systems",
        "region": "Any region",
        "postcode": "E20 1JN",
        "sector": null,
        "suitable_for_sme": true,
        "is_sub_notice": false,
        "last_updated": "[redacted-phone]T15:27:39Z"
      }
    ],
    "total_matches": 12,
    "returned": 10,
    "query_sent": "\"web scraping\"",
    "phrase": true,
    "truncated": true,
    "paging_supported": false,
    "source": "contractsfinder.service.gov.uk"
  }
}
Actions

What the UK Tenders API does

ActionDescriptionConcrete use caseKey params
searchSearch UK public-sector contract notices by phrase, status, value, deadline, CPV code and publication date. Every hit already carries the FULL notice text (no second call), plus the money: the published value range for live tenders, and the winning supplier, the awarded amount and the contract end date for awards.Ops teams call search to search UK public-sector contract notices by phrase, status, value, deadline, CPV code and pub….q, phrase, statuses, notice_types, published_from, ...
noticeOne notice in full by id: the buyer's published contact details (name, e-mail, phone, address), the 'how to respond' instructions with the portal link, the procedure type, the number of times the notice has been viewed (a competition signal), and the complete award block — every winning supplier with their address, the amount and the contract start and end dates. None of this is in the search response.Developer tools call notice to get one notice in full by id.id
Code samples

Call search from your stack

curl -X POST https://api.reefapi.com/uk-tenders/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"q":"web scraping","limit":10}'
MCP one-liner
Ask your MCP-connected assistant: call reefapi.uk-tenders.search with {"q":"web scraping","limit":10}.
Use cases

Who uses this API and why

  • Public-sector sales teams call search to find open UK tenders in their CPV codes and check the deadline and contract value before bidding.
  • Procurement analysts read awarded_supplier and awarded_value across award notices to size a market and see who is winning it.
  • SME-focused bid teams filter on suitable_for_sme and the value range to find contracts they can realistically win.
  • Competitive-intelligence tools use notice to read every award row on a framework, including supplier address and procedure type.
FAQ

Questions developers ask before integrating

What is the UK Tenders API?

UK Tenders API is a ReefAPI endpoint group for uk public-sector tender notices and awards with values, deadlines and buyers. It returns live JSON through POST requests under /uk-tenders/v1.

Is the UK Tenders API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. UK Tenders calls use the same shared credit balance as every other ReefAPI engine.

Do I need a UK Tenders login or account?

No login to UK Tenders is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the UK Tenders data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the UK Tenders API use?

UK Tenders actions currently cost 1 credit per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call UK Tenders from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call uk-tenders actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the UK Tenders API a UK Tenders scraper?

It is the managed alternative to a DIY UK Tenders scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same uk public-sector tender notices and awards with values, deadlines and buyers back as clean JSON.

Why does my UK Tenders scraper keep getting blocked?

Most UK Tenders scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked or failed calls are free.

docs / uk-tenders

UK Tenders

UK public-sector tender notices and awards with values, deadlines and buyers.

base /uk-tenders/v12 endpoints
post/uk-tenders/v1/notice1 credit

One notice in full by id: the buyer's published contact details (name, e-mail, phone, address), the 'how to respond' instructions with the portal link, the procedure type, the number of times the notice has been viewed (a competition signal), and the complete award block — every winning supplier with their address, the amount and the contract start and end dates. None of this is in the search response.

ParameterAllowed / rangeDescription
idrequiredThe Contracts Finder notice UUID, as returned by `search` in `id`. A full notice URL also works — the id is read out of it.
Try in playground →