Address is coming as null in search company API


We are experiencing issues in production where address is coming as null for few companies. Please see below example request and response. Is this a data issue with this particular company? OR we may see this for other companies too and would need to handle in the code? Can you please take a look and advise asap as it’s impacting our LIVE transactions.

“company_type”: “oversea-company”,
“address”: null,

This is a Dutch company so doesn’t have a UK registered office address, which is why it’s null. You can tell because it has a company number that starts with FC (Foreign Company). They’ll also come up under BR company numbers (I think that’s a Branch Company), which is an extention of the company, but still not a registered company with a UK registered office address (although it does have an address not sure how that manifests in the API)

One thing I’ve found helpful when encountering issues to this is to look up the same comapnys on the CH search site and see how that site interperates the same API results:

Probably worth mentioning that the register contains a lot of different types of entities, not just UK registered companies (although they make up the bulk of it) and some of them don’t have a registered office address, so yes, this is something you’ll need to be able to deal with.

Another example is Royal Charter companies (with an RC suffix) which are on the register but have barely any information and are going to cause issues all down the line if you aren’t dealing with null values!

As @ash says you can get all kinds of things in Companies House data, Nulls are possible, missing fields (used to be) common. It’s definitely worth parsing what you get back - although things have standardised over the years!

The list of company_type values you can get back is in the documentation here but it might also be worth checking the company_type “enum constants” as those are the “source of truth”. (You can also find the textual version of each identifier there). The documentation can lag behind. You can also search for examples if you need using the advanced search (online version here) where you can specify company type and / or subtype.

For what it’s worth we deal with this by checking the company type against the list as given in the enum constants. We have a list of what data is expected and what is not. We also have a list of what other endpoints should be available for a particular type. To cope with any sudden changes we also check the links member as this should list what is and what isn’t available (again - I’d check and not rely on this). However we have a little more information since in our process we usually obtain the company profile resource - which also gives the company_subtype.

By the way the text that Companies House shows to indicate the place where more data may be found is in the enum constants also - the partial_data_available constant. This used to be returned as part of the company profile resource. It doesn’t appear to be in the latest documentation however and doesn’t seem to be sent now.