{
  "openapi": "3.0.1",
  "info": {
    "title": "EU & UK Public Tenders — TED + Find a Tender",
    "description": "New public tenders from the EU (TED, 30+ countries) and the UK (Find a Tender) in one clean table. Filter by country, CPV code, keyword and value; get only new notices on each run for daily alerts. Official APIs, pay per notice.",
    "version": "0.1",
    "x-build-id": "Zo3gpppYKHhY5KSWd"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nefes-tools~eu-tenders/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nefes-tools-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/nefes-tools~eu-tenders/runs": {
      "post": {
        "operationId": "runs-sync-nefes-tools-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/nefes-tools~eu-tenders/run-sync": {
      "post": {
        "operationId": "run-sync-nefes-tools-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": "Match any of these words or phrases in the notice (full text). Notices are written in the buyer's language, so add local terms too (e.g. \"software\", \"Software\", \"logiciel\"). Leave empty for all notices.",
            "items": {
              "type": "string"
            }
          },
          "countries": {
            "title": "Countries",
            "type": "array",
            "description": "Buyer countries as 2-letter codes (DE, FR, CZ, GB…). Leave empty for all of Europe. GB is served from UK Find a Tender, all other countries from EU TED.",
            "items": {
              "type": "string"
            }
          },
          "cpvCodes": {
            "title": "CPV codes",
            "type": "array",
            "description": "Common Procurement Vocabulary codes. Parent codes include all children: \"72000000\" (or just \"72\") = all IT services. Leave empty for all sectors.",
            "items": {
              "type": "string"
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "Tenders = open calls you can bid on. Planning = prior information notices (upcoming tenders). Awards = contract award notices with the awarded value.",
            "items": {
              "type": "string",
              "enum": [
                "tender",
                "planning",
                "award"
              ],
              "enumTitles": [
                "Open tenders (calls for competition)",
                "Planning (prior information)",
                "Contract awards"
              ]
            },
            "default": [
              "tender"
            ]
          },
          "daysBack": {
            "title": "Published in the last N days",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "How far back to look. 0 = today only. Ignored when \"Published from\" is set.",
            "default": 3
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "Optional start date (YYYY-MM-DD). Overrides \"last N days\"."
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "Optional end date (YYYY-MM-DD), inclusive."
          },
          "minValue": {
            "title": "Minimum value",
            "minimum": 0,
            "type": "integer",
            "description": "Only notices with an estimated (or awarded) value of at least this amount, in the notice currency (mostly EUR or GBP)."
          },
          "includeWithoutValue": {
            "title": "Keep notices without a stated value",
            "type": "boolean",
            "description": "Many buyers do not publish a value. When a minimum value is set, keep those notices anyway?",
            "default": true
          },
          "openOnly": {
            "title": "Only tenders still open",
            "type": "boolean",
            "description": "Skip tenders whose submission deadline has already passed.",
            "default": true
          },
          "onlyNew": {
            "title": "Only new since the last run",
            "type": "boolean",
            "description": "Remember delivered notices and return only new ones next time (per combination of filters). Ideal for a daily schedule: you pay only for notices you have not seen.",
            "default": false
          },
          "maxResults": {
            "title": "Max notices",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many notices (each notice is one charged result).",
            "default": 200
          },
          "sources": {
            "title": "Sources",
            "type": "array",
            "description": "EU TED (EU/EEA member states and more) and UK Find a Tender.",
            "items": {
              "type": "string",
              "enum": [
                "ted",
                "uk"
              ],
              "enumTitles": [
                "EU TED",
                "UK Find a Tender"
              ]
            },
            "default": [
              "ted",
              "uk"
            ]
          },
          "language": {
            "title": "Preferred language",
            "enum": [
              "en",
              "de",
              "fr",
              "es",
              "it",
              "pl",
              "cs",
              "sk",
              "nl",
              "pt",
              "ro",
              "hu",
              "sv",
              "da",
              "fi",
              "el",
              "bg",
              "hr",
              "sl",
              "et",
              "lv",
              "lt"
            ],
            "type": "string",
            "description": "Language for titles and descriptions from TED when a translation exists (2-letter code). Falls back to English, then the original.",
            "default": "en"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}