# TendeRadar — full public surface

> Complete reference of every public (no-login) URL pattern TendeRadar serves.
> For the actual list of millions of tender/company URLs, use the XML
> sitemaps linked below, not this file.

## Page patterns

- https://tenderadar.eu/tender/{SOURCE}/{slug} — one tender notice: title, buyer, country, CPV codes, status, publication and deadline dates. Value estimate/documents/bidders/winner are gated; only their presence is shown.
- https://tenderadar.eu/company/{CC}/{regcode} — one company: name, regcode, country, legal form, status, registration/termination dates. Address, activity, officers/UBO/financials/sanctions are gated; only their presence is shown.
- https://tenderadar.eu/tenders-directory — searchable, paginated tender listing (by country, CPV, status, keyword).
- https://tenderadar.eu/directory — searchable, paginated directory of claimed/verified supplier profiles (by country, service, keyword).
- https://tenderadar.eu/tenders/{CC} — country tenders hub: live count, top CPV categories, recent notices for one country. Thin countries render noindex,follow.
- https://tenderadar.eu/tenders/cpv/{code} — CPV hub (global, all countries): live count + recent notices in one procurement category. {code} is a 2-digit CPV division.
- https://tenderadar.eu/tenders/{CC}/cpv/{code} — country×CPV hub: the same category narrowed to one country.
- https://tenderadar.eu/tenders/{YYYY}, /tenders/{YYYY}/{MM}, /tenders/{YYYY}/{MM}/{DD} — date archive: tenders published in that year, month or day, across all countries.
- https://tenderadar.eu/buyer/{CC}/{regcode} — buyer hub: every tracked notice from one resolved contracting authority. Only buyers with a resolved regcode and enough tenders get a page.

## Machine-readable indexes

- https://tenderadar.eu/sitemap.xml — company sitemap index (chunked, 50,000 URLs/file).
- https://tenderadar.eu/tender-sitemap.xml — tender sitemap index (chunked, 50,000 URLs/file).
- https://tenderadar.eu/hub-sitemap.xml — country, CPV and country×CPV hub pages above the index threshold (single file, finite).
- https://tenderadar.eu/buyer-sitemap.xml — resolved buyer hub pages above the index threshold (single file).
- https://tenderadar.eu/robots.txt — crawl rules; references all sitemap indexes.
- https://tenderadar.eu/api/public/company/{CC}/{regcode} — JSON form of the company page.
- https://tenderadar.eu/company/{CC}/{regcode}.md — markdown form of the company page (text/markdown).
- https://tenderadar.eu/company/{CC}/{regcode}.jsonld — schema.org Organization JSON-LD of the company page (application/ld+json).
- https://tenderadar.eu/tender/{SOURCE}/{slug}.md — markdown form of the tender page (text/markdown).
- https://tenderadar.eu/tender/{SOURCE}/{slug}.jsonld — schema.org JSON-LD of the tender page (application/ld+json).
- https://tenderadar.eu/api/public/tender/{SOURCE}/{id} — JSON form of the tender page.
- https://tenderadar.eu/api/public/tenders/{CC}, /api/public/tenders/cpv/{code}, /api/public/tenders/{CC}/cpv/{code}, /api/public/buyer/{CC}/{regcode} — JSON form of the hub pages.
- https://tenderadar.eu/api/public/stats — live corpus size (tender/company counts).
- https://tenderadar.eu/api/public/coverage — records per country and per-source freshness (JSON).
- https://tenderadar.eu/api/public/status.json — state and last success of each registry importer and tender feed.
- https://tenderadar.eu/developers — developer documentation: public endpoints, MCP server, rate limits, examples.
- https://tenderadar.eu/.well-known/mcp — MCP server card (JSON, also at /.well-known/mcp/server-card.json).
- https://tenderadar.eu/data — data catalog with coverage tables (schema.org DataCatalog).
- https://tenderadar.eu/status — source freshness page.

## MCP server

- Endpoint: https://mcp.tenderadar.eu/mcp (streamable HTTP, OAuth bearer token from a free account).
- Tools:
  - `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

## Data policy

Every public page and API response above follows the same GDPR tiering rule:
only registry/notice facts that are already public record are shown; anything
gated (officers, UBOs, financials, sanctions hits, bid winners/amounts/
documents, participant identities) is exposed only as a locked, count-only
teaser, never as data. Natural persons named only incidentally (e.g. a sole
proprietor bidder) are excluded from public pages entirely.
