{
  "openapi": "3.0.1",
  "info": {
    "title": "UK & Australia Tenders Scraper - Search Gov Contracts & Awards",
    "description": "Search UK and Australian government tenders and contract awards (Find a Tender, Contracts Finder, AusTender) via OCDS APIs. Input: sources, keywords, CPV/UNSPSC codes, notice types, dates, value range, buyer. Returns per notice: title, buyer, category, value, deadline, URL. Default: 20 notices.",
    "version": "1.0",
    "x-build-id": "ehGcph5lwDGgVk2TB"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/kadi_bence~gov-tenders-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-kadi_bence-gov-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/kadi_bence~gov-tenders-scraper/runs": {
      "post": {
        "operationId": "runs-sync-kadi_bence-gov-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/kadi_bence~gov-tenders-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-kadi_bence-gov-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": {
          "sources": {
            "title": "Sources",
            "type": "array",
            "description": "Official procurement services to search. UK Find a Tender = higher-value UK notices (Procurement Act 2023). UK Contracts Finder = English public contracts over £12k-£30k, mostly awards. AusTender = Australian Government contract notices (awarded contracts only).",
            "items": {
              "type": "string",
              "enum": [
                "uk_fts",
                "uk_cf",
                "au_austender"
              ],
              "enumTitles": [
                "UK Find a Tender (FTS)",
                "UK Contracts Finder",
                "Australia - AusTender contract notices"
              ]
            },
            "default": [
              "uk_fts",
              "uk_cf",
              "au_austender"
            ]
          },
          "keywords": {
            "title": "Keywords",
            "type": "array",
            "description": "Words or phrases searched in the title, description, buyer name and category label, e.g. 'software', 'cleaning'. Several lines = any of them (OR). Accents and case don't matter, and a term also matches inside longer words, so avoid very short terms like 'IT'. AusTender rows have no description, so there keywords only search title and buyer. Leave empty for all notices.",
            "items": {
              "type": "string"
            }
          },
          "categoryCodes": {
            "title": "Category codes (CPV / UNSPSC)",
            "type": "array",
            "description": "UK notices use CPV codes (e.g. 72000000 IT services, 45000000 construction), AusTender uses UNSPSC (e.g. 43230000 software, 80101500 consulting). Sub-categories are included: 72000000 also matches 72220000. You can type a short prefix like 72. Codes are checked against every selected source, so a CPV code can also match an unrelated UNSPSC code that starts with the same digits. For clean results, run UK (CPV) and AusTender (UNSPSC) searches separately.",
            "items": {
              "type": "string"
            }
          },
          "noticeTypes": {
            "title": "Notice types",
            "type": "array",
            "description": "Leave empty for all. 'Tender' = open calls you can bid on (with deadlines). 'Award' = who won and for how much. 'Planning' = pipeline and pre-market engagement notices. AusTender only has awards.",
            "items": {
              "type": "string",
              "enum": [
                "tender",
                "award",
                "planning"
              ],
              "enumTitles": [
                "Tender (open opportunity)",
                "Award (contract awarded, winners)",
                "Planning (pipeline, market engagement)"
              ]
            }
          },
          "publishedWithinDays": {
            "title": "Published within the last N days",
            "minimum": 0,
            "maximum": 3650,
            "type": "integer",
            "description": "e.g. 3 for the last three days, 0 for today only. When set, it replaces the 'Published from / to' dates below. Leave empty to use the date range below (default: last 30 days)."
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "First publication date (YYYY-MM-DD)."
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "Last publication date (YYYY-MM-DD). Default: today."
          },
          "deadlineAfter": {
            "title": "Submission deadline on or after",
            "type": "string",
            "description": "Only tenders you can still bid on: deadline on or after this date. Accepts YYYY-MM-DD, 'today' or '+14 days'. Notices without a deadline (awards, planning) are excluded when you set this."
          },
          "minValue": {
            "title": "Min value",
            "minimum": 0,
            "type": "integer",
            "description": "Estimated value, or the awarded value when there is no estimate, in the notice's currency (GBP for UK, AUD for Australia). Notices without a value are excluded when you set this."
          },
          "maxValue": {
            "title": "Max value",
            "minimum": 0,
            "type": "integer",
            "description": "Same rule as above."
          },
          "buyerName": {
            "title": "Buyer name contains",
            "type": "string",
            "description": "Words in the buyer's name, e.g. 'NHS', 'County Council' or 'Department of Defence'."
          },
          "regions": {
            "title": "Regions",
            "type": "array",
            "description": "Buyer region or place of performance, prefix match. UK: ITL/NUTS codes like UKI (London), UKM (Scotland), UKL (Wales) or names like 'England'. Australia: ACT, NSW, VIC, QLD ...",
            "items": {
              "type": "string"
            }
          },
          "includeUpdates": {
            "title": "Include updates and amendments",
            "type": "boolean",
            "description": "Also return changed or corrected notices (tender updates, award updates, contract changes). Turn off to get first publications only.",
            "default": true
          },
          "maxResults": {
            "title": "Max results",
            "minimum": 0,
            "type": "integer",
            "description": "Stop after this many notices in total (shared fairly across the sources). 0 = no limit. The default without input (API, MCP and AI-agent calls) is 20.",
            "default": 20
          },
          "onlyNewNotices": {
            "title": "Only new notices (monitoring mode)",
            "type": "boolean",
            "description": "Remember returned notices and output only NEW ones on the next runs with the same search. Ideal for a daily schedule: you only pay for new notices.",
            "default": false
          },
          "monitorName": {
            "title": "Monitor name",
            "type": "string",
            "description": "Keeps separate 'already seen' lists for different schedules. Changing any filter also starts a new list.",
            "default": "default"
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Not needed: all sources are official open-data APIs.",
            "default": {
              "useApifyProxy": false
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}