{
  "openapi": "3.0.1",
  "info": {
    "title": "EU Tenders Search & TED Notice Monitor",
    "description": "Search EU procurement notices through the official TED API. Schedule saved searches to return newly seen notices. No TED API key needed.",
    "version": "1.0",
    "x-build-id": "0LAWOm7pQlqsArUKP"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/miacx~eu-public-tenders-ted-search-monitor/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-miacx-eu-public-tenders-ted-search-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/miacx~eu-public-tenders-ted-search-monitor/runs": {
      "post": {
        "operationId": "runs-sync-miacx-eu-public-tenders-ted-search-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/miacx~eu-public-tenders-ted-search-monitor/run-sync": {
      "post": {
        "operationId": "run-sync-miacx-eu-public-tenders-ted-search-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": {
          "keywords": {
            "title": "Keywords",
            "maxItems": 50,
            "type": "array",
            "description": "Up to 50 full-text phrases, each 1–150 characters. Default [\"software\"]; [] removes text filtering. Duplicates are removed. Phrases use OR; different filters use AND.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 150
            },
            "default": [
              "software"
            ]
          },
          "cpvCodes": {
            "title": "CPV codes",
            "maxItems": 50,
            "type": "array",
            "description": "Up to 50 exact eight-digit CPV codes, such as \"72000000\". Default [] applies no CPV filter. Codes use OR; other filters use AND. Add child codes explicitly; descendants are not included automatically.",
            "items": {
              "type": "string",
              "pattern": "^[0-9]{8}$"
            },
            "default": []
          },
          "buyerCountries": {
            "title": "Buyer countries",
            "maxItems": 50,
            "type": "array",
            "description": "Up to 50 uppercase ISO alpha-3 buyer country codes, such as \"NLD\" or \"FRA\". Default [] includes all countries. Countries use OR; other filters use AND.",
            "items": {
              "type": "string",
              "pattern": "^[A-Z]{3}$"
            },
            "default": []
          },
          "noticeTypes": {
            "title": "Notice types",
            "maxItems": 50,
            "type": "array",
            "description": "Up to 50 entries using cn-standard (contract notice), can-standard (contract award) or pin-only (prior information). Default [] includes all TED notice types. Values use OR; other filters use AND.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "Inclusive publication date, YYYY-MM-DD. Omitted or empty starts seven days before the run in UTC. Existing monitor progress overrides this lower bound. Must not exceed publishedTo; changing this value creates a separate saved query.",
            "default": ""
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "Inclusive publication date, YYYY-MM-DD. Omitted or empty uses the current UTC date. Leave empty for ongoing monitoring. Must not precede publishedFrom; changing this value creates a separate saved query.",
            "default": ""
          },
          "monitor": {
            "title": "Monitor new notices",
            "type": "boolean",
            "description": "Boolean; default false searches the date window each run. True returns unseen notices and saves progress for this user, task and filter set. First run returns the backlog. Schedule the task separately and run it sequentially. Direct runs share a user-scoped store. Changing maxNotices preserves progress.",
            "default": false
          },
          "maxNotices": {
            "title": "Maximum notices",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Integer from 1 to 1,000; default 10. Caps successful Notice rows per run, subject to budget and runtime limits. Each costs $0.0009; 10 cost $0.009 plus $0.00005 per run start at default memory. Monitor runs resume capped backlogs. This field does not change saved-query identity.",
            "default": 10
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}