← home · machine-readable spec: /openapi.json · MCP endpoint for agents: /mcp
# 1. Get a free key (250 req/mo, shown once) from the signup form at
# https://gankdat.com (signup is bot-protected)
# 2. Query procurement notices by value and CPV code (filters combine with AND)
curl -H "Authorization: Bearer fapi_..." \
"https://gankdat.com/v1/data/uk-tenders?value_amount_min=1000000&cpv_codes=45&status=active"
# 3. Query planning applications
curl -H "Authorization: Bearer fapi_..." \
"https://gankdat.com/v1/data/uk-planning?authority=109&q=extension&per_page=5"
# 4. Check your usage (free)
curl -H "Authorization: Bearer fapi_..." https://gankdat.com/v1/usage
# MCP (Streamable HTTP) — tools: list_sources, query_uk_tenders, query_uk_planning, get_usage
"mcpServers": { "gankdat": {
"url": "https://gankdat.com/mcp",
"headers": { "Authorization": "Bearer fapi_..." } } }
# x402 pay-per-request (no account): GET /x402/data/uk-tenders → HTTP 402 → pay → retry
Every response uses the same envelope: {"ok":true,"data":…,"meta":…} or
{"ok":false,"error":{"code","message","docs_url"}}. Errors carry stable codes
(unauthorized, quota_exceeded, rate_limited, …) and
validation failures list per-field details. Full reference below ↓