Send a supplier profile (what you do, keywords, regions, value band, certifications) and g
Send a supplier profile (what you do, keywords, regions, value band, certifications) and get the best-fitting live UK tenders, each scored 0-100 by deterministic published rules across five factors - relevance, value fit, geography, timeline, buyer history - each with its numerator AND denominator so you can re-weight client-side, plus a what-to-emphasise note on the top matches. Rules score; a model never does.
200000 (raw units)
price
5
calls / 30d
1
unique payers
2026-09-14
updated
Provider
api.ukintel.uk · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x8aa6a85a2723e2816204f3cf48d76b84bafdaab4",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "200000",
"maxTimeoutSeconds": 300
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"body": {
"supplier": {
"certifications": [
"confined space",
"COSHH"
],
"keywords": [
"chemical cleaning",
"tank cleaning",
"decontamination"
],
"regions": [
"Scotland",
"North East England"
],
"value_band": [
10000,
500000
],
"what_we_do": "industrial tank and vessel cleaning, confined space certified"
}
},
"bodyType": "json",
"method": "POST",
"type": "http"
},
"output": {
"example": {
"confidence": "high",
"notice": "Information, not advice.",
"query": {
"supplier": {
"what_we_do": "industrial tank and vessel cleaning…"
}
},
"result": {
"considered": 4211,
"matches": [
{
"emphasise": "Confined-space certification and tank-cleaning experience directly answer the stated drum-cleaning requirement.",
"fit": {
"band": "strong",
"factors": {
"buyer_history": 8,
"geography": 8,
"of": 40,
"of_b": 15,
"of_g": 15,
"of_t": 10,
"of_v": 20,
"relevance": 30,
"timeline": 10,
"value_fit": 20
},
"score": 76
},
"ocid": "ocds-b5fd17-9c92b21e-…",
"title": "Internal Chemical Cleaning of Glycol Expansion Drums"
}
]
}
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"body": {
"properties": {
"filters": {
"description": "Optional pre-filters (same fields as /v1/tenders/search).",
"type": "object"
},
"supplier": {
"description": "The supplier profile to match against live tenders.",
"properties": {
"certifications": {
"items": {
"type": "string"
},
"type": "array"
},
"cpv": {
"description": "CPV code prefixes you deliver against",
"items": {
"type": "string"
},
"type": "array"
},
"keywords": {
"items": {
"type": "string"
},
"type": "array"
},
"regions": {
"description": "UK nations/regions served",
"items": {
"type": "string"
},
"type": "array"
},
"value_band": {
"description": "[min, max] comfortable contract value in GBP",
"items": {
"type": "integer"
},
"maxItems": 2,
"minItems": 2,
"type": "array"
},
"what_we_do": {
"description": "Plain-English capability statement",
"type": "string"
}
},
"required": [
"what_we_do"
],
"type": "object"
},
"top": {
"default": 5,
"maximum": 10,
"minimum": 1,
"type": "integer"
}
},
"required": [
"supplier"
]
},
"bodyType": {
"enum": [
"json",
"form-data",
"text"
],
"type": "string"
},
"method": {
"enum": [
"POST"
],
"type": "string"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method",
"bodyType",
"body"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://api.ukintel.uk/v1/tenders/fit-score" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api.ukintel.uk/v1/tenders/fit-score");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://api.ukintel.uk/v1/tenders/fit-score")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/3313.json, and this resource appears in /discovery/resources and /discovery/search.