How TenderMetric Works
TenderMetric is built on three principles: real data, transparent sourcing, and fast access. Here's exactly how we collect, process, and present EU procurement intelligence.
Data Source
All data is fetched from the TED Europa REST API v3 — the official API of the Publications Office of the European Union. The endpoint used is:
No authentication is required. TED is a public European institution resource. We query for standard contract notices (notice-type=cn-standard) published within the last 30 days.
Data Fields
We extract and normalize the following fields from each notice:
Sector Classification
Tenders are automatically classified into sectors using the first two digits of their CPV (Common Procurement Vocabulary) code. CPV is the EU's official classification system for public procurement.
Tenders with unrecognized CPV prefixes are classified as "General".
Caching & Freshness
To ensure fast page loads without overloading the TED API, we use a two-tier caching strategy:
- In-memory cache: 5-minute TTL. Prevents redundant API calls within a single server instance.
- Cloudflare KV cache: 1-hour TTL. Shared across all edge nodes globally. A single cached response serves all users worldwide.
This means data is typically 0–60 minutes old. For time-sensitive decisions, always verify the original notice on TED Europa.
Limitations
- We display notices published in the last 30 days only (up to 250 records per fetch).
- Contract award notices (CAN) are not included — only contract notices (CN).
- Multilingual titles are shown in English when available; otherwise the first available language is used.
- Estimated values may be absent if not disclosed in the original notice.
- TenderMetric is for informational purposes only and does not guarantee completeness or accuracy.