Api Endpoint

api.alexstokes.com

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.

Open interactive test console

Offering

Provider
api.alexstokes.com
Method
GET
Offering type
Api Endpoint
Transport type
http
Category
Business And Commerce
Delivery
Not provided
Pricing model
Not provided
x402 version
2

Endpoint context

URL
https://api.alexstokes.com/v1/tenders
MIME type
application/json
First seen
2026-10-16T01:50:45.949Z
Last seen
Tags
None supplied

Payment pricing

x402 payment terms are the authoritative price for calling this endpoint.

Payment option 1
0.01 USDC
Atomic price: 10000 · Network: eip155:8453 · Asset: USDC · Scheme: exact
Raw x402 terms
[
  {
    "scheme": "exact",
    "network": "eip155:8453",
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "amount": "10000",
    "payTo": "0x6180a2F87C9Ac53A3CA527c15c1A81A951B95073"
  }
]

Observed health

Status
Healthy
Latest latency
154 ms
Average latency
141 ms
HTTP status
402
Last checked
Reachability
100% over 2 checks

Latency is measured to the first response headers. A reachable result does not verify response accuracy or merchant identity.

Input schema

{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "const": "http"
    },
    "method": {
      "type": "string",
      "enum": [
        "GET"
      ]
    },
    "queryParams": {
      "type": "object",
      "additionalProperties": false,
      "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."
        },
        "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": {
          "type": "string",
          "enum": [
            "open",
            "closed",
            "cancelled",
            "planned",
            "unknown",
            "all"
          ],
          "default": "open",
          "description": "Derived from the latest ingested notice. Open does not establish supplier eligibility."
        },
        "deadline_from": {
          "type": "string"
        },
        "deadline_to": {
          "type": "string"
        },
        "min_value": {
          "type": "number",
          "minimum": 0
        },
        "max_value": {
          "type": "number",
          "minimum": 0
        },
        "currency": {
          "type": "string",
          "pattern": "^[A-Z]{3}$",
          "description": "Required with value filters; no currency conversion."
        },
        "limit": {
          "type": "integer",
          "minimum": 1,
          "maximum": 25,
          "default": 10
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 1000,
          "default": 0
        },
        "snapshot": {
          "type": "string",
          "maxLength": 80,
          "description": "Copy meta.snapshot from page one when offset > 0; changed dataset returns 409."
        }
      }
    }
  },
  "required": [
    "type",
    "method"
  ],
  "additionalProperties": false
}

Output schema

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