{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Tenders Scraper (TED) – Public Procurement Notices & Awards",
    "description": "Search EU public tenders from TED, the EU's official procurement journal, via its official API. Filter by keyword, CPV code, country, notice type, deadline and value. Get buyer, CPV, deadline, estimated value, PDF links. All EU/EEA. No API key.",
    "version": "1.0",
    "x-build-id": "kkRMxOV84pxVVR1av"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/iamshytv~ted-eu-tenders/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-iamshytv-ted-eu-tenders",
        "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/iamshytv~ted-eu-tenders/runs": {
      "post": {
        "operationId": "runs-sync-iamshytv-ted-eu-tenders",
        "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/iamshytv~ted-eu-tenders/run-sync": {
      "post": {
        "operationId": "run-sync-iamshytv-ted-eu-tenders",
        "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": "Full-text search across the notice (any language). Multiple keywords are combined with OR, e.g. software, cloud, cybersecurity.",
            "default": [
              "software",
              "cloud"
            ],
            "items": {
              "type": "string"
            }
          },
          "cpvCodes": {
            "title": "CPV codes",
            "type": "array",
            "description": "Common Procurement Vocabulary codes. Parent codes include all children: 72000000 (IT services) also returns 72200000, 72212000… You can type just the prefix (72, 4800).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Buyer countries",
            "type": "array",
            "description": "Country of the contracting authority, ISO alpha-3 (DEU, FRA, ESP) or alpha-2 (DE, FR, ES). Empty = all EU/EEA.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "Which kinds of notices to return. Default: open tenders (contract notices). Leave empty for all.",
            "items": {
              "type": "string",
              "enum": [
                "competition",
                "result",
                "planning",
                "cont-modif",
                "dir-awa-pre",
                "consultation"
              ],
              "enumTitles": [
                "Open tenders / contract notices",
                "Contract award results",
                "Prior information (planned tenders)",
                "Contract modifications",
                "Direct award pre-announcements",
                "Market consultations"
              ]
            },
            "default": [
              "competition"
            ]
          },
          "publishedWithinDays": {
            "title": "Published in the last N days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "Only notices published in the last N days. 0 = no limit. Ignored when 'Published from' is set.",
            "default": 7
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "Only notices published on/after this date (YYYY-MM-DD)."
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "Only notices published on/before this date (YYYY-MM-DD)."
          },
          "onlyOpen": {
            "title": "Only tenders still open",
            "type": "boolean",
            "description": "Keep only notices whose tender submission deadline is today or later.",
            "default": false
          },
          "minEstimatedValue": {
            "title": "Minimum estimated value",
            "minimum": 0,
            "type": "integer",
            "description": "Drop notices whose estimated/total value is below this amount (in the notice's currency, usually EUR). Notices without a value are dropped when set. 0 = off.",
            "default": 0
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many notices. You pay per notice returned.",
            "default": 100
          },
          "onlyNewSinceLastRun": {
            "title": "Only new since last run",
            "type": "boolean",
            "description": "Remember notices returned in earlier runs (named key-value store) and skip them. Ideal for a daily scheduled tender alert.",
            "default": false
          },
          "language": {
            "title": "Preferred language",
            "enum": [
              "eng",
              "deu",
              "fra",
              "spa",
              "ita",
              "nld",
              "pol",
              "por",
              "ces",
              "swe",
              "dan",
              "fin",
              "ell",
              "hun",
              "ron",
              "bul",
              "slk",
              "slv",
              "hrv",
              "lit",
              "lav",
              "est",
              "mlt",
              "gle"
            ],
            "type": "string",
            "description": "Language for titles and names when TED has a translation (titles are machine-translated by TED into all EU languages; buyer names and descriptions stay in the original language).",
            "default": "eng"
          },
          "descriptionMaxChars": {
            "title": "Max description length",
            "minimum": 0,
            "type": "integer",
            "description": "Truncate descriptions to this many characters. 0 = no limit.",
            "default": 3000
          },
          "includeAwardWinners": {
            "title": "Include award winners",
            "type": "boolean",
            "description": "For contract award results, add the winning organisations and awarded value.",
            "default": false
          },
          "expertQuery": {
            "title": "TED expert query (advanced)",
            "type": "string",
            "description": "Optional raw TED expert-search query, e.g. buyer-country=IRL AND classification-cpv=72000000 SORT BY publication-date DESC. Overrides all filters above."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}