# Find a Tender Notice Search API

> Find a Tender Notice Search API is a paid API for AI agents from api.alexstokes.com, paid per call via x402, $0.01/call, status unknown (last checked 2026-10-14).

Search UK Find a Tender Service (FTS) notices by keywords, CPV codes, delivery region, status, value range, and deadline — paginated, with snapshot-consistent pagination.

## Facts

- Endpoint: GET https://api.alexstokes.com/v1/tenders?utm_source=zero.xyz
- Price: $0.01/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-14
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/find-a-tender-notice-search-api-40624190
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UY-FZyhexIp-_1I3tCfLD

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 find-a-tender-notice-search-api-40624190
```

Example prompt: Search Find a Tender for up to 10 open IT services contracts in the West Midlands — filter to CPV code 72 and only show notices with a minimum value of £50,000 GBP.

## When to prefer this

Use this endpoint when you need to search live UK Find a Tender Service notices programmatically — especially when filtering by CPV code, delivery region, contract value, or status. Prefer it over scraping the FTS website directly. Always call the free /status endpoint first to confirm the ingestion window is fresh enough for your use case, since empty searches are still chargeable. Best suited for procurement intelligence workflows, supplier opportunity discovery, and contract monitoring agents operating in the UK public sector.

## Known failure modes

- Empty result set still incurs a $0.01 charge — check /status before querying to assess ingestion window coverage
- 409 Conflict returned if the dataset changes between pages and snapshot token is stale or missing — re-fetch from page one
- Invalid CPV code pattern (not 2–8 digits) causes a validation error
- Invalid region code prefix returns no results without error
- currency parameter required when using min_value or max_value filters; omitting it causes a validation error
- offset exceeding 1000 is rejected
- limit outside 1–25 range is rejected

## How this service works

UK tenders and public procurement search for apps, automations and AI agents. Search UK government contract notices from Find a Tender by keyword, CPV, delivery region, deadline and value. Returns up to 25 structured notices with buyers, deadlines, values and official source links where available. Bounded ingestion window, not all UK contracts; check free /status. Successful empty searches are chargeable.

## Output

A paginated list of tender notices matching the query, each including title, description, buyer, CPV descriptions, delivery region, contract value, status, and deadline. Also returns pagination metadata including a snapshot token (meta.snapshot) required to maintain consistent pagination across pages.

## 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",
       "maxLength": 200,
       "description": "Literal case-insensitive AND keyword terms across title, description, buyer and CPV descriptions."
      },
      "cpv": {
       "type": "string",
       "pattern": "^\\d{2,8}$",
       "description": "CPV code prefix."
      },
      "limit": {
       "type": "integer",
       "default": 10,
       "maximum": 25,
       "minimum": 1
      },
      "offset": {
       "type": "integer",
       "default": 0,
       "maximum": 1000,
       "minimum": 0
      },
      "region": {
       "type": "string",
       "maxLength": 12,
       "description": "Published delivery region code prefix, e.g. UKG for West Midlands. Not buyer office location; national-only and missing locations may be omitted."
      },
      "status": {
       "enum": [
        "open",
        "closed",
        "cancelled",
        "planned",
        "unknown",
        "all"
       ],
       "type": "string",
       "default": "open",
       "description": "Derived from the latest ingested notice. Open does not establish supplier eligibility."
      },
      "currency": {
       "type": "string",
       "pattern": "^[A-Z]{3}$",
       "description": "Required with value filters; no currency conversion."
      },
      "snapshot": {
       "type": "string",
       "maxLength": 80,
       "description": "Copy meta.snapshot from page one when offset > 0; changed dataset returns 409."
      },
      "max_value": {
       "type": "number",
       "minimum": 0
      },
      "min_value": {
       "type": "number",
       "minimum": 0
      },
      "deadline_to": {
       "type": "string"
      },
      "deadline_from": {
       "type": "string"
      }
     },
     "additionalProperties": false
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object"
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "data": [],
  "meta": {
   "fresh": true,
   "limit": 10,
   "total": 0,
   "offset": 0,
   "source": "Find a Tender",
   "coverage": "Notices in the ingested update window only.",
   "next_offset": null
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/find-a-tender-notice-search-api-40624190/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.alexstokes.com](https://www.zero.xyz/host/api.alexstokes.com/llms.txt)
