# EU Tender & Procurement Opportunity Search API (x402)

> EU Tender & Procurement Opportunity Search API (x402) is a paid API for AI agents from eu-tender-x402-v2-production.up.railway.app, paid per call via x402, $0.005/call, status unknown (last checked 2026-10-02).

Search EU public tenders and RFPs by keyword, country, and value to surface B2B sales leads and procurement opportunities, paid per-call via x402 USDC on Base.

## Facts

- Endpoint: GET https://eu-tender-x402-v2-production.up.railway.app/api/opportunities?utm_source=zero.xyz
- Price: $0.005/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/eu-tender-procurement-opportunity-search-api-x402-fbcd91fb
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AjajJdj0o1qwt4BTq2BpR

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 eu-tender-procurement-opportunity-search-api-x402-fbcd91fb
```

Example prompt: Search EU tenders for 'cybersecurity software' in Germany over the last 30 days with a minimum value of 50000 — I want a list of relevant procurement opportunities I can pitch to.

## When to prefer this

Choose this endpoint when an agent needs to discover EU public procurement opportunities or government RFPs by industry keyword, optionally filtered by country or minimum contract value, and is operating in an x402-enabled payment environment using USDC on Base. Prefer this over generic web search when structured, filterable tender data is needed for B2B sales prospecting.

## Known failure modes

- Missing required 'q' keyword parameter returns a validation error
- Invalid country code returns empty results or error
- Days value outside 1–90 range may be rejected or clamped
- Payment not sent or insufficient USDC triggers x402 payment-required response
- No matching tenders found returns count 0 with empty results array
- Service downtime on Railway infrastructure causes 5xx errors

## How this service works

Pay-per-call B2B sales lead and procurement intelligence plus Base wallet data for agents. Search EU tenders/RFPs or inspect a Base wallet. Payments use x402 USDC on Base.

## Output

Returns a JSON object with a count of matching tenders, the product name, a generation timestamp, and an array of tender result objects each containing at minimum a title and buyer country, allowing agents to identify and prioritize EU procurement opportunities.

## 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",
     "required": [
      "q"
     ],
     "properties": {
      "q": {
       "type": "string",
       "description": "B2B niche or service keyword"
      },
      "days": {
       "type": "integer",
       "description": "Lookback window from 1 to 90 days"
      },
      "country": {
       "type": "string",
       "description": "Optional buyer country code"
      },
      "min_value": {
       "type": "number",
       "description": "Optional minimum disclosed tender value"
      }
     }
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "count": {
       "type": "integer"
      },
      "product": {
       "type": "string"
      },
      "results": {
       "type": "array",
       "items": {
        "type": "object"
       }
      },
      "generated_at": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 10,
  "product": "EU Tender Intelligence x402 API",
  "results": [
   {
    "title": "Example software procurement",
    "buyer_country": "DEU"
   }
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/eu-tender-procurement-opportunity-search-api-x402-fbcd91fb/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from eu-tender-x402-v2-production.up.railway.app](https://www.zero.xyz/host/eu-tender-x402-v2-production.up.railway.app/llms.txt)
