{
  "openapi": "3.0.1",
  "info": {
    "title": "UK New Companies & Officers Feed (unofficial Companies House)",
    "description": "Daily feed of newly incorporated UK companies from the official Companies House API, with SIC, type and postcode filters and optional officers. Unofficial; not affiliated with Companies House.",
    "version": "0.1",
    "x-build-id": "PgPgufiRT4ifDF7Ve"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/plusonets~uk-companies-house-feed/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-plusonets-uk-companies-house-feed",
        "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/plusonets~uk-companies-house-feed/runs": {
      "post": {
        "operationId": "runs-sync-plusonets-uk-companies-house-feed",
        "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/plusonets~uk-companies-house-feed/run-sync": {
      "post": {
        "operationId": "run-sync-plusonets-uk-companies-house-feed",
        "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": {
          "apiKey": {
            "title": "Companies House API key",
            "type": "string",
            "description": "Your free Companies House REST API key (https://developer.company-information.service.gov.uk/). Leave this empty to use the COMPANIES_HOUSE_API_KEY environment variable. The Actor owner sets that variable under Actor → Settings → Environment variables and should mark it secret. The default input does not contain a key."
          },
          "incorporatedFrom": {
            "title": "Incorporated from",
            "type": "string",
            "description": "First incorporation date to include. Use YYYY-MM-DD or a relative date such as 1 day or 2 weeks, in the Europe/London calendar. Leave empty to use yesterday."
          },
          "incorporatedTo": {
            "title": "Incorporated to",
            "type": "string",
            "description": "Last incorporation date to include. Same formats as Incorporated from. Leave empty to use yesterday."
          },
          "fallbackLookbackDays": {
            "title": "Fallback lookback (days)",
            "minimum": 0,
            "maximum": 31,
            "type": "integer",
            "description": "Used only when both dates are empty and yesterday has no incorporations. The run then searches this many days ending yesterday, so a quiet day still returns recent companies. Set 0 or 1 to disable. Ignored when you set a date.",
            "default": 7
          },
          "maxCompanies": {
            "title": "Maximum companies",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many matching companies. The default is 20 so the daily test finishes in one API call. Raise it for a full day (a typical day is a few thousand incorporations).",
            "default": 20
          },
          "sicCodes": {
            "title": "SIC codes",
            "type": "array",
            "description": "UK SIC 2007 codes. A company matches if it has any of these codes. Example: 62012 for business and domestic software development. Leave empty for every SIC code.",
            "items": {
              "type": "string"
            }
          },
          "companyTypes": {
            "title": "Company types",
            "type": "array",
            "description": "Companies House company_type codes. Common values: ltd, plc, llp, private-limited-guarant-nsc, charitable-incorporated-organisation, registered-overseas-entity, uk-establishment, limited-partnership. Leave empty for every type.",
            "items": {
              "type": "string"
            }
          },
          "companyStatus": {
            "title": "Company status",
            "type": "array",
            "description": "Optional status filter. Values include active, open, dissolved, liquidation, administration, receivership, voluntary-arrangement, insolvency-proceedings. Leave empty for every status. New incorporations are usually active.",
            "items": {
              "type": "string"
            }
          },
          "postcode": {
            "title": "Postcode or prefix",
            "type": "string",
            "description": "Registered-office postcode prefix, such as SW1A, EH, or M1 1AE. Spaces and case are ignored. Applied on top of the Companies House location search."
          },
          "region": {
            "title": "Region, town or country",
            "type": "string",
            "description": "Case-insensitive match against the registered office locality, county/region, country, or address lines. Examples: Manchester, Greater London, Scotland, Wales."
          },
          "location": {
            "title": "API location text",
            "type": "string",
            "description": "Optional text passed straight to the Companies House location filter. When this is empty, the postcode is sent, or the region if there is no postcode. Local postcode and region checks still apply."
          },
          "nameIncludes": {
            "title": "Name includes",
            "type": "string",
            "description": "Only companies whose name contains this text. Sent to the API as company_name_includes."
          },
          "nameExcludes": {
            "title": "Name excludes",
            "type": "string",
            "description": "Drop companies whose name contains this text. Sent to the API as company_name_excludes."
          },
          "includeOfficers": {
            "title": "Include officers",
            "type": "boolean",
            "description": "Also read /company/{number}/officers for each saved company. Each officer is its own paid event. Leave this off for the fast default run. One request per company, paced under the 600 requests / 5 minutes cap.",
            "default": false
          },
          "activeOfficersOnly": {
            "title": "Active officers only",
            "type": "boolean",
            "description": "When officers are included, drop anyone with a resignation date.",
            "default": true
          },
          "maxOfficersPerCompany": {
            "title": "Maximum officers per company",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Cap officer rows stored on each company. New companies usually have one to three.",
            "default": 50
          },
          "onlyNewSinceLastRun": {
            "title": "Only new since last run",
            "type": "boolean",
            "description": "Skip company numbers already saved for this state key. The list is kept in the default key-value store (limited permissions). Leave this off for the daily test, or the second test run of the same day can be empty. Turn it on for a scheduled monitor, and use a different state key per saved search.",
            "default": false
          },
          "stateKey": {
            "title": "State key",
            "type": "string",
            "description": "Name of the seen-company list used by Only new since last run. Example: software-london. The stored record keeps the newest 30,000 company numbers after it passes 40,000.",
            "default": "default"
          },
          "source": {
            "title": "Data source",
            "enum": [
              "api",
              "bulk"
            ],
            "type": "string",
            "description": "api calls the live REST search (needs a key). bulk streams the free monthly Basic Company Data snapshot from download.companieshouse.gov.uk. That file is compiled to the end of the previous month and is about 500 MB, so it cannot serve yesterday's incorporations. Officers always come from the API.",
            "default": "api"
          },
          "bulkSnapshotDate": {
            "title": "Bulk snapshot date",
            "type": "string",
            "description": "YYYY-MM-DD from the snapshot file name, for example 2026-10-01. Leave empty to use the latest file linked from the Companies House download page. The file dated the 1st of a month holds incorporations through the end of the previous month."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}