Skip to content

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:

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.

{
    "method": "search_ted_fts",
    "params": {
        "query": "hospital construction",
        "limit": 10
    }
}

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.

{
    "method": "search_ted_by_nuts",
    "params": {
        "nuts_code": "FR10",
        "query": "IT services"
    }
}

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:

{
    "method": "search_ted_by_cpv",
    "params": {
        "cpv_code": "33000000",
        "nuts_code": "FR10"
    }
}

Market Research by Sector

Understand procurement trends in your industry:

{
    "method": "get_ted_statistics",
    "params": {
        "group_by": "procurement_type",
        "limit": 10
    }
}

Then drill deeper by country:

{
    "method": "get_ted_statistics",
    "params": {
        "group_by": "country",
        "limit": 30
    }
}

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

  1. Be specific with CPV codes — Using a precise 8-digit code is faster than searching with keywords
  2. Use date filters — Narrowing the publication window reduces search time
  3. Start with hybrid search — It's fast and comprehensive
  4. Fall back to semantic search — Only if FTS returns no relevant results
  5. Cache results — Store tender details locally to avoid repeated lookups

Next Steps