ToolAssay

UK tenders and public procurement search for apps, automations and AI agents

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.

Answeringour last check, 2026-10-18
1 of 1checks answered this week
849 msmedian answer time
$0.01listed price per call
$0.01price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

GET https://api.alexstokes.com/v1/tenders

CategorySearch and research
Provider hostapi.alexstokes.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days6 from 4 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-18 valid payment request 402$0.01 849 ms

Example input (from the provider)

{
  "method": "GET",
  "queryParams": {
    "limit": 10,
    "q": "cleaning",
    "status": "open"
  },
  "type": "http"
}

Promised output schema (from the provider)

{
  "$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"
}

This page as JSON