{
  "openapi": "3.0.1",
  "info": {
    "title": "EU TED Tenders API - Public Procurement Notices (official data)",
    "description": "Search and monitor EU public procurement tenders from TED (Tenders Electronic Daily) via the official API. Filter by keyword, CPV code, country, notice type, dates, deadline and value. Clean JSON with buyer details, values, deadlines and winners.",
    "version": "0.1",
    "x-build-id": "eIqtOuxqwsxrhsupD"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/orzelcolony~eu-ted-tenders-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-orzelcolony-eu-ted-tenders-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/orzelcolony~eu-ted-tenders-api/runs": {
      "post": {
        "operationId": "runs-sync-orzelcolony-eu-ted-tenders-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/orzelcolony~eu-ted-tenders-api/run-sync": {
      "post": {
        "operationId": "run-sync-orzelcolony-eu-ted-tenders-api",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "properties": {
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Words or phrases matched against the notice title and description in any language, e.g. \"cloud computing\", \"road maintenance\", \"solar\". Each entry is one search term.",
            "items": {
              "type": "string"
            }
          },
          "keywordMode": {
            "title": "Keyword mode",
            "enum": [
              "any",
              "all"
            ],
            "type": "string",
            "description": "Match notices containing ANY of the keywords, or ALL of them.",
            "default": "any"
          },
          "cpvCodes": {
            "title": "CPV codes",
            "type": "array",
            "description": "Common Procurement Vocabulary codes. Full 8-digit codes match exactly; shorter prefixes match the whole group, e.g. 72 = IT services, 45 = construction, 33 = medical, 09 = energy.",
            "items": {
              "type": "string"
            }
          },
          "buyerCountries": {
            "title": "Buyer countries",
            "type": "array",
            "description": "ISO alpha-3 country codes of the contracting authority, e.g. DEU, FRA, NLD, IRL, POL, ESP, ITA, SWE, NOR.",
            "items": {
              "type": "string"
            }
          },
          "placeOfPerformanceCountries": {
            "title": "Place of performance countries",
            "type": "array",
            "description": "ISO alpha-3 codes or NUTS codes of where the contract is performed, e.g. DEU or DE21.",
            "items": {
              "type": "string"
            }
          },
          "noticeCategories": {
            "title": "Notice categories",
            "type": "array",
            "description": "competition = open calls for tender (contract notices); result = contract award notices (who won, for how much); planning = prior information notices; change = corrigenda; modification = contract modifications. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "competition",
                "result",
                "planning",
                "change",
                "modification"
              ],
              "enumTitles": [
                "Calls for tender (competition)",
                "Contract awards (result)",
                "Prior information (planning)",
                "Corrigenda (change)",
                "Contract modifications"
              ]
            }
          },
          "noticeTypes": {
            "title": "Exact notice types (advanced)",
            "type": "array",
            "description": "Overrides Notice categories. eForms notice-type codes such as cn-standard, cn-social, can-standard, can-social, pin-only, pin-cfc-standard, veat, corr.",
            "items": {
              "type": "string"
            }
          },
          "publishedAfter": {
            "title": "Published after",
            "type": "string",
            "description": "Earliest publication date, YYYY-MM-DD."
          },
          "publishedBefore": {
            "title": "Published before",
            "type": "string",
            "description": "Latest publication date, YYYY-MM-DD."
          },
          "deadlineAfter": {
            "title": "Submission deadline after",
            "type": "string",
            "description": "Only notices whose tender submission deadline is on or after this date, YYYY-MM-DD. Handy for 'still open' tenders."
          },
          "deadlineBefore": {
            "title": "Submission deadline before",
            "type": "string",
            "description": "Only notices whose tender submission deadline is on or before this date, YYYY-MM-DD."
          },
          "minEstimatedValue": {
            "title": "Minimum estimated value",
            "minimum": 0,
            "type": "integer",
            "description": "Only procedures with an estimated value at or above this number (in the notice's currency; most are EUR)."
          },
          "expertQuery": {
            "title": "Expert query (advanced)",
            "type": "string",
            "description": "Raw TED expert-search query. When set, all filters above are ignored. Example: classification-cpv IN (72*) AND buyer-country IN (DEU) AND publication-date>=20260101"
          },
          "maxItems": {
            "title": "Max notices",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of notices to return (newest first).",
            "default": 100
          },
          "language": {
            "title": "Preferred text language",
            "type": "string",
            "description": "Three-letter language code for title/description when a translation exists (eng, deu, fra, spa, ita, pol, nld...). English is used by default, falling back to the original language.",
            "default": "eng"
          },
          "monitorKey": {
            "title": "Monitor key (only new notices)",
            "type": "string",
            "description": "Set any name, e.g. 'it-tenders-germany', and schedule the task: each run then returns only notices not delivered under this key before. Leave empty to disable."
          },
          "includeRaw": {
            "title": "Include raw API record",
            "type": "boolean",
            "description": "Attach the original multilingual TED record under 'raw' (large).",
            "default": false
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}