{
  "openapi": "3.0.1",
  "info": {
    "title": "UK Public Contract Award Leads - Contracts Finder",
    "description": "From $0.002 per award notice, no start fee. Every UK public contract AWARDED on Contracts Finder: winning supplier, value, CPV code, contract start and end date - plus the buying authority's procurement contact, email and phone. Filter by CPV, keyword, region, buyer or value. No API key.",
    "version": "0.1",
    "x-build-id": "PneeX3jhxIDKUcLaq"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapersdelight~contracts-finder-awards-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapersdelight-contracts-finder-awards-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/scrapersdelight~contracts-finder-awards-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapersdelight-contracts-finder-awards-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/scrapersdelight~contracts-finder-awards-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapersdelight-contracts-finder-awards-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": {
          "lastDays": {
            "title": "Last N days",
            "minimum": 1,
            "maximum": 4000,
            "type": "integer",
            "description": "How many days back from today to read, when you leave the two dates below empty. 1 means today only. About 130 award notices are published on a typical UK working day.",
            "default": 7
          },
          "publishedFrom": {
            "title": "Published from",
            "type": "string",
            "description": "First publication date to include (YYYY-MM-DD), inclusive. Set this to override 'Last N days'. Contracts Finder is addressable back to 2015, but dates before 2017 are unreliable - see the README.",
            "default": ""
          },
          "publishedTo": {
            "title": "Published to",
            "type": "string",
            "description": "Last publication date to include (YYYY-MM-DD), INCLUSIVE. The API itself treats this bound as exclusive; this Actor adds the day back so the date you type is the date you get. Defaults to today.",
            "default": ""
          },
          "cpvPrefixes": {
            "title": "CPV code starts with",
            "type": "array",
            "description": "Keep only notices whose CPV classification starts with one of these, for example 45 (construction), 72 (IT services), 79 (business services), 85 (health and social work), 60 (transport). Leave empty for every category. Matches the main CPV code and any additional ones.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "keywords": {
            "title": "Title or description contains",
            "type": "array",
            "description": "Keep only notices whose title or description contains at least one of these words, case-insensitive - for example 'framework', 'maintenance', 'software'.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "buyerNameIncludes": {
            "title": "Buying authority contains",
            "type": "string",
            "description": "Keep only notices from buyers whose name contains this text, for example 'NHS', 'County Council', 'Ministry of'.",
            "default": ""
          },
          "regions": {
            "title": "Delivery region",
            "type": "array",
            "description": "Keep only notices delivered in these regions. NOTE: only 54.5% of award notices publish a region at all (measured over 2,711 notices), so using this filter also drops every notice that left the field blank.",
            "items": {
              "type": "string",
              "enum": [
                "England",
                "Scotland",
                "Wales",
                "Northern Ireland",
                "London",
                "South East",
                "South West",
                "East of England",
                "East Midlands",
                "West Midlands",
                "North West",
                "North East",
                "Yorkshire and the Humber"
              ],
              "enumTitles": [
                "England (unspecified)",
                "Scotland",
                "Wales",
                "Northern Ireland",
                "London",
                "South East",
                "South West",
                "East of England",
                "East Midlands",
                "West Midlands",
                "North West",
                "North East",
                "Yorkshire and the Humber"
              ]
            },
            "default": []
          },
          "minAwardValueGbp": {
            "title": "Minimum award value (GBP)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only contracts awarded for at least this much. The median award is GBP 100,608. 3.0% of notices publish a value of exactly 0; any value filter drops those."
          },
          "maxAwardValueGbp": {
            "title": "Maximum award value (GBP)",
            "minimum": 0,
            "type": "integer",
            "description": "Keep only contracts awarded for at most this much."
          },
          "includeAmendments": {
            "title": "Include amendment notices",
            "type": "boolean",
            "description": "Contracts Finder republishes a corrected award as an 'awardUpdate'. 7.0% of notices are these (measured over a full month). Keep them on to see revised values and dates; turn them off for one row per original award.",
            "default": true
          },
          "maxNotices": {
            "title": "Max notices",
            "minimum": 0,
            "type": "integer",
            "description": "Cap on award notices delivered - and therefore charged. 0 means no cap. A full month of UK awards is about 2,700 notices.",
            "default": 1000
          },
          "requestDelayMs": {
            "title": "Delay between requests (ms)",
            "minimum": 0,
            "maximum": 60000,
            "type": "integer",
            "description": "Contracts Finder allows about 12 requests per 120 seconds and answers HTTP 429 with a 120-second Retry-After, enforced with a lag of tens of seconds. Measured: 6000 ms hit one 429 walking a full month; 10000 ms walked a full month with none. Lower it at your own risk - the Actor backs off and permanently widens its pace after any 429.",
            "default": 10000
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy. RESIDENTIAL is pinned by default: each OCDS page is ~590 KB and a body that size is truncated mid-stream on the datacenter proxy while still returning HTTP 200. The run detects a short body and retries, but datacenter makes that common enough to slow a long walk down. Switch to datacenter if you prefer and accept the retries.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}