{
  "openapi": "3.0.1",
  "info": {
    "title": "Companies House Data — UK Company Search, No API Key",
    "description": "Companies House company data for all 5.7M UK companies, no API key: filter the monthly snapshot by SIC code, postcode, town, status, incorporation date, overdue accounts or company numbers. Leads, KYB, credit watch. OGL, no officers. Unofficial: not affiliated with or endorsed by Companies House.",
    "version": "0.9",
    "x-build-id": "hOsm10UEPDm2TBCXj"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/rein8~uk-companies-house-snapshot/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-rein8-uk-companies-house-snapshot",
        "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/rein8~uk-companies-house-snapshot/runs": {
      "post": {
        "operationId": "runs-sync-rein8-uk-companies-house-snapshot",
        "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/rein8~uk-companies-house-snapshot/run-sync": {
      "post": {
        "operationId": "run-sync-rein8-uk-companies-house-snapshot",
        "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": {
          "companyNumbers": {
            "title": "Check a list of company numbers",
            "type": "string",
            "description": "Company numbers, one per line or separated by commas, tabs or spaces. Leading zeros are optional: 445790 = 00445790, SC12345 = SC012345. A number pasted next to its company name is read too (the name is ignored). Combine with Status \"Any live status\" to see every status. Up to 5,000 numbers per run; the read stops as soon as every number has been found."
          },
          "sicCode": {
            "title": "SIC code",
            "type": "string",
            "description": "One or more SIC 2007 codes, comma-separated (e.g. 62020, 62012). A company matches when any of its up to four SIC codes contains one of them. Example: 62020 = IT consultancy. Words work too: the match runs on the code AND its description, so \"dental\" finds 86230 (dental practices) and 32500 (dental instruments), \"software\" finds 62012, 58290 and 62090."
          },
          "nameContains": {
            "title": "Name contains",
            "type": "string",
            "description": "Words the company name must contain (comma-separated alternatives), e.g. \"bakery, patisserie\". A comma list of full names is a name check: \"ACME TRADING LTD, FOO BAKERY LIMITED\" returns those companies (up to a few hundred names per run; names as written on the register)."
          },
          "companyCategory": {
            "title": "Company type contains",
            "type": "string",
            "description": "Words of the Companies House category, e.g. \"Private Limited Company\", \"Public Limited Company\", \"Limited Liability Partnership\", \"Community Interest Company\" (the register writes them in full: \"PLC\" matches nothing)."
          },
          "postcodePrefix": {
            "title": "Postcode area or district",
            "type": "string",
            "description": "Postcode areas or districts, comma-separated. Letters only = the whole area (\"B\" = Birmingham, not BS or BT; \"SW\" = south-west London). Letters and digits = exactly that district (\"M1\" is not M11; \"SW1A\"). Spaces are ignored."
          },
          "postTown": {
            "title": "Post town",
            "type": "string",
            "description": "Exact post towns, comma-separated (e.g. \"LONDON, LEEDS\")."
          },
          "companyStatus": {
            "title": "Status",
            "enum": [
              "Active",
              "Active - Proposal to Strike off",
              "Liquidation",
              "In Administration",
              "Voluntary Arrangement",
              "RECEIVER MANAGER / ADMINISTRATIVE RECEIVER",
              "any"
            ],
            "type": "string",
            "description": "The snapshot contains live companies only; this narrows them by status. Choose \"Any live status\" to keep every status in the file (the file holds live companies only).",
            "default": "Active"
          },
          "incorporatedFrom": {
            "title": "Incorporated on or after",
            "type": "string",
            "description": "YYYY-MM-DD. Companies incorporated on or after this date. With \"Only companies not delivered before\" and a monthly schedule, each run returns the newly incorporated companies of your filters."
          },
          "incorporatedTo": {
            "title": "Incorporated on or before",
            "type": "string",
            "description": "YYYY-MM-DD. Companies incorporated on or before this date; combine with \"Incorporated on or after\" for a window, e.g. 2026-01-01 to 2026-03-31 for the first quarter."
          },
          "accountsDueBefore": {
            "title": "Accounts due on or before",
            "type": "string",
            "description": "YYYY-MM-DD. Companies whose next accounts are due on or before this date, e.g. the end of next month for filers with a deadline coming up. For accounts that are already late, use \"Accounts overdue by at least (days)\" instead: a company due ON the snapshot date is not yet overdue."
          },
          "accountsOverdueMinDays": {
            "title": "Accounts overdue by at least (days)",
            "minimum": 1,
            "type": "integer",
            "description": "Only companies whose accounts were overdue by at least this many days on the snapshot date (the date of the monthly file, e.g. 2026-09-01). 1 = every late filer; 90 = seriously late. Each row carries accountsOverdueDays. Leads for accountants, an early-warning list for credit teams."
          },
          "confirmationOverdueMinDays": {
            "title": "Confirmation statement overdue by at least (days)",
            "minimum": 1,
            "type": "integer",
            "description": "Only companies whose confirmation statement was overdue by at least this many days on the snapshot date. Each row carries confirmationOverdueDays. A late confirmation statement is a common first step towards a strike-off."
          },
          "confirmationDueBefore": {
            "title": "Confirmation statement due on or before",
            "type": "string",
            "description": "YYYY-MM-DD. Companies whose confirmation statement is due on or before this date. For statements already late, use \"Confirmation statement overdue by at least (days)\"."
          },
          "accountsType": {
            "title": "Accounts type",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only companies whose last accounts were of these types (empty = all). To exclude dormant shells, pick every type except DORMANT. NO ACCOUNTS FILED = usually a company too young to have filed.",
            "items": {
              "type": "string",
              "enum": [
                "MICRO ENTITY",
                "SMALL",
                "MEDIUM",
                "FULL",
                "GROUP",
                "TOTAL EXEMPTION FULL",
                "TOTAL EXEMPTION SMALL",
                "UNAUDITED ABRIDGED",
                "AUDITED ABRIDGED",
                "AUDIT EXEMPTION SUBSIDIARY",
                "FILING EXEMPTION SUBSIDIARY",
                "PARTIAL EXEMPTION",
                "INITIAL",
                "DORMANT",
                "NO ACCOUNTS FILED",
                "ACCOUNTS TYPE NOT AVAILABLE"
              ],
              "enumTitles": [
                "Micro entity",
                "Small",
                "Medium",
                "Full",
                "Group",
                "Total exemption full",
                "Total exemption small",
                "Unaudited abridged",
                "Audited abridged",
                "Audit exemption subsidiary",
                "Filing exemption subsidiary",
                "Partial exemption",
                "Initial",
                "Dormant",
                "No accounts filed (usually a new company)",
                "Accounts type not available"
              ]
            }
          },
          "yearEndMonth": {
            "title": "Year end (accounting reference month)",
            "uniqueItems": true,
            "type": "array",
            "description": "Keep only companies whose accounting reference date falls in these months (empty = all). \"December year-ends in Leeds\" is how a practice plans its workload; each row carries accountsRefDay and accountsRefMonth.",
            "items": {
              "type": "string",
              "enum": [
                "1",
                "2",
                "3",
                "4",
                "5",
                "6",
                "7",
                "8",
                "9",
                "10",
                "11",
                "12"
              ],
              "enumTitles": [
                "January",
                "February",
                "March",
                "April",
                "May",
                "June",
                "July",
                "August",
                "September",
                "October",
                "November",
                "December"
              ]
            }
          },
          "chargesOutstandingMin": {
            "title": "Outstanding charges: at least",
            "minimum": 1,
            "type": "integer",
            "description": "Only companies with at least this many outstanding charges (mortgages) on the register. 1 = every company that has borrowed against its assets — brokers, lenders and asset-finance teams. Each row carries chargesOutstanding and chargesTotal."
          },
          "maxItems": {
            "title": "Max companies",
            "minimum": 1,
            "type": "integer",
            "description": "Maximum companies to return. You pay only for companies delivered (plus the flat scan fee).",
            "default": 50
          },
          "incremental": {
            "title": "Only companies not delivered before",
            "type": "boolean",
            "description": "Remember delivered companies (per State key) and return only new or changed ones. If the monthly file has not changed since your last complete run, the run ends at once and nothing is charged.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Name of the memory used by \"Only companies not delivered before\". Left as \"default\", every saved Task gets its own memory automatically (a run started by hand remembers per set of filters). Type a name to share one memory between runs on purpose.",
            "default": "default"
          },
          "allowStateFallback": {
            "title": "Run without memory if the memory cannot be opened",
            "type": "boolean",
            "description": "Only matters if an incremental run stops with \"state store unavailable\". Off (default): such a run stops before anything is charged. On: the run continues without memory, i.e. it delivers and charges every matching company again.",
            "default": false
          },
          "preview": {
            "title": "Preview (3 companies, free)",
            "type": "boolean",
            "description": "Return 3 companies without any charge, to check the format.",
            "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}