{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Tenders Feed: TED Public Procurement Alerts",
    "description": "EU public tenders from TED, the official EU procurement journal: filter by publication date, buyer country, CPV code or sector (IT, construction, medical, consulting, cleaning), keywords, notice type and value. One row per notice with buyer, CPV, value, deadline and documents.",
    "version": "1.0",
    "x-build-id": "w4J8dKo4qmj2VN6WT"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/offerastudio~eu-tender-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-offerastudio-eu-tender-feed",
        "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/offerastudio~eu-tender-feed/runs": {
      "post": {
        "operationId": "runs-sync-offerastudio-eu-tender-feed",
        "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/offerastudio~eu-tender-feed/run-sync": {
      "post": {
        "operationId": "run-sync-offerastudio-eu-tender-feed",
        "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": {
          "publicationDateFrom": {
            "title": "Published from",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$|^(\\d+)\\s*(day|week|month|year)s?$",
            "type": "string",
            "description": "First TED publication date, e.g. 2026-09-30, or a relative date like \"1 day\" (yesterday). Empty = the last working day before today (TED publishes nothing at weekends). At most 366 days per run."
          },
          "publicationDateTo": {
            "title": "Published to",
            "pattern": "^(\\d{4})-(0[1-9]|1[0-2])-(0[1-9]|[12]\\d|3[01])$|^(\\d+)\\s*(day|week|month|year)s?$",
            "type": "string",
            "description": "Last publication date, inclusive. Empty = today (or the same day as the default \"Published from\"). For a daily feed, schedule the Actor every morning and leave both dates empty."
          },
          "countries": {
            "title": "Buyer countries",
            "type": "array",
            "description": "Countries of the buying organisation: two-letter codes (DE, FR, PL; EL for Greece, UK for the United Kingdom) or three-letter codes. Empty = all countries.",
            "items": {
              "type": "string"
            }
          },
          "sectors": {
            "title": "Sectors (CPV presets)",
            "type": "array",
            "description": "Pick sectors; each stands for CPV codes (for example IT services = division 72). Combined with the CPV codes below: a notice matches when it has any of them.",
            "items": {
              "type": "string",
              "enum": [
                "it-services",
                "software",
                "it-hardware",
                "construction",
                "architecture-engineering",
                "medical",
                "consulting",
                "research-development",
                "cleaning",
                "waste-environment",
                "security",
                "transport-logistics",
                "vehicles",
                "energy",
                "education-training",
                "catering",
                "telecom"
              ],
              "enumTitles": [
                "IT services (consulting, software development, internet, support)",
                "Software packages and information systems",
                "Computers, office and communication equipment",
                "Construction work and building installation",
                "Architectural, engineering and inspection services",
                "Medical equipment, pharmaceuticals, health and social services",
                "Business consulting, legal, marketing, recruitment and other business services",
                "Research, development and related consultancy",
                "Cleaning and sanitation services",
                "Waste, sewage and environmental services",
                "Security, surveillance and guard services",
                "Transport and logistics services",
                "Vehicles and transport equipment",
                "Fuel, electricity and public utilities",
                "Education and training services",
                "Food, catering and hospitality",
                "Postal and telecommunications services"
              ]
            }
          },
          "cpvCodes": {
            "title": "CPV codes or prefixes",
            "type": "array",
            "description": "CPV codes (72000000 or 72000000-8) or prefixes (72, 7226). A code ending in zeros stands for its whole group: 72000000 = every IT services code. At most 50 with the sectors.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Words or phrases to find in the title or description (any of them; several words are searched as a phrase). Up to 10.",
            "items": {
              "type": "string"
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "Contract notices are calls for tenders; contract award notices say who won; prior information notices announce planned tenders. Empty = contract notices.",
            "items": {
              "type": "string",
              "enum": [
                "contract-notice",
                "contract-award",
                "prior-information"
              ],
              "enumTitles": [
                "Contract notice (call for tenders)",
                "Contract award notice",
                "Prior information notice (planned tenders)"
              ]
            },
            "default": [
              "contract-notice"
            ]
          },
          "minEstimatedValue": {
            "title": "Minimum estimated value",
            "minimum": 0,
            "type": "integer",
            "description": "Only notices with an estimated value (for award notices: the awarded value) of at least this amount, in the currency below. Notices without a stated value are left out when this is set. Values are not converted between currencies."
          },
          "valueCurrency": {
            "title": "Currency of the minimum value",
            "type": "string",
            "description": "Three-letter currency code the minimum value is in. Only notices stated in this currency are compared.",
            "default": "EUR"
          },
          "maxResults": {
            "title": "Maximum notices",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Stop after this many notices (1–5,000). You are charged per notice returned.",
            "default": 50
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}