{
  "openapi": "3.0.1",
  "info": {
    "title": "Companies House Data — Live UK Company Search",
    "description": "Live UK company intelligence from the official register. Describe your ideal customer in one sentence, or search by industry in plain English or by company name. Get officers, accounts, filings, charges, ownership and contact details — streamed to your dataset, CRM or Slack. Free trial included.",
    "version": "0.0",
    "x-build-id": "aRAfPzB9zfELSSlVs"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/b2b_leads~Companies-House-Real-Time-Data-Scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-b2b_leads-Companies-House-Real-Time-Data-Scraper",
        "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/b2b_leads~Companies-House-Real-Time-Data-Scraper/runs": {
      "post": {
        "operationId": "runs-sync-b2b_leads-Companies-House-Real-Time-Data-Scraper",
        "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/b2b_leads~Companies-House-Real-Time-Data-Scraper/run-sync": {
      "post": {
        "operationId": "run-sync-b2b_leads-Companies-House-Real-Time-Data-Scraper",
        "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": {
          "customerBrief": {
            "title": "🎯 Describe your ideal customer in one sentence",
            "type": "string",
            "description": "The quickest way to start. Write a sentence and the Actor sets up the rest for you — for example \"active plumbers in Leeds with websites, up to 25 companies\", \"dissolved construction firms in Manchester\", or \"software companies in Bristol incorporated since 2020, with directors\". It reads the industry, location, company status, incorporation dates, how many companies, and which extras are worth collecting, then tells you what it decided in the run log. Anything you also fill in yourself always wins over the brief — and if you list industries below as well, the brief joins your list instead of replacing it.",
            "default": ""
          },
          "enableIndustrySearch": {
            "title": "Search by industry",
            "type": "boolean",
            "description": "Find companies by what they DO, not by what they are called — the fastest way to build a prospect list from scratch. Everything you need is in this one place: the industries, where to look, how many companies each industry should return, and whether to add full details and contact details. Leave it on and fill in at least one row below.",
            "default": true
          },
          "industrySearches": {
            "title": "Industries to search",
            "type": "array",
            "description": "One row per industry. Type the trade in plain English — no industry codes needed (\"plumbing\", \"coffee shop\", \"office cleaning\", \"logistics\", \"hair salon\"). Ready-made sectors you can type instead: IT & software, Online retail & e-commerce, Marketing & advertising, Design media & photography, Construction & building, Trades & home services, Property & real estate, Recruitment & staffing, Accounting & bookkeeping, Legal services, Management consulting, Engineering & technical consulting, Architecture & planning, Environmental consulting & testing, Healthcare & medical practices, Care homes & social care, Childcare & nurseries, Restaurants cafés & takeaways, Pubs hotels & accommodation, Catering & events, Retail shops, Motor trade & vehicle repair, Freight logistics & warehousing, Cleaning & facilities management, Security & investigation, Hairdressing beauty & wellness, Fitness & sports facilities, Education & training, Travel agencies & tour operators, Veterinary services, Funeral services. You can also type an industry code such as 43220 if you already know it.",
            "items": {
              "type": "object",
              "properties": {
                "industry": {
                  "title": "Industry",
                  "type": "string",
                  "description": "The trade or sector in your own words, a ready-made sector name, or an industry code.",
                  "editor": "textfield"
                },
                "location": {
                  "title": "Location",
                  "type": "string",
                  "description": "City, county, or part of the registered address for this row — e.g. \"Leeds\", \"Manchester\", \"Scotland\". Leave empty for the whole UK.",
                  "editor": "textfield"
                },
                "maxCompanies": {
                  "title": "Max companies",
                  "type": "number",
                  "description": "How many companies to collect for this row. Leave empty to use the default above.",
                  "minimum": 1,
                  "maximum": 500,
                  "editor": "number"
                }
              },
              "required": [
                "industry"
              ]
            }
          },
          "industryMaxResults": {
            "title": "Max companies per industry row",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many companies each industry row collects (1–500, default 10). A row of its own table can set its own number instead. Default 10 keeps runs quick and cheap to test.",
            "default": 10
          },
          "industryFullDetails": {
            "title": "Add full company details to every company found",
            "type": "boolean",
            "description": "Each industry result stays ONE row but is enriched in place with nature of business, accounts dates, confirmation statement dates, and previous company names. Adds a little extra time per company. Every discovered company is always saved — nothing is ever dropped or duplicated.",
            "default": false
          },
          "industryContactDetails": {
            "title": "Add contact details (website, email, phone, socials)",
            "type": "boolean",
            "description": "Adds publicly available contact details to each company found by industry — website, email, phone, and social profiles — when they can be found. Everything is ADDED to the row; companies with nothing findable are still exported, so run cost and timing stay predictable. Adds a little extra time per company. Ideal when you want an outreach-ready list rather than just company names.",
            "default": false
          },
          "industryCodesPerKeyword": {
            "title": "Related industries per row",
            "minimum": 1,
            "maximum": 5,
            "type": "integer",
            "description": "One trade word can match several entries in the official industry list. \"plumbing\" matches plumbing installation AND plumbing wholesalers (2). \"cleaning\" matches 4 different cleaning industries. \"daycare\" matches exactly one. This is the most matches to use for each trade you type (1–5, default 3). Each match is a separate search with its own full result set, so it also multiplies how many companies that row returns: 2 matches at 10 companies each means up to 20 rows for that one row of your table. Lower it for a tighter, more literal list; raise it to sweep up related businesses. It does NOT affect ready-made sector names (they always cover every industry they stand for) or industry codes you type yourself.",
            "default": 3
          },
          "enableNameSearch": {
            "title": "Search by company name",
            "type": "boolean",
            "description": "For target lists you already know: a named business, a competitor, or a list of company numbers. Everything for this method is in this one place. It runs alongside the industry list rather than replacing it, so one run can mix prospect discovery and competitor tracking.",
            "default": false
          },
          "searchKeywords": {
            "title": "Company names or numbers",
            "type": "array",
            "description": "One search per entry — company names (e.g. \"monzo\", \"brewdog\") or company numbers (e.g. \"09446231\", \"SC012298\"). Entries match company names, past and present, so a company that used to have the name you typed can also appear. Three well-known examples are filled in for you — replace them with your own targets.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "nameMaxResults": {
            "title": "Max companies per name",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "How many companies each name or number above returns (1–500, default 10).",
            "default": 10
          },
          "nameFullDetails": {
            "title": "Add full company details to every company found",
            "type": "boolean",
            "description": "Each name result stays ONE row but is enriched in place with nature of business, accounts dates, confirmation statement dates, and previous company names.",
            "default": false
          },
          "nameContactDetails": {
            "title": "Add contact details (website, email, phone, socials)",
            "type": "boolean",
            "description": "Adds publicly available contact details to each company found by name — website, email, phone, and social profiles — when they can be found. Everything is ADDED to the row; companies with nothing findable are still exported.",
            "default": false
          },
          "searchLocation": {
            "title": "Location for every search",
            "type": "string",
            "description": "Match part of the registered office address, e.g. \"Manchester\", \"Leeds\", \"Scotland\". Each industry row above can carry its own location instead — this one applies to name searches and to any industry row that leaves location empty.",
            "default": ""
          },
          "searchStatus": {
            "title": "Company status",
            "enum": [
              "",
              "active",
              "dissolved",
              "liquidation",
              "administration",
              "receivership",
              "voluntary-arrangement",
              "converted-closed",
              "insolvency-proceedings"
            ],
            "type": "string",
            "description": "Only return companies with this status. An industry list defaults to active companies; pick \"Any status\" to include dissolved and closed ones.",
            "default": ""
          },
          "searchCompanyType": {
            "title": "Company type",
            "enum": [
              "",
              "ltd",
              "plc",
              "llp",
              "private-limited-guarant-nsc",
              "private-limited-guarant-nsc-limited-exemption",
              "private-unlimited",
              "private-unlimited-nsc",
              "limited-partnership",
              "scottish-partnership",
              "registered-society-non-jurisdictional",
              "industrial-and-provident-society",
              "royal-charter",
              "further-education-or-sixth-form-college-corporation",
              "united-kingdom-societas",
              "european-public-limited-liability-company-se"
            ],
            "type": "string",
            "description": "Only return companies of this legal type.",
            "default": ""
          },
          "searchIncorporatedFrom": {
            "title": "Incorporated from (YYYY-MM-DD)",
            "type": "string",
            "description": "Only companies incorporated on or after this date, e.g. 2024-01-01. Ideal for reaching newly formed businesses before your competitors do.",
            "default": ""
          },
          "searchIncorporatedTo": {
            "title": "Incorporated to (YYYY-MM-DD)",
            "type": "string",
            "description": "Only companies incorporated on or before this date, e.g. 2025-12-31.",
            "default": ""
          },
          "searchDissolvedFrom": {
            "title": "Dissolved from (YYYY-MM-DD)",
            "type": "string",
            "description": "Only companies dissolved on or after this date.",
            "default": ""
          },
          "searchDissolvedTo": {
            "title": "Dissolved to (YYYY-MM-DD)",
            "type": "string",
            "description": "Only companies dissolved on or before this date.",
            "default": ""
          },
          "searchNameExcludes": {
            "title": "Exclude names containing",
            "type": "string",
            "description": "Drop companies whose name contains this text, e.g. \"HOLDINGS\" or \"(UK)\". Applied by the register, so it costs nothing extra.",
            "default": ""
          },
          "companyNumbers": {
            "title": "Company numbers",
            "type": "array",
            "description": "UK company numbers, e.g. 00445790, 09446231, SC012298, NI024553. This one list feeds every company-level feature below.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "companyUrls": {
            "title": "Company page links",
            "type": "array",
            "description": "Company page links from the register, e.g. https://find-and-update.company-information.service.gov.uk/company/00445790 — the number is read from the link. Use this instead of, or as well as, the numbers above.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "enableCompanyDetails": {
            "title": "Full company profile",
            "type": "boolean",
            "description": "Fetch the complete registered profile for each company in the list above — nature of business, accounts and confirmation statement dates, previous names, and which registry sections exist. One row per company.",
            "default": false
          },
          "lookupContactDetails": {
            "title": "Add contact details to these companies",
            "type": "boolean",
            "description": "Adds publicly available contact details — website, email, phone, and social profiles — to the companies in the list above, when they can be found. Everything is ADDED to the row; companies with nothing findable are still exported.",
            "default": false
          },
          "enableOfficers": {
            "title": "Officers & Directors",
            "type": "boolean",
            "description": "Directors, secretaries, and other officers for the companies above — names, roles, appointment and resignation dates, nationality, country of residence, occupation, and date of birth (month/year as published). This is the decision-maker list behind every prospect company.",
            "default": false
          },
          "officersMaxPerCompany": {
            "title": "Max officers per company",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum officer rows per company (1–500).",
            "default": 10
          },
          "officersActiveOnly": {
            "title": "Current officers only",
            "type": "boolean",
            "description": "Skip officers who have already resigned. Leave it off to also collect former directors and secretaries, which is useful for role history and risk checks.",
            "default": false
          },
          "enableFilingHistory": {
            "title": "Filing History",
            "type": "boolean",
            "description": "The filed document history for each company: filing date, filing type, description, notes, and a direct link to the document when one is available. One row per filing.",
            "default": false
          },
          "filingHistoryMaxPerCompany": {
            "title": "Max filings per company",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Maximum filing rows per company (1–1000), newest first.",
            "default": 10
          },
          "enableCharges": {
            "title": "Charges & Insolvency",
            "type": "boolean",
            "description": "Registered charges (mortgages) and insolvency cases: charge code, creation and delivery dates, status, persons entitled, description, plus case numbers, case types, winding-up and dissolution dates, and practitioners. Essential for credit, risk, and due-diligence lists.",
            "default": false
          },
          "chargesMaxPerCompany": {
            "title": "Max charges per company",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum charge rows per company (1–500). Companies with no charges simply produce no extra rows.",
            "default": 10
          },
          "enableSignificantControl": {
            "title": "Ownership (persons with significant control)",
            "type": "boolean",
            "description": "The people and companies that own or control each company: names, nature of control, notified and ceased dates, nationality, country of residence, legal form, registration number, and registered statements.",
            "default": false
          },
          "significantControlMaxPerCompany": {
            "title": "Max owners per company",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum ownership rows per company (1–500).",
            "default": 10
          },
          "enableScrapeByUrl": {
            "title": "Scrape By URL",
            "type": "boolean",
            "description": "Paste any company page link from the register and get a structured company profile row back — ideal for refreshing a list of companies you already track.",
            "default": false
          },
          "scrapeUrls": {
            "title": "Company page links",
            "type": "array",
            "description": "Company page links from the register, e.g. https://find-and-update.company-information.service.gov.uk/company/00445790.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "webhookUrl": {
            "title": "Webhook URL",
            "type": "string",
            "description": "Every record is always saved to the run dataset — this webhook is an ADDITIONAL real-time push. Each new row is also sent to this URL (CRM, Slack, Zapier, Make, n8n, Google Sheets). A failing webhook never stops the run.",
            "default": ""
          },
          "webhookFormat": {
            "title": "Webhook format",
            "enum": [
              "json",
              "slack"
            ],
            "type": "string",
            "description": "json = full record object; slack = Slack-friendly message.",
            "default": "json"
          },
          "proxyConfiguration": {
            "title": "Proxy settings",
            "type": "object",
            "description": "UK residential connections are used by default for reliable results at scale. Change this only if you need custom proxy URLs.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ],
              "apifyProxyCountry": "GB"
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}