Skip to content
Eden Engine

TED EU Procurement Notice Search

tedapi/search-notices

Searches the Tenders Electronic Daily (TED) database of EU public procurement notices and returns the matching notices with the fields you pick. The query uses TED's expert-search syntax: field=value terms joined with AND, OR and NOT, for example buyer-country=DEU AND publication-date>=20260101 (dates are yyyymmdd or today(-7)), or notice-title~"school" for words in a title. Fields are chosen from a fixed list; titles and buyer names come back in English when the notice has it, otherwise the first language it carries, as {language, value}. Each notice carries links to its English page, English PDF and XML. Returns at most 10 notices per page and up to 100 pages; the total count of matching notices is included. A query the parser cannot read is refused as a bad request. Notices from the Publications Office of the European Union, served by Eden Engine; not an official TED product.

activeper callv1

Price

$0.0026 per call

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

Publications Office of the European Union

Procurement notices from Tenders Electronic Daily (TED), Publications Office of the European Union, passed through with language variants and link lists reduced. Served by Eden Engine; not an official TED product.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "tedapi/search-notices" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "tedapi/search-notices" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "tedapi/search-notices", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "tedapi/search-notices", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.0026
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "query"
  ],
  "properties": {
    "page": {
      "type": "integer",
      "default": 1,
      "maximum": 100,
      "minimum": 1,
      "description": "Page number, 1 to 100. Default 1."
    },
    "limit": {
      "type": "integer",
      "default": 5,
      "maximum": 10,
      "minimum": 1,
      "description": "Notices per page, 1 to 10. Default 5."
    },
    "query": {
      "type": "string",
      "maxLength": 500,
      "minLength": 1,
      "description": "TED expert-search query, at most 500 characters, for example buyer-country=DEU AND publication-date>=20260101. Dates are yyyymmdd or today(-7). Use ~ for a word match, for example notice-title~\"school\"."
    },
    "fields": {
      "type": "array",
      "items": {
        "enum": [
          "notice-identifier",
          "publication-number",
          "notice-title",
          "publication-date",
          "buyer-name",
          "buyer-country",
          "notice-type",
          "procedure-type",
          "contract-nature",
          "classification-cpv",
          "deadline-receipt-tender-date-lot",
          "estimated-value-lot",
          "estimated-value-cur-lot"
        ],
        "type": "string"
      },
      "default": [
        "notice-identifier",
        "publication-number",
        "notice-title",
        "publication-date",
        "buyer-name"
      ],
      "maxItems": 13,
      "minItems": 1,
      "description": "The fields to return for each notice. Defaults to notice-identifier, publication-number, notice-title, publication-date and buyer-name.",
      "uniqueItems": true
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "required": [
    "totalNoticeCount",
    "timedOut",
    "notices"
  ],
  "properties": {
    "notices": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "links": {
            "type": "object",
            "properties": {
              "pdf": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "English PDF, null when the notice has none."
              },
              "xml": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "Notice XML, null when the notice has none."
              },
              "html": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "English notice page, null when the notice has none."
              }
            },
            "description": "Links to the notice: html and pdf in English, xml.",
            "additionalProperties": true
          },
          "publication-date": {
            "type": "string",
            "description": "The publication date with offset, for example 2026-01-02+01:00."
          },
          "notice-identifier": {
            "type": "string",
            "description": "The notice's unique id."
          },
          "publication-number": {
            "type": "string",
            "description": "The publication number, for example 2-2026."
          }
        },
        "additionalProperties": true
      },
      "description": "The notices on this page, with the requested fields and a links object."
    },
    "timedOut": {
      "type": "boolean",
      "description": "True when the service stopped counting early."
    },
    "totalNoticeCount": {
      "type": "integer",
      "description": "How many notices match the query in all."
    }
  }
}