{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Public Tenders Scraper (TED): Contract Notices",
    "description": "Search EU public procurement tenders from the official TED API. Filter by country, CPV code, keyword, notice type and estimated value. Flat buyer-level data, no personal data.",
    "version": "0.2",
    "x-build-id": "4q0dNQ9bm0fcMpfwc"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/guileless_concerto~ted-eu-tenders/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-guileless_concerto-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/guileless_concerto~ted-eu-tenders/runs": {
      "post": {
        "operationId": "runs-sync-guileless_concerto-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/guileless_concerto~ted-eu-tenders/run-sync": {
      "post": {
        "operationId": "run-sync-guileless_concerto-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": {
          "daysBack": {
            "title": "Days back",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Publication window ending today (or at 'Date to'), used when 'Date from' is empty.",
            "default": 7
          },
          "dateFrom": {
            "title": "Date from (optional)",
            "type": "string",
            "description": "First publication date (YYYY-MM-DD). Overrides 'Days back'."
          },
          "dateTo": {
            "title": "Date to (optional)",
            "type": "string",
            "description": "Last publication date (YYYY-MM-DD). Defaults to today."
          },
          "countries": {
            "title": "Buyer countries",
            "type": "array",
            "description": "ISO country codes of the buyer, 2 or 3 letters (e.g. DE, FRA, IE). Empty = all countries.",
            "items": {
              "type": "string"
            }
          },
          "cpvCodes": {
            "title": "CPV codes",
            "type": "array",
            "description": "CPV codes; trailing zeros match the whole category (72000000 = all IT services, 4521 = building works). Empty = all.",
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Full-text keywords or phrases (any of them must match), e.g. 'software', 'cloud computing'. Searched in all notice languages TED indexes.",
            "items": {
              "type": "string"
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "Notice types to include. Default: open contract notices (cn-standard, cn-social). Empty = all types.",
            "items": {
              "type": "string",
              "enum": [
                "cn-standard",
                "cn-social",
                "cn-desg",
                "pin-only",
                "pin-buyer",
                "pin-cfc-standard",
                "pin-cfc-social",
                "pin-rtl",
                "pin-tran",
                "qu-sy",
                "subco",
                "can-standard",
                "can-social",
                "can-desg",
                "can-tran",
                "can-modif",
                "veat"
              ],
              "enumTitles": [
                "Contract notice (open tender, standard regime)",
                "Contract notice (social & other specific services)",
                "Design contest notice",
                "Prior information notice (information only)",
                "Prior information notice (buyer profile)",
                "PIN used as call for competition (standard)",
                "PIN used as call for competition (social)",
                "PIN reducing time limits",
                "PIN for public passenger transport",
                "Qualification system notice",
                "Subcontracting notice",
                "Contract award notice (standard)",
                "Contract award notice (social)",
                "Design contest result",
                "Award notice for public passenger transport",
                "Contract modification notice",
                "Voluntary ex-ante transparency notice"
              ]
            },
            "default": [
              "cn-standard",
              "cn-social"
            ]
          },
          "minEstimatedValue": {
            "title": "Minimum estimated value",
            "minimum": 0,
            "type": "integer",
            "description": "Only notices whose procedure-level estimated value is at least this amount (notices without a published value are excluded when set)."
          },
          "valueCurrency": {
            "title": "Value currency",
            "type": "string",
            "description": "Currency for the minimum value filter (ISO code, e.g. EUR, PLN). Leave empty to compare raw amounts in any currency.",
            "default": "EUR"
          },
          "language": {
            "title": "Title language",
            "enum": [
              "eng",
              "deu",
              "fra",
              "spa",
              "ita",
              "pol",
              "nld",
              "por",
              "swe",
              "ces",
              "ron"
            ],
            "type": "string",
            "description": "Preferred language for translated titles and buyer names (falls back to English, then the original).",
            "default": "eng"
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Maximum number of notices to return (you pay per notice). The run also stops at your maximum cost per run.",
            "default": 100
          },
          "requestsPerSecond": {
            "title": "Request rate (per second)",
            "minimum": 0.5,
            "maximum": 5,
            "type": "number",
            "description": "Politeness limit for the TED API (fair usage is 700 requests/minute; default 2/s).",
            "default": 2
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}