{
  "openapi": "3.0.1",
  "info": {
    "title": "EU TED Tenders Scraper & Monitor",
    "description": "Search and monitor EU public tenders from TED (Tenders Electronic Daily) by date, CPV code, buyer country and notice type. Deadlines with time zone, estimated values with currency, lots and direct notice links; monitor mode returns only new notices.",
    "version": "0.1",
    "x-build-id": "bPmFmM1hptfT5hEzN"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/cliqtomedia~eu-ted-tenders-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-cliqtomedia-eu-ted-tenders-scraper",
        "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/cliqtomedia~eu-ted-tenders-scraper/runs": {
      "post": {
        "operationId": "runs-sync-cliqtomedia-eu-ted-tenders-scraper",
        "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/cliqtomedia~eu-ted-tenders-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-cliqtomedia-eu-ted-tenders-scraper",
        "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": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "monitor"
            ],
            "type": "string",
            "description": "search: every matching notice in the date window. monitor: only notices that earlier runs of the same monitor (monitorStateName) have not delivered yet — schedule it daily to get new tenders only. The first monitor run returns every match.",
            "default": "search"
          },
          "lastDays": {
            "title": "Last N days",
            "minimum": 1,
            "maximum": 31,
            "type": "integer",
            "description": "Publication window when Date from is empty: the last N calendar days (UTC), including today. TED publishes on working days (Monday–Friday). 1–31, default 7, so the window always contains several working days.",
            "default": 7
          },
          "dateFrom": {
            "title": "Date from",
            "type": "string",
            "description": "First publication day (YYYY-MM-DD), inclusive. Overrides Last N days. The window may be at most 31 days."
          },
          "dateTo": {
            "title": "Date to",
            "type": "string",
            "description": "Last publication day (YYYY-MM-DD), inclusive. Default: today (or Date from, when it is in the future)."
          },
          "cpvCodes": {
            "title": "CPV codes",
            "maxItems": 50,
            "type": "array",
            "description": "Up to 50 CPV codes (8 digits; a -N check digit is ignored), e.g. 72000000 for IT services or 45000000 for construction. TED also matches every sub-code of a broader code. Empty: all CPV codes.",
            "items": {
              "type": "string"
            }
          },
          "buyerCountries": {
            "title": "Buyer countries",
            "maxItems": 60,
            "type": "array",
            "description": "ISO 3166-1 alpha-3 codes of the buyer country, e.g. DEU, FRA, POL (two-letter EU codes such as DE are converted). Empty: all countries.",
            "items": {
              "type": "string"
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "uniqueItems": true,
            "type": "array",
            "description": "eForms notice types. Empty: all types. Most bidders want cn-standard (contract notices); market research often adds can-standard (award notices).",
            "items": {
              "type": "string",
              "enum": [
                "pin-only",
                "pin-buyer",
                "pin-rtl",
                "pin-cfc-standard",
                "pin-cfc-social",
                "pin-tran",
                "qu-sy",
                "cn-standard",
                "cn-social",
                "cn-desg",
                "subco",
                "can-standard",
                "can-social",
                "can-desg",
                "can-tran",
                "can-modif",
                "veat",
                "corr",
                "compl",
                "pmc"
              ],
              "enumTitles": [
                "Prior information (planning only) (pin-only)",
                "Prior information published on buyer profile (pin-buyer)",
                "Prior information reducing time limits (pin-rtl)",
                "Prior information as call for competition (pin-cfc-standard)",
                "Prior information as call for competition (social/other services) (pin-cfc-social)",
                "Prior information (public transport) (pin-tran)",
                "Qualification system (qu-sy)",
                "Contract notice (cn-standard)",
                "Contract notice (social and other specific services) (cn-social)",
                "Design contest notice (cn-desg)",
                "Subcontracting notice (subco)",
                "Contract award notice (can-standard)",
                "Contract award notice (social and other specific services) (can-social)",
                "Design contest result (can-desg)",
                "Contract award notice (public transport) (can-tran)",
                "Contract modification notice (can-modif)",
                "Voluntary ex-ante transparency notice (veat)",
                "Corrigendum (legacy notices only) (corr)",
                "Contract completion notice (compl)",
                "Pre-market consultation (pmc)"
              ]
            }
          },
          "keywords": {
            "title": "Keywords",
            "maxLength": 200,
            "type": "string",
            "description": "Optional full-text search in TED (all languages of the notice), e.g. cloud computing. Up to 200 characters; quotes, brackets and operators are removed."
          },
          "preferredLanguage": {
            "title": "Preferred language",
            "enum": [
              "BUL",
              "CES",
              "DAN",
              "DEU",
              "ELL",
              "ENG",
              "EST",
              "FIN",
              "FRA",
              "GLE",
              "HRV",
              "HUN",
              "ITA",
              "LAV",
              "LIT",
              "MLT",
              "NLD",
              "POL",
              "POR",
              "RON",
              "SLK",
              "SLV",
              "SPA",
              "SWE"
            ],
            "type": "string",
            "description": "Language for title, description and links. When TED has no text in it, the row falls back to English, then to the notice's original language, and says which language was used (titleLanguage, buyerNameLanguage). Buyer names are usually only in the original language.",
            "default": "ENG"
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 2500,
            "type": "integer",
            "description": "Maximum notices (Dataset rows) per run, newest first. Each row is one paid notice event. 1–2500, default 100.",
            "default": 100
          },
          "monitorStateName": {
            "title": "Monitor name",
            "pattern": "^[a-z0-9-]{1,40}$",
            "type": "string",
            "description": "Monitor mode only: name of the snapshot of delivered notices (a-z, 0-9, -). Use a different name for each saved search, e.g. it-services-de. Stored in your named key-value store eu-ted-tenders-monitor.",
            "default": "default"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}