Demo: eForms Procurement Search

Search TED procurement notices using eForms BT fields. Filter by CPV code, buyer country, procedure type, and contract value — then compare across EU member states.

Scenario: A procurement consultant needs to benchmark IT service contracts across the Nordics. They want to find all open ICT procurement notices above €500,000, compare procedure types between Finland and Sweden, and identify upcoming deadlines.

Goal: Use eForms Business Term (BT) fields to build precise queries that match the structured data in TED notices.

Time: ~10 minutes

Prerequisites

All examples use curl. The same queries work in the search interface with no code.

1 Search by CPV code

About CPV codes

Common Procurement Vocabulary (CPV) codes classify procurement by product/service type. BT-262 (Main Classification Code) is the primary CPV field in eForms. ICT services fall under 72000000-5.

curl -X POST "https://staging.pauhu.eu/v1/search" \
  -H "Authorization: Bearer pk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "query": "ICT services",
    "sources": ["ted"],
    "filters": {
      "bt_262_cpv": "72000000",
      "bt_514_country": ["FI", "SE"],
      "bt_27_value_min": 500000
    },
    "lang": "en",
    "limit": 20
  }'

Response (excerpt):

{
  "results": [
    {
      "notice_id": "2026/S 045-123456",
      "bt_21_title": "Tietojärjestelmien ylläpito- ja kehityspalvelut",
      "bt_514_country": "FI",
      "bt_262_cpv": "72000000-5",
      "bt_27_value": 2500000,
      "bt_27_currency": "EUR",
      "bt_131_deadline": "2026-04-15T16:00:00+03:00",
      "bt_105_procedure": "open",
      "bt_500_buyer": "Helsingin kaupunki",
      "source": "TED"
    },
    {
      "notice_id": "2026/S 042-987654",
      "bt_21_title": "IT-tjänster för digital förvaltning",
      "bt_514_country": "SE",
      "bt_262_cpv": "72000000-5",
      "bt_27_value": 8000000,
      "bt_27_currency": "SEK",
      "bt_131_deadline": "2026-04-20T23:59:59+02:00",
      "bt_105_procedure": "restricted",
      "bt_500_buyer": "Kammarkollegiet",
      "source": "TED"
    }
  ],
  "total": 47,
  "query_time_ms": 89
}

Result: Found 47 notices ICT procurement in Finland and Sweden above €500k.

2 Filter by eForms BT fields

Available BT field filters

You can filter by any eForms Business Term. The most commonly used:

BT FieldNameExample Value
BT-21TitleFree text search
BT-514Organisation Country"FI", "SE", "DE"
BT-262Main Classification (CPV)"72000000"
BT-27Estimated Value500000 (EUR)
BT-105Procedure Type"open", "restricted", "negotiated"
BT-131Deadline Receipt Tenders"2026-04-01" (after date)
BT-500Organisation NameFree text search
BT-106Procedure Acceleratedtrue / false
BT-63Variantstrue (variants allowed)

Combine multiple filters for precise queries:

curl -X POST "https://staging.pauhu.eu/v1/search" \
  -H "Authorization: Bearer pk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "query": "cloud infrastructure",
    "sources": ["ted"],
    "filters": {
      "bt_262_cpv": "72000000",
      "bt_514_country": ["FI"],
      "bt_105_procedure": "open",
      "bt_131_deadline_after": "2026-03-15",
      "bt_27_value_min": 200000
    },
    "lang": "fi",
    "limit": 10
  }'

Result: Filtered Only Finnish open-procedure ICT notices above €200k with upcoming deadlines.

3 Compare across countries

Cross-border analysis

Compare how Finland and Sweden structure similar procurements: procedure types, value ranges, and timeline patterns.

# Finland
curl -X POST "https://staging.pauhu.eu/v1/search" \
  -H "Authorization: Bearer pk_..." \
  -d '{"sources": ["ted"], "filters": {"bt_262_cpv": "72000000", "bt_514_country": ["FI"]}, "aggregate": "bt_105_procedure"}'

# Sweden
curl -X POST "https://staging.pauhu.eu/v1/search" \
  -H "Authorization: Bearer pk_..." \
  -d '{"sources": ["ted"], "filters": {"bt_262_cpv": "72000000", "bt_514_country": ["SE"]}, "aggregate": "bt_105_procedure"}'

Aggregation results:

Procedure TypeFinlandSweden
Open (BT-105 = open)68%45%
Restricted22%38%
Negotiated8%12%
Other2%5%

Result: Compared Finland uses open procedures more frequently (68% vs 45%). Sweden has a higher share of restricted procedures.

4 Get notice details with all BT fields

curl "https://staging.pauhu.eu/v1/search/ted/2026-S-045-123456" \
  -H "Authorization: Bearer pk_..."

Response includes all available eForms BT fields for the notice:

{
  "notice_id": "2026/S 045-123456",
  "bt_21_title": "Tietojärjestelmien ylläpito- ja kehityspalvelut",
  "bt_24_description": "Helsingin kaupunki hankkii...",
  "bt_500_buyer": "Helsingin kaupunki",
  "bt_514_country": "FI",
  "bt_105_procedure": "open",
  "bt_262_cpv": ["72000000-5", "72200000-7", "72300000-8"],
  "bt_27_value": 2500000,
  "bt_27_currency": "EUR",
  "bt_131_deadline": "2026-04-15T16:00:00+03:00",
  "bt_36_duration_months": 48,
  "bt_63_variants_allowed": false,
  "bt_65_subcontracting": true,
  "bt_65_subcontracting_percentage_max": 40,
  "bt_79_lots_all": true,
  "bt_106_accelerated": false,
  "bt_726_sme_suitable": true,
  "bt_300_additional_info": "ESPD-lomake vaaditaan. Sähköinen tarjous Hilma-järjestelmän kautta.",
  "cross_references": [
    {"celex": "32014L0024", "article": "Art. 27", "relation": "legal_basis"}
  ]
}

Result: Complete All BT fields, CPV codes, cross-references, and procurement parameters.

5 Set up a monitoring recipe

Get notified when new notices matching your criteria appear on TED:

Coming soon — the /v1/recipes endpoint is planned for Phase 2.

curl -X POST "https://staging.pauhu.eu/v1/recipes" \
  -H "Authorization: Bearer pk_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Nordic ICT Procurement Monitor",
    "type": "ted_monitor",
    "filters": {
      "bt_262_cpv": "72000000",
      "bt_514_country": ["FI", "SE", "DK", "NO"],
      "bt_27_value_min": 200000
    },
    "notification": "email",
    "frequency": "daily"
  }'

Result: Created Daily email digest of new Nordic ICT procurement notices.

6 Export results

# Export as CSV
curl -X POST "https://staging.pauhu.eu/v1/search" \
  -H "Authorization: Bearer pk_..." \
  -d '{"sources": ["ted"], "filters": {"bt_262_cpv": "72000000", "bt_514_country": ["FI", "SE"]}, "format": "csv"}' \
  -o nordic-ict-notices.csv

# Export as JSON (default)
curl -X POST "https://staging.pauhu.eu/v1/search" \
  -H "Authorization: Bearer pk_..." \
  -d '{"sources": ["ted"], "filters": {"bt_262_cpv": "72000000"}, "format": "json"}' \
  -o all-ict-notices.json

Result: Exported Data ready for further analysis in Excel, Google Sheets, or your BI tool.

Next steps