UK Public Procurement API · Find a Tender, Contracts Finder

Who buys what, from whom.

Notices and contract awards from the two official UK notice services in one schema. Search by buyer, supplier name or Companies House number, CPV code, value and date, and see a supplier's awards by buyer and year or a buyer's notices and suppliers. Every record says which notice it came from.

request
curl -s "https://api.olympus.new-odyssey.com/v1/uk-procurement/awards?supplier_company_number=$COMPANY_NUMBER&cpv=72&date_from=2026-04-01&limit=25" \
  -H "X-API-Key: $OLYMPUS_API_KEY"
200 OK (shape)
{
  "data": [{
    "award_id": "fts:ocds-h6vhtk-…:…",
    "source": "fts",
    "title": "…",
    "status": "active",
    "award_sort_date": "2026-…",
    "value": { "amount": "…", "amount_gross": null, "currency": "GBP", "source": "award" },
    "buyer": { "buyer_id": "GB-PPON-…", "name": "…", "company_number": null, "buyer_path": "…" },
    "cpv_codes": ["72…"],
    "suppliers": [{ "name": "…", "company_number": "…", "ppon": "…", "supplier_path": "…" }],
    "provenance": { "source_id": "cabinet_office.find_a_tender_ocds", "source_url": "…", … }
  }],
  "meta": {
    "datasets": [ … ],
    "notices": [{ "code": "as_published", "message": "…" }],
    "pagination": { "limit": 25, "has_more": true, "next_cursor": "…" }
  }
}
Read this first

As published. Numbers link, names don't.

Values, dates and names are as the notices publish them, read through each service's documented OCDS API. Awards are compiled from every notice that carries them: the latest notice's value of each field, earlier notices filling gaps.

A supplier is linked to a company only through a Companies House number a notice publishes. Names are grouped by a normalised form for search, which is not identity. Buyers are not linked to council spending data: no published identifier connects them to council codes, and names are never matched.

Endpoints

Notices, awards, suppliers, buyers, coverage.

Lists use cursor pagination. Coverage lists the days loaded from each service, so you can tell “nothing published” from “not loaded”.

EndpointWhat it returns
GET/v1/uk-procurement/noticesSearch notices
GET/v1/uk-procurement/awardsSearch awards
GET/v1/uk-procurement/awards/{award_id}Get an award
GET/v1/uk-procurement/suppliers/{company_number}Summarise a supplier by Companies House number
GET/v1/uk-procurement/buyers/{buyer_id}Summarise a buyer
GET/v1/uk-procurement/coverageWhat is loaded
Sources

Two services, one schema.

Both are Cabinet Office services publishing under the Open Government Licence v3.0. A procurement can appear on both; the two are kept apart (each record names its source) and are not deduplicated.

serviceWhat it holds
Find a TenderOCDS release packages API. Above-threshold notices, and every Procurement Act 2023 notice since 24 February 2025 (tender, award, contract details, change and termination notices).
Contracts FinderOCDS notice search API. Mostly award notices of procurements run under the earlier regulations, including lower-value contracts.
Know before you build

Limits

Day windows

Data is loaded incrementally, one day at a time, by each service's last-updated or published date, and recent days are re-read for late edits. Coverage lists the days loaded and any gaps.

Whole-award values

An award's value is the value of the whole award. Supplier totals count only awards where the company is the sole supplier; framework awards shared by many suppliers are counted, not summed.

People

Contact points are never stored. Suppliers can be sole traders: their names are served as published, and only organisations with a Companies House number are linked to other data.