# UK Tenders Search API

> UK Tenders Search API is a paid API for AI agents from gankdat.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-28).

Search and filter UK public procurement tender notices with CPV codes, buyer, status, value, and date filters

## Facts

- Endpoint: GET https://gankdat.com/x402/data/uk-tenders?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-28
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/uk-tenders-search-api-b03fa579
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_I7Tbfdgm5oqqUVP2bF5Og

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability uk-tenders-search-api-b03fa579
```

Example prompt: Can you find me open UK government tenders related to cybersecurity services published after January 1st 2025, with a budget over £50,000?

## When to prefer this

Use this endpoint when you need structured, filterable access to UK public procurement data — especially when you need to filter by CPV codes, buyer, value range, or publication dates. Prefer this over general web search when you need machine-readable tender data with standardised fields like OCID and deadline dates. Particularly useful for procurement intelligence tools, supplier opportunity dashboards, or automated tender monitoring workflows focused on the UK market.

## Known failure modes

- Invalid date format in published_at_after or published_at_before returns a validation error
- CPV codes string malformed may return empty results
- Page number exceeding available results returns empty data array
- Payment failure or missing x402 payment header results in 402 response
- Overly broad query with no filters may time out or return truncated results

## How this service works

UK procurement notices. Public procurement notices from the official Find a Tender OCDS feed, flattened to one queryable schema. Blind Mode: no contact or personal data. One call returns one page of matching records as JSON (25 by default, per_page up to 100) with the total count and the last refresh time; the query parameters filter the records.

## Output

Returns a paginated list of UK tender notice objects, each containing an OCID, notice ID, title, description, buyer name, status, procurement method, category, CPV codes array, contract value and currency, publication date, and bid deadline date. Also includes metadata such as total count and pagination info.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "properties": {
      "q": {
       "type": "string"
      },
      "page": {
       "type": "integer",
       "default": 1,
       "maximum": 100000,
       "minimum": 1
      },
      "buyer": {
       "type": "string"
      },
      "status": {
       "type": "string"
      },
      "per_page": {
       "type": "integer",
       "default": 25,
       "maximum": 100,
       "minimum": 1
      },
      "cpv_codes": {
       "type": "string"
      },
      "value_amount_max": {
       "type": "number"
      },
      "value_amount_min": {
       "type": "number"
      },
      "procurement_method": {
       "type": "string"
      },
      "published_at_after": {
       "type": "string",
       "format": "date",
       "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
      },
      "published_at_before": {
       "type": "string",
       "format": "date",
       "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))$"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "required": [
      "ok",
      "data",
      "meta"
     ],
     "properties": {
      "ok": {
       "type": "boolean",
       "const": true
      },
      "data": {
       "type": "array",
       "items": {
        "type": "object",
        "required": [
         "ocid",
         "notice_id",
         "title",
         "description",
         "buyer",
         "status",
         "procurement_method",
         "category",
         "cpv_codes",
         "value_amount",
         "value_currency",
         "published_at",
         "deadline_at"
        ]
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/uk-tenders-search-api-b03fa579/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from gankdat.com](https://www.zero.xyz/host/gankdat.com/llms.txt)
