Company type history

Is there a way to extract data on changes to company type (e.g. ltd/plc) so as to determine a set of companies’ ‘type’ at a particular point in time?

Obviously not all types of entity can directly convert to each other (e.g. some changes are effectively setting up a new entity with a new number). For those that can I’m not aware of such a dataset at Companies House, or elsewhere. You could try third-party companies who offer different slices of Companies House data - some of them post on this forum.

Failing that then I suspect your best bet is to use the Filing History. If you want this historically then you’ll be using the public data API. If you just want this going forward then use the streaming API.

If it’s historical data you want you’ll need to do some leg-work - the amount depending on the number of companies as this might require more than one API call per company. For the public data API the Filing History end-point allows you to pass in one or more categories to filter by. You can see the list of these in the FilingHistoryList documentation. In my very old example below this is actually filed as category change-of-name. However I’m not sure that would apply to more recent examples or in all cases for change of status - investigate for yourself. If that’s not the case then these may fall under category resolution but I don’t know.

Even if there is a category which picks up all of these - and certainly if there isn’t - you may need to then filter that list yourself to narrow it down. I can see two possible ways:

  1. Make a list of relevant description values. These should appear in the Filing History enum constants. Locate the ones you want and filter by those.

  2. (Older method) Filter by the Form code - the type field.

I believe the items[].type field has the code for the particular form filed. It’s just possible this may be in items[].resolutions[].type - I’ve only one example to hand. You could pull out a list of relevant forms from the Companies House Forms pages:

So if you were interested in e.g. changes between private and public companies you’d have a look at the forms for limited companies, particularly the re-registration section:

Limited company: Companies House forms for limited companies - GOV.UK

…and collect the form codes there. What you add in depends on your question e.g. are you also interested in tracking if a company was struck off / dissolved / restored / changed name / changed constitution etc. (Some of those do have category codes you can filter by).

I have two examples from company SC046419. They’re rather old so I’m not sure if they’re representative of what you’d get from more recent changes:

[
    {
        "description": "certificate-change-of-name-re-registration-public-limited-company-to-private",
        "subcategory": "certificate",
        "type": "CERT11",
        "date": "1985-09-30",
        "category": "change-of-name",
        "links":
        {
            "document_metadata": "https://frontend-doc-api.companieshouse.gov.uk/document/fq4RmkwWvrCOtrZd8If_wTY7Iack-IC5BlgdXpw3-To",
            "self": "/company/SC046419/filing-history/MDE3NzkwMzY0N2FkaXF6a2N4"    
        },
        "pages": 1,
        "paper_filed": true,
        "barcode": null,
        "transaction_id": "MDE3NzkwMzY0N2FkaXF6a2N4"    
    },
    {
        "description": "certificate-re-registration-private-to-public-limited-company",
        "subcategory": "certificate",
        "type": "CERT5",
        "date": "1982-03-10",
        "category": "change-of-name",
        "pages": 1,
        "paper_filed": true,
        "links":
        {
            "document_metadata": "https://frontend-doc-api.companieshouse.gov.uk/document/noTEg87AQ8DfB9GxwX5O5LYpxFTMeszi4__sDVoTr0U",
            "self": "/company/SC046419/filing-history/MDE4MDI2NzY0MWFkaXF6a2N4"    
        },
        "barcode": null,
        "transaction_id": "MDE4MDI2NzY0MWFkaXF6a2N4"    
    }    
]

If you find some examples of changes it might help others if you posted them here.