{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Tenders (TED): Open Public Procurement with EUR Values",
    "description": "EU public tenders open for bidding, from TED's official API: buyer, CPV category in English, deadline and days left, estimated value converted to EUR, lots, submission links. Filter by country, CPV, value, keyword or procedure, and track only new or changed tenders.",
    "version": "0.1",
    "x-build-id": "fdrEmfL2CeoQkUS1C"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/yzy001~eu-tenders-ted/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-yzy001-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/yzy001~eu-tenders-ted/runs": {
      "post": {
        "operationId": "runs-sync-yzy001-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/yzy001~eu-tenders-ted/run-sync": {
      "post": {
        "operationId": "run-sync-yzy001-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": {
          "cpvCodes": {
            "title": "CPV codes (industry)",
            "type": "array",
            "description": "Keep tenders with any of these CPV codes or their sub-codes, for example 72 (IT services), 48 (software), 45 (construction), 33 (medical) or a full code like 45233120. A check digit like 72000000-8 is accepted. Empty = all.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Optional. Keep tenders whose title, description, buyer or lot titles contain any of these words (case-insensitive). Notices are in the buyer's language, so add translations where it matters.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "contractNature": {
            "title": "Contract nature",
            "type": "array",
            "description": "Works, supplies or services. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "WORKS",
                "SUPPLIES",
                "SERVICES"
              ],
              "enumTitles": [
                "Works",
                "Supplies",
                "Services"
              ]
            },
            "default": []
          },
          "countries": {
            "title": "Buyer countries",
            "type": "array",
            "description": "Optional. Two- or three-letter country codes of the buyer, for example DE, FR, PL or DEU. Empty = all countries publishing on TED (the EU, EEA, Switzerland and candidate countries).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "daysBack": {
            "title": "Days back",
            "minimum": 1,
            "maximum": 31,
            "type": "integer",
            "description": "Notices published in the last N days, today included (1-31). TED publishes every working day; a week is about 9,500 notices for all of Europe. Ignored when a from date is set.",
            "default": 7
          },
          "fromDate": {
            "title": "From date",
            "type": "string",
            "description": "Optional. First publication date to include (YYYY-MM-DD). The range can cover at most 31 days."
          },
          "toDate": {
            "title": "To date",
            "type": "string",
            "description": "Optional. Last publication date to include. Defaults to today."
          },
          "onlyOpen": {
            "title": "Only tenders still open",
            "type": "boolean",
            "description": "Leave out tenders whose deadlines have all passed. A tender with several lots stays in while any lot is open. Notices without any deadline are kept.",
            "default": true
          },
          "minDaysToDeadline": {
            "title": "Minimum days to deadline",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Optional. Keep tenders with at least this many days left to bid."
          },
          "minValueEur": {
            "title": "Minimum estimated value (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Fewer than half of all notices state a value; the others are left out when this is set."
          },
          "maxValueEur": {
            "title": "Maximum estimated value (EUR)",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Notices without a value are left out when this is set."
          },
          "procedureTypes": {
            "title": "Procedure types",
            "type": "array",
            "description": "Optional. Open, restricted, negotiated and so on. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "OPEN",
                "RESTRICTED",
                "NEGOTIATED_WITH_CALL",
                "NEGOTIATED_WITHOUT_CALL",
                "COMPETITIVE_DIALOGUE",
                "INNOVATION_PARTNERSHIP",
                "COMPETITIVE_TENDERING",
                "OTHER_SINGLE_STAGE",
                "OTHER_MULTI_STAGE"
              ],
              "enumTitles": [
                "Open",
                "Restricted",
                "Negotiated with call",
                "Negotiated without call",
                "Competitive dialogue",
                "Innovation partnership",
                "Competitive tendering",
                "Other single stage",
                "Other multi stage"
              ]
            },
            "default": []
          },
          "includePriorInformation": {
            "title": "Include prior information notices",
            "type": "boolean",
            "description": "Also return planned procurements announced in advance (no deadline yet).",
            "default": false
          },
          "trackChanges": {
            "title": "Track changes between runs",
            "type": "boolean",
            "description": "Remember which tenders were returned before (in your own key-value store) and mark each row NEW, CHANGED (a newer version of the notice), SEEN or FIRST_RUN.",
            "default": false
          },
          "onlyNew": {
            "title": "Only new or changed tenders",
            "type": "boolean",
            "description": "With tracking on, return only tenders not returned before, or changed since.",
            "default": false
          },
          "maxItems": {
            "title": "Max tenders",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Upper limit on rows, newest first.",
            "default": 1000
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}