For agents
Query the corpus as a tool, not a website
203,727 EU public contracts with a known expiry date, available over MCP and A2A with the same six capabilities on both. Discovery is free and unauthenticated — point a client at the endpoint and call tools/list.
| Interface | Endpoint | Notes |
|---|---|---|
| MCP | https://recompete.getvda.ai/mcp | streamable HTTP, JSON-RPC |
| A2A | https://recompete.getvda.ai/a2a | message/send with a skill id |
| Agent card | /.well-known/agent-card.json | skills, transports, security schemes |
| REST | https://recompete.getvda.ai/api/leads | for non-agent clients |
Three ways to get rows
Aggregates — counts, total value, the next window-opening date — are free on every route and need no credential at all. Rows are the product, and there are three ways to reach them.
A 14-day key with full row access, no card. Works identically on MCP, A2A and REST — send it as Authorization: Bearer.
Get a key →Radar, Pro or Desk. Same bearer-key mechanism, higher row caps, and published incumbent contacts on Pro and above.
contact for a keyImplemented and ready; inactive until a payout address is configured. The endpoint advertises its own status at GET /mcp.
Capabilities and per-call price
| Skill | What it answers | x402 price |
|---|---|---|
| search_expiring_contracts | Which German IT contracts over 10 million euro expire in 2027? | $2.00 |
| describe_corpus_coverage | What countries and sectors does the corpus cover? | free |
| get_contract_detail | Show contract 704667-2023 lot 0 | $2.00 |
| supplier_portfolio | Which contracts does Atos hold across Europe and when do they expire? | $20.00 |
| buyer_procurement_history | What has the Dutch Ministry of Economic Affairs bought and from whom? | $20.00 |
| market_share | Who holds the largest share of German IT services contract value? | $50.00 |
A row bought per call is raw data. The €400–2,000 qualified-lead bands shown on contract pages are a different product: verified, contactable and human-checked before delivery. Nevermined plans and credits are implemented and activate once a plan is configured.
Connect it
# Claude Code / any MCP client
claude mcp add --transport http recompete https://recompete.getvda.ai/mcp
# Discovery is free — no key needed
curl -s -X POST https://recompete.getvda.ai/mcp \
-H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
# With a trial key, rows come back
curl -s -X POST https://recompete.getvda.ai/mcp \
-H 'content-type: application/json' \
-H 'authorization: Bearer rc_trial_...' \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":
{"name":"search_expiring_contracts",
"arguments":{"cpv":"72","grade":"A","limit":5}}}'Recompete is paid by vendors for delivered leads, never for outcomes. No fee is contingent on winning a contract. Ranking is computed from published procurement data alone and is not influenced by who pays.