{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Tenders Scraper",
    "description": "Scrape public procurement tenders from TED Europa. Access over 700B+ EUR in annual contract opportunities across the European Union.",
    "version": "1.0",
    "x-build-id": "6dk4zUxsO2QnYBuir"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/artificially~eu-tenders-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-artificially-eu-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/artificially~eu-tenders-scraper/runs": {
      "post": {
        "operationId": "runs-sync-artificially-eu-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/artificially~eu-tenders-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-artificially-eu-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": {
          "searchQuery": {
            "title": "Search Query",
            "type": "string",
            "description": "Full-text keywords searched in TED notices (newest first). Multi-word input is matched as an exact phrase. Leave empty to browse by filters only. Example: \"software development\"."
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Buyer country as a 2-letter ISO 3166 code (EU/EEA plus UK, CH and candidate countries). Leave empty for all countries. Example: \"DE\" for Germany, \"FR\" for France."
          },
          "cpvCodes": {
            "title": "CPV Codes",
            "type": "array",
            "description": "List of Common Procurement Vocabulary (CPV) codes, digits only (2-8 digits; shorter codes match whole divisions). Matches notices with any of the codes. Example: [\"72000000\", \"48000000\"] for IT services and software.",
            "items": {
              "type": "string"
            }
          },
          "noticeType": {
            "title": "Notice Type",
            "enum": [
              "",
              "cn-standard",
              "cn-social",
              "pin-only",
              "can-standard",
              "can-social",
              "veat",
              "subco"
            ],
            "type": "string",
            "description": "Type of TED notice. Use \"cn-standard\" for open calls you can still bid on, \"can-standard\" for awarded contracts (winners and values). Empty string = all types.",
            "default": ""
          },
          "procedureType": {
            "title": "Procedure Type",
            "enum": [
              "",
              "open",
              "restricted",
              "neg-w-call",
              "neg-wo-call",
              "comp-dial",
              "innovation"
            ],
            "type": "string",
            "description": "Procurement procedure type. \"open\" = any qualified supplier may bid; \"restricted\" = prequalification required. Empty string = all procedures.",
            "default": ""
          },
          "maxTenders": {
            "title": "Maximum Tenders",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum number of tenders to save (1-1000). Each saved tender is one dataset item. Use 5-20 for quick answers.",
            "default": 100
          },
          "dateFrom": {
            "title": "Date From",
            "type": "string",
            "description": "Only notices published on or after this date, format YYYY-MM-DD. Example: \"2026-01-01\". If no search query and no dates are given, the last 30 days are used."
          },
          "dateTo": {
            "title": "Date To",
            "type": "string",
            "description": "Only notices published on or before this date, format YYYY-MM-DD. Example: \"2026-06-30\"."
          },
          "onlyOpenDeadlines": {
            "title": "Only Open Deadlines",
            "type": "boolean",
            "description": "If true, only return notices whose tender submission deadline is still in the future (notices without a deadline, such as award notices, are excluded).",
            "default": false
          },
          "minDaysUntilDeadline": {
            "title": "Min Days Until Deadline",
            "minimum": 0,
            "maximum": 365,
            "type": "integer",
            "description": "Only return notices whose earliest submission deadline is at least this many days from today (0-365). Example: 14 for at least two weeks to prepare a bid."
          },
          "includeBuyerProfile": {
            "title": "Include Buyer Profile",
            "type": "boolean",
            "description": "If true, adds a buyerProfile object with the buyer's recent TED notices, top CPV codes and preferred procedures (one extra API request per new buyer). Set false for faster runs.",
            "default": true
          },
          "includeFullDetails": {
            "title": "Include Full Details",
            "type": "boolean",
            "description": "If true, fetches descriptions, lots, full buyer contact details, contract dates, place of performance and award details. Set false for faster, lighter results.",
            "default": true
          },
          "includeSimilarTenders": {
            "title": "Include Similar Tenders",
            "type": "boolean",
            "description": "If true, adds a similarTenders list of recent notices with the same main CPV code in the same country (one extra API request per tender).",
            "default": false
          },
          "maxSimilarTenders": {
            "title": "Max Similar Tenders",
            "minimum": 1,
            "maximum": 20,
            "type": "integer",
            "description": "Maximum similar tenders listed per result (1-20) when includeSimilarTenders is true. Example: 5.",
            "default": 5
          },
          "minEstimatedValue": {
            "title": "Minimum Estimated Value",
            "type": "integer",
            "description": "Only return notices with an estimated value at or above this amount, in the notice currency (usually EUR). Notices without an estimated value are excluded. Example: 100000."
          },
          "maxEstimatedValue": {
            "title": "Maximum Estimated Value",
            "type": "integer",
            "description": "Only return notices with an estimated value at or below this amount, in the notice currency (usually EUR). Notices without an estimated value are excluded. Example: 5000000."
          },
          "compactOutput": {
            "title": "Compact output (for AI agents)",
            "type": "boolean",
            "description": "If true, each dataset item is a slim record with only key decision fields (notice ID, title, buyer, country, deadline, value, CPV, award winner, URL) and counts instead of long descriptions, lot lists, buyer profiles and similar tenders. Recommended for AI agents and MCP clients. If false, the full record is returned.",
            "default": false
          },
          "proxyConfiguration": {
            "title": "Proxy Configuration",
            "type": "object",
            "description": "Optional proxy settings. Not needed for normal use: the TED API is public and works without a proxy."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}