{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Tenders Scraper",
    "description": "Delivers a structured dataset of EU public procurement notices from TED (Tenders Electronic Daily). Filter tenders by business opportunity, CPV code, buyer country, procedure type, publication date, or keyword, with optional notice details and buyer contacts.",
    "version": "1.0",
    "x-build-id": "1f2w5v2QXtQ8a3CKE"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/datascrapers~eu-tenders-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-datascrapers-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/datascrapers~eu-tenders-scraper/runs": {
      "post": {
        "operationId": "runs-sync-datascrapers-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/datascrapers~eu-tenders-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-datascrapers-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": {
          "fullTextSearch": {
            "title": "Full text search",
            "type": "string",
            "description": "Free-text search across TED notices (maps to FT expert field). Example: construction software"
          },
          "businessOpportunity": {
            "title": "Business opportunity",
            "type": "array",
            "description": "Filter by business opportunity type. Common values: competition, result, planning, veat, dir-awa-pre, pmc, corr",
            "items": {
              "type": "string"
            }
          },
          "cpvCodes": {
            "title": "CPV codes",
            "type": "array",
            "description": "Common Procurement Vocabulary codes, e.g. 72000000 for IT services",
            "items": {
              "type": "string"
            }
          },
          "contractNature": {
            "title": "Nature of contract",
            "type": "array",
            "description": "Contract nature codes: supplies, services, works",
            "items": {
              "type": "string"
            }
          },
          "placeOfPerformance": {
            "title": "Place of performance",
            "type": "array",
            "description": "NUTS or country codes where work is performed, e.g. DEU, POL, PL911",
            "items": {
              "type": "string"
            }
          },
          "placeOfProcedure": {
            "title": "Place of procedure",
            "type": "array",
            "description": "NUTS or country codes for place of procedure (BT-727 field)",
            "items": {
              "type": "string"
            }
          },
          "procedureType": {
            "title": "Procedure type",
            "type": "array",
            "description": "Procedure type codes, e.g. open, restricted, neg-wo-call",
            "items": {
              "type": "string"
            }
          },
          "buyerCountry": {
            "title": "Country of buyer",
            "type": "array",
            "description": "ISO 3166-1 alpha-3 buyer country codes, e.g. DEU, FRA, POL",
            "items": {
              "type": "string"
            }
          },
          "buyerName": {
            "title": "Buyer name",
            "type": "string",
            "description": "Partial match on buyer organisation name"
          },
          "publicationYear": {
            "title": "Publication year",
            "pattern": "^\\d{4}$",
            "type": "string",
            "description": "Filter by publication year, e.g. 2025"
          },
          "publicationDateFrom": {
            "title": "Publication date from",
            "type": "string",
            "description": "Start of publication date range (YYYY-MM-DD)"
          },
          "publicationDateTo": {
            "title": "Publication date to",
            "type": "string",
            "description": "End of publication date range (YYYY-MM-DD)"
          },
          "legalBasis": {
            "title": "Legal basis",
            "type": "array",
            "description": "Legal basis codes, e.g. 32014L0024",
            "items": {
              "type": "string"
            }
          },
          "funding": {
            "title": "Funding",
            "type": "array",
            "description": "Funding programme codes, e.g. external-aid-program",
            "items": {
              "type": "string"
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "Direct notice-type codes (advanced). Overrides businessOpportunity when both are set.",
            "items": {
              "type": "string"
            }
          },
          "ojsNumber": {
            "title": "OJ S number",
            "type": "string",
            "description": "Official Journal supplement number"
          },
          "publicationNumbers": {
            "title": "Publication numbers",
            "type": "array",
            "description": "Fetch specific notices by publication number, e.g. 871151-2025",
            "items": {
              "type": "string"
            }
          },
          "searchUrls": {
            "title": "TED URLs",
            "type": "array",
            "description": "TED notice detail or search result URLs. Publication numbers and search params are extracted automatically.",
            "items": {
              "type": "string"
            }
          },
          "expertQuery": {
            "title": "Expert query",
            "type": "string",
            "description": "Raw TED expert search query (overrides structured filters). Example: (buyer-country IN (DEU)) AND (FT ~ (software)) SORT BY publication-number DESC"
          },
          "language": {
            "title": "Language",
            "enum": [
              "EN",
              "DE",
              "FR",
              "ES",
              "IT",
              "PL",
              "NL",
              "CS",
              "DA",
              "EL",
              "ET",
              "FI",
              "GA",
              "HR",
              "HU",
              "LT",
              "LV",
              "MT",
              "PT",
              "RO",
              "SK",
              "SL",
              "SV",
              "BG"
            ],
            "type": "string",
            "description": "Language for labels and detail view rendering",
            "default": "EN"
          },
          "scope": {
            "title": "Search scope",
            "enum": [
              "ALL",
              "ACTIVE",
              "LATEST"
            ],
            "type": "string",
            "description": "TED search scope",
            "default": "ALL"
          },
          "onlyLatestVersions": {
            "title": "Only latest versions",
            "type": "boolean",
            "description": "Return only the latest version of each notice",
            "default": false
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "publication-number",
              "publication-date",
              "deadline-receipt-request"
            ],
            "type": "string",
            "description": "Sort column for search results",
            "default": "publication-number"
          },
          "sortOrder": {
            "title": "Sort order",
            "enum": [
              "DESC",
              "ASC"
            ],
            "type": "string",
            "description": "Sort direction",
            "default": "DESC"
          },
          "fetchDetails": {
            "title": "Fetch full details",
            "type": "boolean",
            "description": "When enabled, fetches the full notice detail page including buyer contacts, procedure info, document links, and section text. Disabled by default for faster overview-only runs.",
            "default": false
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 0,
            "type": "integer",
            "description": "Maximum number of notices to scrape (0 = unlimited)",
            "default": 50
          },
          "pageSize": {
            "title": "Page size",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Number of results per search API page (max 100)",
            "default": 50
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Proxy settings for anti-bot protection",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}