TED Search Guide¶
Master search techniques and filtering strategies to find the procurement opportunities you need.
Understanding Search Modes¶
The TED MCP Server supports three search modes. Each has different strengths:
Hybrid Search (Default - Recommended)¶
Combines full-text (BM25) and semantic vector search using Reciprocal Rank Fusion. Best for most queries.
{
"method": "search_ted",
"params": {
"query": "hospital construction equipment",
"mode": "hybrid",
"limit": 10
}
}
When to use: - Natural language queries ("Find construction projects") - Queries mixing exact keywords and concepts - When you want ranked relevance without worrying about exact matches - You're unsure whether to use keyword or semantic search
Tradeoff: Slightly slower than FTS alone, but more comprehensive results
Full-Text Search (FTS)¶
Exact keyword matching using BM25 ranking. Fast and precise.
When to use: - Looking for exact terms (e.g., specific equipment names, company names) - You need guaranteed keyword matches - Speed is critical and you know the exact terminology - Filtering procurement_type simultaneously
Tradeoff: Won't find results using synonyms or related concepts (e.g., searching "IT systems" won't find "information technology services")
Semantic Search (Vector)¶
Concept-based search using embeddings. Finds semantically related tenders.
{
"method": "search_ted_semantic",
"params": {
"query": "We build bridges and roads",
"limit": 10,
"country": "DEU"
}
}
When to use: - Searching by concept rather than keywords (e.g., describe what you do, not what to search) - You're looking for tenders with similar scope even if wording differs - Broad industry searches - Natural language questions
Tradeoff: Slower than FTS, may include less relevant results, requires good query formulation
Filtering Strategies¶
By CPV Code (Procurement Category)¶
CPV (Common Procurement Vocabulary) codes classify tenders by product/service type.
{
"method": "search_ted_by_cpv",
"params": {
"cpv_code": "72000000",
"query": "cloud infrastructure"
}
}
CPV levels:
- 2 digits (e.g., 72) — Broad category
- 4 digits (e.g., 7210) — Subcategory
- 8 digits (e.g., 72101000) — Specific service
Common CPV codes for quick reference:
| Code | Sector |
|---|---|
45 |
Construction work |
45000000 |
General construction |
45210000 |
Road construction |
45300000 |
Building construction |
45400000 |
Civil engineering |
72 |
IT services |
72000000 |
All IT services |
72101000 |
Cloud services |
72102000 |
Development services |
72103000 |
Web & hosting |
71 |
Architectural & engineering |
71000000 |
Engineering services |
71100000 |
Architectural services |
79 |
Business services |
79000000 |
General business services |
79100000 |
Recruitment services |
79200000 |
Investigative services |
33 |
Medical equipment |
34 |
Transport equipment |
50 |
Repair & maintenance |
By NUTS Region (Geographic Location)¶
NUTS (Nomenclature of Territorial Units for Statistics) codes identify where work is performed.
NUTS hierarchy:
- NUTS-1: Country level (e.g., FR, DE) — broadest
- NUTS-2: Region level (e.g., FR10 = Ile-de-France)
- NUTS-3: Subregion (e.g., DE300 = Berlin)
Examples by country:
| NUTS Code | Region |
|---|---|
FR |
All France |
FR10 |
Ile-de-France (Paris area) |
FR52 |
Brittany |
DE |
All Germany |
DE300 |
Berlin |
DE402 |
Bavaria |
ES |
All Spain |
ES300 |
Madrid |
IT |
All Italy |
ITC1 |
Piedmont |
GB |
All United Kingdom |
UKI |
London |
NL |
All Netherlands |
NL329 |
Utrecht |
By Contract Value¶
Filter by estimated contract value to find opportunities in your budget range.
{
"method": "search_ted_by_value_range",
"params": {
"min_value": 1000000,
"max_value": 10000000,
"currency": "EUR",
"query": "construction"
}
}
Value guidelines:
- Under 250k EUR: Smaller projects, niche opportunities
- 250k - 1M EUR: Mid-size projects, common opportunity range
- 1M - 5M EUR: Major projects, higher competition
- 5M+ EUR: Very large programs, requires significant resources
Supported currencies: EUR (primary), GBP
By Publication Date¶
Find recently published tenders or look back at older opportunities.
{
"method": "search_ted",
"params": {
"query": "IT services",
"published_after": "2026-03-01",
"published_before": "2026-03-20",
"limit": 10
}
}
ISO 8601 format: YYYY-MM-DD or YYYY-MM-DDTHH:MM:SSZ
By Submission Deadline¶
Find tenders with upcoming deadlines to prioritize your bid preparation.
{
"method": "browse_tenders_by_deadline",
"params": {
"after": "2026-03-20",
"before": "2026-04-30",
"country": "FRA",
"limit": 20
}
}
Pro tip: Use browse_tenders_by_deadline to sort by deadline automatically. Great for finding tenders closing soon.
By Procurement Type¶
Filter by procedure type (open, restricted, competitive dialogue, etc.).
{
"method": "search_ted",
"params": {
"query": "construction",
"procurement_type": "open",
"limit": 10
}
}
Common types:
- open — Open procedure (most competitive, most transparent)
- restricted — Restricted procedure (pre-qualified bidders only)
- negotiated — Negotiated procedure
- competitive_dialogue — Competitive dialogue
Advanced Filtering Combinations¶
Combine multiple filters for precise results:
{
"method": "search_ted",
"params": {
"query": "software development",
"country": "DEU",
"cpv_code": "72102000",
"min_value": 100000,
"max_value": 1000000,
"procurement_type": "open",
"published_after": "2026-01-01",
"deadline_after": "2026-04-01",
"mode": "hybrid",
"limit": 20,
"fts_weight": 0.6,
"vector_weight": 0.4
}
}
Search Tuning¶
Adjusting Hybrid Search Weights¶
Fine-tune the balance between keyword matching and semantic relevance.
{
"method": "search_ted",
"params": {
"query": "cloud infrastructure services",
"mode": "hybrid",
"fts_weight": 0.7,
"vector_weight": 0.3
}
}
Weight considerations: - Higher FTS weight (0.7-1.0): Prioritize exact keyword matches. Use when query terms are very specific. - Higher vector weight (0.7-1.0): Prioritize conceptual similarity. Use for broader, more natural language queries. - Balanced (0.5-0.5): Default. Good for most cases.
Workflow Examples¶
Finding Niche Opportunities¶
Want to find tenders for a specialized service in a specific region?
{
"method": "search_ted_by_nuts",
"params": {
"nuts_code": "FR10",
"query": "specialized laboratory equipment"
}
}
Then refine with CPV:
Market Research by Sector¶
Understand procurement trends in your industry:
Then drill deeper by country:
Finding Similar Opportunities¶
Found one good tender? Use semantic similarity to find related opportunities:
{
"method": "find_similar_ted_tenders",
"params": {
"notice_id": "87e29ed9-5fbc-418e-9e6d-1bb5bc0c142c",
"country": "DEU",
"limit": 10
}
}
Performance Tips¶
- Be specific with CPV codes — Using a precise 8-digit code is faster than searching with keywords
- Use date filters — Narrowing the publication window reduces search time
- Start with hybrid search — It's fast and comprehensive
- Fall back to semantic search — Only if FTS returns no relevant results
- Cache results — Store tender details locally to avoid repeated lookups
Next Steps¶
- Quick Start: Hands-on getting started guide
- Overview: Complete tool reference
- Examples: Real-world search scenarios