UK company public procurement (FTS, Contracts Finder)
get_uk_company_public_procurementPublic-procurement record of a UK company from Find a Tender (above-threshold notices since 2021) and Contracts Finder (below-threshold since 2023), Cabinet Office OCDS feeds under OGL v3: contracts WON matched by company number (attributions: buyer, subject, contract value in GBP, award / signature dates, contract period, status, official notice link, source fts | cf) and notices ISSUED as a buyer (avis_emis), newest first, 100 each at most with tronque_*, totals (nombre_attributions, valeur_totale_gbp, nombre_avis_emis) and stock per feed. Only about half of suppliers carry a company number and natural persons never do: aucune_attribution: true is a NON-conclusive absence; aucun_marche: true means the company was confirmed at Companies House with nothing matched. Facts only, no score. Paid via x402 ($0.02 in USDC or EURC).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| api_key | No | Optional Sirenic API key (srn_live_…) to pay with prepaid credits instead of x402 — no wallet needed. Get one at https://api.sirenic.eu/compte. Ignored when x_payment is provided (the signed payment wins). On insufficient balance the tool returns a credits error, not an x402 quote. | |
| x_payment | No | Optional signed x402 PAYMENT-SIGNATURE header value. Omit to receive the payment quote. | |
| company_number | Yes | 8-character UK company number, leading zeros included (e.g. 10868035, SC540982) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| hint | No | How to settle the quote, present when payment_required is true. | |
| quote | No | The signable x402 payment requirements when payment_required is true: {x402Version, accepts[]} where each entry carries scheme, network, amount, asset and payTo (USDC and EURC options at the same numeric amount). Sign one entry and call again with `x_payment`. | |
| resultat | No | The endpoint's JSON response when payment_required is false. Paid responses carry `source`, `disclaimer` and an Ed25519 signature, and every paid JSON response carries a `provenance` array (all tools since 2026-09-06) — one entry per block served, with the official register, licence, version, `as_of` date and `precision_as_of` (what that date means), plus the common per-block envelope: `etat` in a closed list (servi, absence_mesuree, absence_non_conclusive, partiel, perime, indisponible, sans_objet), `motif` when unavailable, `age_jours` (only for publication or ingestion dates), `couverture` (complete / partielle / non_mesurable with its measure) and `confiance` in bands (faible / moyenne / forte, only where a measure grounds it, never averaged across blocks). Read the states before the numbers: an absence_non_conclusive, indisponible or partiel block is never « nothing to report » — only absence_mesuree asserts an absence. Register codes: GET /v1/provenance/registres ; states, closed lists and reading rules: GET /v1/lecture (both free). The PDF tools carry no JSON envelope (the PDF report prints it). | |
| payment_required | Yes | True when this response is an x402 payment quote instead of data: settle one of the quote's `accepts` options and call the tool again with `x_payment`. |