{
  "openapi": "3.0.1",
  "info": {
    "title": "UK Companies House Bulk Scraper - Directors & Owners",
    "description": "Filter millions of UK companies from the official Companies House register by SIC code, location, status, type and incorporation date. Optionally add directors and beneficial owners (PSCs). No API key needed.",
    "version": "0.1",
    "x-build-id": "A6dZEQEf0mY7q3eyU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/automatic~uk-companies-house-bulk/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-automatic-uk-companies-house-bulk",
        "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/automatic~uk-companies-house-bulk/runs": {
      "post": {
        "operationId": "runs-sync-automatic-uk-companies-house-bulk",
        "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/automatic~uk-companies-house-bulk/run-sync": {
      "post": {
        "operationId": "run-sync-automatic-uk-companies-house-bulk",
        "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": {
          "snapshotMonth": {
            "title": "Snapshot release month",
            "type": "string",
            "description": "Official release month in YYYY-MM form, for example 2026-11 for the 2026-11-01 file. Leave empty for the latest published snapshot. Months not currently listed by Companies House are reported unavailable.",
            "default": ""
          },
          "nameContains": {
            "title": "Company name contains",
            "type": "array",
            "description": "Case-insensitive substrings; a company matches any one. Empty keeps every name.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "sicPrefixes": {
            "title": "SIC code prefixes",
            "type": "array",
            "description": "2 to 5 digit prefixes, for example 62 or 62020; a company matches any one. Combined with SIC keywords as one SIC filter.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "sicKeywords": {
            "title": "SIC description keywords",
            "type": "array",
            "description": "Case-insensitive keywords matched against the published SIC text; a company matches any one. Combined with SIC prefixes as one SIC filter.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "statuses": {
            "title": "Company statuses",
            "type": "array",
            "description": "Exact statuses such as Active or Liquidation; a company matches any one. Empty keeps every status in the live-company snapshot.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "categories": {
            "title": "Company categories",
            "type": "array",
            "description": "Exact categories such as Private Limited Company or Public Limited Company; a company matches any one. Empty keeps every category.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "postcodePrefixes": {
            "title": "Postcode prefixes",
            "type": "array",
            "description": "Registered-office postcode prefixes with spaces ignored, for example SW1A or M1; a company matches any one.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "towns": {
            "title": "Post towns",
            "type": "array",
            "description": "Exact registered-office post towns, case-insensitive; a company matches any one.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "counties": {
            "title": "Counties",
            "type": "array",
            "description": "Exact registered-office counties, case-insensitive; a company matches any one.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "countries": {
            "title": "Address countries",
            "type": "array",
            "description": "Exact registered-office address countries such as England or Wales, case-insensitive; a company matches any one.",
            "items": {
              "type": "string"
            },
            "default": []
          },
          "incorporationFrom": {
            "title": "Incorporated on or after",
            "type": "string",
            "description": "Inclusive incorporation date in YYYY-MM-DD form."
          },
          "incorporationTo": {
            "title": "Incorporated on or before",
            "type": "string",
            "description": "Inclusive incorporation date in YYYY-MM-DD form."
          },
          "maxItems": {
            "title": "Maximum companies",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Hard cap across the whole run. Scanning stops as soon as this many company rows have been delivered. With directors or PSC lookups the maximum is 5,000, because each company needs its own register lookups.",
            "default": 1000
          },
          "includeOfficers": {
            "title": "Add directors and officers",
            "type": "boolean",
            "description": "For each matched company, add its current directors, secretaries and other officers from the public Companies House register: name, role, appointment date, month and year of birth, nationality, country of residence and correspondence address. Charged as one people lookup per company that succeeds. Slower: allow roughly 1-2 companies per second.",
            "default": false
          },
          "includePscs": {
            "title": "Add owners (persons with significant control)",
            "type": "boolean",
            "description": "For each matched company, add its persons with significant control (beneficial owners), including corporate owners with their registration numbers and the nature of control (for example 75% or more of shares). Shares the same per-company people lookup charge as directors.",
            "default": false
          },
          "includeFormerPeople": {
            "title": "Include resigned officers and ceased owners",
            "type": "boolean",
            "description": "Also return resigned officers and ceased persons with significant control. Off returns current people only.",
            "default": 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}