{
  "openapi": "3.0.1",
  "info": {
    "title": "UK Business Rates",
    "description": "Rateable values from the Valuation Office rating list, every non-domestic property in England and Wales. Returns the rateable value, effective date, valuation history, floor areas and council reference. Filter by postcode, street, town, council, description code and value range.",
    "version": "0.1",
    "x-build-id": "hDdr8WOn8i4eh8w8u"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/spookyweb~uk-business-rates/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-spookyweb-uk-business-rates",
        "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/spookyweb~uk-business-rates/runs": {
      "post": {
        "operationId": "runs-sync-spookyweb-uk-business-rates",
        "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/spookyweb~uk-business-rates/run-sync": {
      "post": {
        "operationId": "run-sync-spookyweb-uk-business-rates",
        "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": {
          "postcode": {
            "title": "Postcode",
            "type": "string",
            "description": "A postcode such as BA1 5AJ, or just the outward code such as BA1. The Valuation Office matches a postcode by prefix, so BA1 also returns BA11 and BA12 addresses. On its own this is the fastest search there is."
          },
          "town": {
            "title": "Town or city",
            "type": "string",
            "description": "The town on the address, for example BATH, MANCHESTER or LEEDS. Setting a town switches the run to the advanced address search, which is the only search that accepts a street, a house number and a rateable value range together."
          },
          "street": {
            "title": "Street",
            "type": "string",
            "description": "A street name without the number, for example MILSOM STREET. Pair it with a town so a common street name does not return the same road in forty different places."
          },
          "propertyNameOrNumber": {
            "title": "Property name or number",
            "type": "string",
            "description": "The building name or street number, for example 19, or Royal Mail. Only the advanced address search sends this to the service, so pair it with a town to get the fast version."
          },
          "localCouncil": {
            "title": "Local council",
            "type": "string",
            "description": "The billing authority, by name or by its four digit code, for example BATH AND NORTH EAST SOMERSET or 0114. A unique fragment such as WESTMINSTER also works. This pulls every rated property in one council area, which no address field can do."
          },
          "localCouncilReference": {
            "title": "Local council reference",
            "type": "string",
            "description": "The billing authority reference printed on a business rates bill, for example 2670 5150 20. This is an exact lookup that returns the single assessment behind that bill, and it beats every other field when you have it."
          },
          "descriptionCode": {
            "title": "Description code",
            "type": "string",
            "description": "The Valuation Office description code, by code or by name, for example CS, Shop and Premises, or Warehouse and Premises. The full list is read off the live service at run time, so it is never out of date. An ambiguous fragment is rejected with the codes it could have meant."
          },
          "specialCategoryCode": {
            "title": "Special category code",
            "type": "string",
            "description": "The special category, or SCAT, code by number or by name, for example 217 or Post Office Sorting Centres. On its own this searches the whole of England and Wales for one kind of property, which is how you build a national comparable set."
          },
          "descriptionContains": {
            "title": "Description contains",
            "type": "string",
            "description": "Free text matched against the description the service prints for each property, for example hotel or car park. This is applied to the rows after they arrive, so it works alongside any search, but it reads more pages to fill the same result count."
          },
          "minRateableValue": {
            "title": "Minimum rateable value",
            "minimum": 0,
            "type": "integer",
            "description": "Lowest current rateable value to keep, in whole pounds with no commas or currency symbol. The bound is inclusive. The service applies this against every valuation period a property has ever had, so the Actor re-checks the current value and drops anything that only qualified on an old one."
          },
          "maxRateableValue": {
            "title": "Maximum rateable value",
            "minimum": 0,
            "type": "integer",
            "description": "Highest current rateable value to keep, in whole pounds with no commas or currency symbol. The bound is inclusive. Useful for isolating the small assessments that qualify for small business rate relief, which sits at 12,000 and 15,000 in England."
          },
          "fetchValuationDetail": {
            "title": "Include the full valuation",
            "type": "boolean",
            "description": "Read each property's valuation page for the rateable value, the effective date, the valuation history and the floor by floor breakdown. Turn this off for a fast address and description listing with no rateable value, which uses one request per fifteen properties instead of one each.",
            "default": true
          },
          "maxResults": {
            "title": "Maximum properties to return",
            "minimum": 1,
            "maximum": 10000,
            "type": "integer",
            "description": "Hard cap on the rows saved, which is also the cap on what the run can cost. Each property saved is one billable result. The service itself refuses to page past ten thousand results however many it reports.",
            "default": 100
          },
          "maxRecordsScanned": {
            "title": "Maximum search results to read",
            "minimum": 15,
            "maximum": 10000,
            "type": "integer",
            "description": "Safety stop on how many search results the run reads before giving up on filling the result cap. It only matters when a filter is applied after the results arrive, because those searches read more pages than they save rows.",
            "default": 2000
          }
        }
      },
      "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
                  }
                }
              },
              "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}