# Gankdat EU TED Procurement Notices

> Gankdat EU TED Procurement Notices is a paid API for AI agents from gankdat.com, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-29).

Search and retrieve EU public procurement contract notices and awards from TED (Tenders Electronic Daily), filtered by keyword, buyer, country, CPV code, value, and deadline.

## Facts

- Endpoint: GET https://gankdat.com/x402/data/eu-ted?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/gankdat-eu-ted-procurement-notices-d1381618
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_sl6te5tL_J_zLz5q9XErG

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 gankdat-eu-ted-procurement-notices-d1381618
```

Example prompt: Find me open EU procurement notices on TED for IT consulting services in the Netherlands with a minimum contract value of €500,000, published after 2024-01-01 — return the first 25 results.

## When to prefer this

Choose this endpoint when you need structured, normalized EU-wide public procurement data sourced directly from TED, especially for bid intelligence, competitive analysis, or supplier research across all EU member states. Prefer it over scraping TED directly for already-normalized JSON with filtering by CPV code, value, deadline, and buyer country in a single call.

## Known failure modes

- Invalid date format for deadline_at_after/before or published_at_after/before returns a validation error
- page exceeding available results returns an empty records array
- Unsupported CPV code format may return no matching results
- per_page exceeding 100 is rejected by schema validation
- Payment failure (x402) if USDC balance is insufficient

## How this service works

EU procurement notices (TED). Contract notices and awards from TED (Tenders Electronic Daily), the official EU procurement journal — buyer, country, CPV codes, values, and deadlines across all member states, normalized for bid intelligence. Blind Mode: only organisation-level fields are ingested. 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 JSON object with a paginated list of up to 100 procurement records per page, each containing buyer name, buyer country, CPV codes, notice type, procedure type, contract nature, contract value, submission deadline, publication date, and places of performance — plus a total record count and last data refresh timestamp.

## 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"
      },
      "per_page": {
       "type": "integer",
       "default": 25,
       "maximum": 100,
       "minimum": 1
      },
      "cpv_codes": {
       "type": "string"
      },
      "notice_type": {
       "type": "string"
      },
      "buyer_country": {
       "type": "string"
      },
      "procedure_type": {
       "type": "string"
      },
      "contract_nature": {
       "type": "string"
      },
      "value_amount_max": {
       "type": "number"
      },
      "value_amount_min": {
       "type": "number"
      },
      "deadline_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])))$"
      },
      "deadline_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])))$"
      },
      "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])))$"
      },
      "places_of_performanc
… (truncated)
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/gankdat-eu-ted-procurement-notices-d1381618/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)
