The Companies House API lets you retrieve information about limited
companies (and other companies that fall within the Companies Act 2006).
The data returned is live and real-time, and is simple to use and
understand.
If you are already familiar with JSON RESTful APIs, then you can jump
straight in with the quick start
guide.
Otherwise, read on for a quick tour of the essentials.
To be able to explore and perform tests with the Companies House API,
you need to register a user account with Companies
House.
The Companies House API
overview
describes the basic operation of the API.
REST, or Representational State
Transfer,
is an architectural software style in which standard HTTP requests are
used to provide a simple and consistent approach to requesting and
modifying data.
In a RESTful style of API, data resources are allocated unique URLs and
manipulated through standard HTTP verbs such as GET to request a
resource, POST to create a resource, PUT to change a resource, and
DELETE to remove a resource.
Further details on how the Companies House REST API works can be found
in the
introduction
page.
JSON, or JavaScript Object
Notation, is an open, standard
format for storing and exchanging data. It is easier to use than XML, is
more compact, and can be used as a data format by any programming
language. This makes it ideal for HTTP-based API services.
Further information can be found at json.org.
Access to all API services requires authentication. The
Authorisation
page describes the authorisation mechanism used by the Companies House
API, and how to register your application.
There are some simple developer
guidelines
you can follow to help you achieve success with the Companies House API.
The Companies House API is subject to rate
limiting to protect
the quality of service for all users.
A majority of the resources returned by the Companies House API contain
members that reference enumuration
types. This helps make
the resources self-documenting, and allow clients to interpret the
meaning of a resource member without needing to otherwise parse a text
description. Enumeration types are frequently used to supplement or
replace a text description, which allows clients to display their own
version of a description, more fitting their use case, or provide
descriptions in multiple languages.
The collection of enumuration types used by Companies House are
available on
GitHub. These
files provide a mapping between enumuration type and text description,
and are divided into sets or classes. Each API resource member will
define which class of enumuration is being returned.
A planned enhancement to the enumuration scheme is the provision of API
endpoints that will return the enumuration class catalogue. This avoids
having enumurations hard-coded within a client, and by periodically
checking for change through ETags, avoids clients having to download the
full catalogue unnecessarily.