Developers
TendeRadar data is available as public JSON, markdown and JSON-LD pages, and through an MCP server for AI agents.
Public endpoints
No key needed. Every response carries public-record facts only.
https://tenderadar.eu/api/public/stats: live corpus size (tenders, countries, companies).https://tenderadar.eu/api/public/coverage: records per country and source freshness, see data coverage.https://tenderadar.eu/api/public/status.json: source states, see status.- Append
.mdor.jsonldto anyhttps://tenderadar.eu/company/{CC}/{regcode}orhttps://tenderadar.eu/tender/{SOURCE}/{slug}URL for markdown or schema.org JSON-LD. - llms.txt, llms-full.txt and the sitemaps (
sitemap.xml,tender-sitemap.xml,hub-sitemap.xml,buyer-sitemap.xml).
A keyed REST API is not offered. OCDS export is planned.
MCP server
Endpoint: https://mcp.tenderadar.eu/mcp (streamable HTTP). Access needs an OAuth bearer token from a free account; discovery metadata is at https://mcp.tenderadar.eu/.well-known/oauth-protected-resource, the authorization server is https://auth.tenderadar.eu. The server card describes the same server as JSON.
| Tool | What it does |
|---|---|
search_tenders | search tenders by query, country, buyer, status, CPV, minimum value (max 20 per call) |
get_tender | full details of one tender by the id from search_tenders |
search_companies | search the company registry by name and/or country (max 20 per call) |
get_company | full details of one company by ISO-2 country and registry code |
get_company_tenders | tenders a company won or ran as buyer, newest first |
get_company_competitors | companies winning from the same buyers, ranked by shared buyers |
get_company_market_share | a company's wins and awarded value against all winners per CPV code |
get_officers | officers (directors, board members, procurists) of a company by ISO-2 country and registry code |
get_beneficial_owners | registered UBO records of a company (Pro plan) |
get_shareholders | shareholders / members of a company with shares held |
search_people | search persons with company roles in the registries by name |
get_company_graph | shareholding and control chains up and down with direct and effective % (mode=influence) or every neighbour (mode=explorer) |
find_connection | how two companies or people are connected: shortest paths over shareholding, board, shared-address, contract and tender links |
list_jurisdictions | coverage matrix per country: companies, persons, financials, tenders and which tools work |
source_status | freshness of each data source: last successful run, rows in the last 24h, as-of |
tenders_changes | tender status, deadline and title changes since a timestamp, paged by cursor |
Rate limits
- MCP: about one tool call every 2 seconds sustained (burst of 6) per account, at most 20 results per call, plus a rolling per-account row budget.
- Anonymous MCP tier, when enabled: 20 tool calls per IP per UTC day.
- Public pages and JSON: about 2 requests per second per IP (burst of 20); verified search-engine crawlers are not throttled. Over the limit you get HTTP 429 with
Retry-After.
Examples
curl https://tenderadar.eu/api/public/stats curl https://tenderadar.eu/api/public/coverage curl https://tenderadar.eu/.well-known/mcp curl https://tenderadar.eu/company/LV/40203090070.jsonld
Initialize the MCP server (token from your account):
curl -X POST https://mcp.tenderadar.eu/mcp \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"example","version":"1"}}}'