{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Tenders (TED): Public Procurement Notices",
    "description": "EU public tenders from TED (Tenders Electronic Daily) as clean JSON. Filter by keywords, CPV codes, countries, NUTS regions, notice type, dates and open deadlines. Buyer, values, deadlines, CPV labels and document links per notice. Official TED API, no browser.",
    "version": "0.1",
    "x-build-id": "rwOLo5c1xhgXIY1We"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/webify-lab~eu-tenders-ted/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-webify-lab-eu-tenders-ted",
        "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/webify-lab~eu-tenders-ted/runs": {
      "post": {
        "operationId": "runs-sync-webify-lab-eu-tenders-ted",
        "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/webify-lab~eu-tenders-ted/run-sync": {
      "post": {
        "operationId": "run-sync-webify-lab-eu-tenders-ted",
        "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 with TED stemming in any EU language. A notice matches if it contains at least one entry. Multi-word entries are searched as exact phrases.",
            "items": {
              "type": "string"
            }
          },
          "keywordScope": {
            "title": "Keyword search in",
            "enum": [
              "title-description",
              "full-text"
            ],
            "type": "string",
            "description": "Full text also matches boilerplate such as buyer addresses and legal text, which brings many false positives.",
            "default": "title-description"
          },
          "cpvCodes": {
            "title": "CPV codes",
            "type": "array",
            "description": "8-digit Common Procurement Vocabulary codes, e.g. 90910000 (cleaning services), 98395000 (locksmith services), 72413000 (website design), 60100000 (road transport). A check digit like -5 is ignored.",
            "items": {
              "type": "string"
            }
          },
          "includeCpvSubCodes": {
            "title": "Include CPV sub-codes",
            "type": "boolean",
            "description": "TED matches the whole CPV branch (90910000 also finds 90911200 building cleaning). Turn off to keep only notices that list exactly the given codes.",
            "default": true
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "ISO country codes, 2 or 3 letters (DE or DEU, AT, FR, EL for Greece).",
            "items": {
              "type": "string"
            }
          },
          "nutsCodes": {
            "title": "NUTS regions",
            "type": "array",
            "description": "NUTS codes of any level, sub-regions are included: DE2 (Bavaria), DE21 (Upper Bavaria), DE212 (Munich city), DE7 (Hesse).",
            "items": {
              "type": "string"
            }
          },
          "locationMatch": {
            "title": "Location applies to",
            "enum": [
              "either",
              "performance",
              "buyer"
            ],
            "type": "string",
            "description": "Which location the country and NUTS filters are matched against.",
            "default": "either"
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "TED form types. Empty means all types.",
            "items": {
              "type": "string",
              "enum": [
                "competition",
                "planning",
                "result",
                "dir-awa-pre",
                "cont-modif",
                "consultation",
                "completion"
              ],
              "enumTitles": [
                "Contract notices (open calls)",
                "Prior information notices",
                "Contract award notices",
                "Direct award pre-announcements",
                "Contract modifications",
                "Pre-market consultations",
                "Contract completion"
              ]
            },
            "default": [
              "competition"
            ]
          },
          "lastDays": {
            "title": "Published in the last N days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "0 turns it off and uses the date range below.",
            "default": 30
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "YYYY-MM-DD. Used when Last N days is 0."
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "YYYY-MM-DD, inclusive. Used when Last N days is 0."
          },
          "openDeadlineOnly": {
            "title": "Only open deadlines",
            "type": "boolean",
            "description": "Keep only notices whose deadline for tenders or requests to participate is still in the future. Notices without a deadline (awards, most prior information notices) are dropped when this is on.",
            "default": true
          },
          "language": {
            "title": "Output language",
            "enum": [
              "en",
              "de",
              "fr",
              "it",
              "es",
              "nl",
              "pl",
              "pt",
              "cs",
              "da",
              "et",
              "el",
              "fi",
              "ga",
              "hr",
              "hu",
              "lt",
              "lv",
              "mt",
              "ro",
              "sk",
              "sl",
              "sv",
              "bg"
            ],
            "type": "string",
            "description": "Preferred language for titles, descriptions, buyer names and links. Falls back to the notice's original language, then English.",
            "default": "en"
          },
          "expertQuery": {
            "title": "Expert query (advanced)",
            "type": "string",
            "description": "Raw TED expert query, e.g. classification-cpv IN (98395000) AND buyer-country = AUT. Combined with AND with the filters above (leave them empty to use only this). A SORT BY clause is removed because results are always paged by publication number for completeness."
          },
          "maxResults": {
            "title": "Max notices",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Safety limit per run.",
            "default": 200
          },
          "maxDescriptionLength": {
            "title": "Max description length",
            "minimum": 0,
            "maximum": 20000,
            "type": "integer",
            "description": "Characters of the short description to keep, 0 for no description.",
            "default": 1000
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Not needed: the TED API is public. Only set it if your network is blocked.",
            "default": {
              "useApifyProxy": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}