{
  "openapi": "3.0.1",
  "info": {
    "title": "Nordic Tenders Scraper - TED API",
    "description": "Scrape public tenders from Swedish, Norwegian, Danish, Finnish and Icelandic buyers via the official EU TED API. Get title, buyer org number, CPV, value, deadline, winners and links. Keyword/CPV filters, only-new mode. Export JSON/CSV or call via API.",
    "version": "1.1",
    "x-build-id": "pakECWBFQollEE42U"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/teddythebuilder~nordic-public-tenders-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-teddythebuilder-nordic-public-tenders-monitor",
        "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/teddythebuilder~nordic-public-tenders-monitor/runs": {
      "post": {
        "operationId": "runs-sync-teddythebuilder-nordic-public-tenders-monitor",
        "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/teddythebuilder~nordic-public-tenders-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-teddythebuilder-nordic-public-tenders-monitor",
        "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": {
          "countries": {
            "title": "Buyer countries",
            "type": "array",
            "description": "Countries of the contracting authority (ISO 3166-1 alpha-3). Leave empty for all five Nordic countries.",
            "items": {
              "type": "string",
              "enum": [
                "SWE",
                "NOR",
                "DNK",
                "FIN",
                "ISL"
              ],
              "enumTitles": [
                "Sweden",
                "Norway",
                "Denmark",
                "Finland",
                "Iceland"
              ]
            },
            "default": [
              "SWE",
              "NOR",
              "DNK",
              "FIN"
            ]
          },
          "keywords": {
            "title": "Keywords (full-text)",
            "type": "array",
            "description": "Optional. A notice matches if ANY keyword/phrase appears in its text (any language). Example: \"cyber security\", \"programvara\", \"bygg\".",
            "items": {
              "type": "string"
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "competition = open calls for tender (bid opportunities); result = contract awards (who won, for how much); planning = prior information notices. Empty = all.",
            "items": {
              "type": "string",
              "enum": [
                "competition",
                "result",
                "planning",
                "change",
                "dir-awa-pre",
                "cont-modif"
              ],
              "enumTitles": [
                "Calls for tender (competition)",
                "Contract awards (result)",
                "Prior information (planning)",
                "Corrigenda (change)",
                "Direct award pre-announcement",
                "Contract modification"
              ]
            },
            "default": [
              "competition"
            ]
          },
          "publishedWithinDays": {
            "title": "Published within last N days",
            "minimum": 1,
            "maximum": 3650,
            "type": "integer",
            "description": "Only notices published in the last N days.",
            "default": 7
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Maximum number of notices to output (each is one billable result). Example: 20 for a quick test, 1000 for a full export.",
            "default": 20
          },
          "cpvCodes": {
            "title": "CPV codes",
            "type": "array",
            "description": "Optional CPV codes (8 digits, or a 2-4 digit division/group which is padded with zeros, e.g. 72 = IT services, 45 = construction, 48 = software packages).",
            "items": {
              "type": "string"
            }
          },
          "onlyOpenForBids": {
            "title": "Only tenders still open for bids",
            "type": "boolean",
            "description": "Drop notices whose tender deadline has passed.",
            "default": false
          },
          "minEstimatedValue": {
            "title": "Minimum estimated value",
            "minimum": 0,
            "type": "integer",
            "description": "Optional. Drop notices with a lower (or missing) estimated value. Value is in the notice's own currency (SEK/NOK/DKK/EUR/ISK)."
          },
          "onlyNew": {
            "title": "Monitor mode: only new since last run",
            "type": "boolean",
            "description": "Remember which notices you already received (per monitor ID) and output only new ones. Schedule the Actor daily for tender alerts. The first run outputs everything that matches and stores the baseline.",
            "default": false
          },
          "monitorId": {
            "title": "Monitor ID",
            "type": "string",
            "description": "Name of this saved search for monitor mode. Use different IDs for different searches.",
            "default": "default"
          },
          "preferredLanguage": {
            "title": "Preferred language for titles",
            "enum": [
              "eng",
              "swe",
              "nor",
              "dan",
              "fin"
            ],
            "type": "string",
            "description": "Titles/descriptions are returned in this language when the notice has it, otherwise the original language.",
            "default": "eng"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}