{
  "openapi": "3.0.1",
  "info": {
    "title": "UK Landlord Register",
    "description": "🏷️ From $0.60 / 1K | Postcodes in, landlords out. Bulk searches the Scottish Landlord Register and Rent Smart Wales, returning one row per rental property: the registered landlord, the letting agent, the contact address, the registration number, and whether it is registered at all.",
    "version": "0.1",
    "x-build-id": "ZIQggiksoa9pjQ9Vp"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/spookyweb~uk-landlord-register/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-spookyweb-uk-landlord-register",
        "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-landlord-register/runs": {
      "post": {
        "operationId": "runs-sync-spookyweb-uk-landlord-register",
        "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-landlord-register/run-sync": {
      "post": {
        "operationId": "run-sync-spookyweb-uk-landlord-register",
        "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": {
          "postcodes": {
            "title": "🏠 Postcodes",
            "type": "array",
            "description": "Full UK postcodes to check, one per line, such as EH6 6QH or CF24 4AA. Every rental property registered at that postcode is returned with its landlord, and properties with no register entry are returned too. Scottish postcodes go to the Scottish landlord register and Welsh postcodes go to Rent Smart Wales. A partial postcode such as EH6 will not work because neither register accepts one.",
            "items": {
              "type": "string"
            }
          },
          "registrationNumbers": {
            "title": "🔢 Landlord registration numbers (Scotland)",
            "type": "array",
            "description": "Scottish landlord registration numbers to look up, such as 201203/230/14591. Each returns the landlord that number belongs to, their local authority and whether the registration is valid. Use this to check a number printed on a tenancy agreement or a letting advert.",
            "items": {
              "type": "string"
            }
          },
          "landlordNames": {
            "title": "👤 Landlord names (Wales)",
            "type": "array",
            "description": "Landlord names to look up in Rent Smart Wales, one per line. The Welsh register matches a landlord on the full name, so Daniel Bultitude-Froud finds the record and Bultitude on its own finds nothing. This field does nothing for Scotland, whose register cannot be searched by name.",
            "items": {
              "type": "string"
            }
          },
          "agentNames": {
            "title": "🏢 Letting agent names (Wales)",
            "type": "array",
            "description": "Letting or managing agent names to look up in Rent Smart Wales, one per line. The Welsh register matches part of an agent name, so Countrywide finds every branch. Use this to pull an agent's whole managed portfolio. This field does nothing for Scotland, whose register cannot be searched by agent.",
            "items": {
              "type": "string"
            }
          },
          "nations": {
            "title": "🌍 Registers to search",
            "type": "array",
            "description": "Which of the two live UK landlord registers to query. Leave both selected to let the postcode decide, which is almost always what you want. England has no public landlord register yet, so an English postcode is returned with a status saying so rather than being dropped.",
            "items": {
              "type": "string",
              "enum": [
                "Scotland",
                "Wales"
              ],
              "enumTitles": [
                "Scotland (Scottish Landlord Register)",
                "Wales (Rent Smart Wales)"
              ]
            },
            "default": [
              "Scotland",
              "Wales"
            ]
          },
          "includeUnregistered": {
            "title": "⚠️ Include properties with no register entry",
            "type": "boolean",
            "description": "Keep properties the register holds no entry for. Letting out an unregistered property is an offence in both Scotland and Wales, so these rows are usually the point of the search rather than noise. Turn this off to get registered properties only.",
            "default": true
          },
          "maxResults": {
            "title": "📊 Maximum properties",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many properties have been saved. A busy city postcode can hold sixty or more addresses, so a long postcode list adds up quickly. Raise it for a whole council area and lower it to sample a list before committing to the full run.",
            "default": 1000
          },
          "concurrency": {
            "title": "⚡ Parallel lookups",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many property lookups to run at once. Both registers are small public services, so five is the deliberate default and is plenty for most runs. Raise it to ten only when you are pulling a large list and are happy to work the register harder.",
            "default": 5
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}