Next Steps

Given the limitations summarised in Conclusions from the Trial, we decided to move away from Excel and Power BI, and concentrate instead on an API solution. If you need a primer on what an API is, there's one at [Appendix A: APIs - A Brief Overview].

Going the API route

Given that an API requires a server to return anything useful, we decided to build a prototype API platform using the free tier of platform-as-a-service (PAAS) provider Heroku^[https://www.heroku.com/platform]. This PAAS has been used previously within Companies House for developing user journeys and other prototyping before going live on gov.uk.

knitr::include_graphics("./images/heroku.jpg")

Base API

The base API returns a raw data (JSON) representation of the Companies House Get the basic company information API^[https://developer-specs.company-information.service.gov.uk/companies-house-public-data-api/reference/company-profile/company-profile]. As this would normally require an authorisation key to be supplied in the request header, we do this inside our Python code and return the result 'as is'.

For example, using the Company BUTTERFLY ACADEMY LIMITED, with a company number 14039361, the Companies House API can be retrieved with the following URL:

https://darlabs.herokuapp.com/v1/14039361/quality

... and the result can be seen in Figure \@ref(fig:butterfly):

knitr::include_graphics("./images/butterfly.jpg")

API List

The complete list of APIs is given in table below. Note that APIs 3 to 9 are not related to address matching but are included for completeness.

API <- c(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
Definition <- c("[Base API] (raw data)", 
         "[Postcode Verifying API]", 
         "[Postcode Anywhere API]", 
         "Owns Land", 
         "Circular Control Officers", 
         "Circular Control PSCs", 
         "Company Factory",
         "Accounts Overdue",
         "Confirmation Statement Overdue",
         "Frequent Name Change"
         )

df <- data.frame(API, Definition)
knitr::kable(
  df, booktabs = FALSE
)


companieshouse/DARr documentation built on Oct. 22, 2022, 8:26 p.m.