PHPackages                             ashleighsims/companies-house-api-wrapper - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. ashleighsims/companies-house-api-wrapper

ActiveLibrary[API Development](/categories/api)

ashleighsims/companies-house-api-wrapper
========================================

Wrapper for the Companies House API. Covering all endpoints available to developers.

1.0.0(6y ago)112MITPHPCI failing

Since Feb 19Pushed 6y ago1 watchersCompare

[ Source](https://github.com/ashleighsims/companies-house-api-wrapper)[ Packagist](https://packagist.org/packages/ashleighsims/companies-house-api-wrapper)[ Docs](https://github.com/ashleighsims/companies-house-api-wrapper)[ RSS](/packages/ashleighsims-companies-house-api-wrapper/feed)WikiDiscussions master Synced yesterday

READMEChangelog (1)Dependencies (6)Versions (2)Used By (0)

Companies House Api Wrapper
===========================

[](#companies-house-api-wrapper)

This is a PHP wrapper for the Companies House API. Auto discovery for Laravel has been added so you should be able to use this out of the box with Laravel.

When using this it's best advised to use an environment file to store the API key and base url. This ensures you don't have any API keys sat in the source code of the application and also not committed into any version control.

This currently does not include the Document API which is also available.

Installation
------------

[](#installation)

Before you can start using the Companies House API you will need to register your application in your companies house developer account:

The API Key provided from registering your application with Companies House will be required.

Via Composer

```
$ composer require ashleighsims/companies-house-api-wrapper
```

### Laravel

[](#laravel)

If you're using this package in Laravel auto discovery has been enabled so you should be able to hit the ground running (when using Laravel 5.5 and beyond).

if you aren't using Laravel 5.5 and above you will need to manually register some bits...

Register the provider in the app.php file:

```
AshleighSims\CompaniesHouseApiWrapper\Laravel\CompaniesHouseApiWrapperServiceProvider::class
```

Optionally register the Facade:

```
'GetAddress' => AshleighSims\CompaniesHouseApiWrapper\Laravel\CompaniesHouseApiWrapperServiceProvider::class
```

Please ensure you've added the below environment variables to your `.env` file before starting.

#### Environment Variables

[](#environment-variables)

Add the following environment variables to your .env file.

```
COMPANIES_HOUSE_API_BASE_URL="https://api.companieshouse.gov.uk/"
COMPANIES_HOUSE_API_KEY="your-api-key-from-companies-house"
```

Usage
-----

[](#usage)

This covers all the endpoints which are currently available on the Companies House Website as of 18th February 2020.

Each endpoint is listed below with code examples. For Laravel users you can type-hint the CompaniesHouseApiWrapper through constructors or through the facade.

### Laravel

[](#laravel-1)

#### Dependency Injection Via Controller

[](#dependency-injection-via-controller)

```
use AshleighSims\CompaniesHouseApiWrapper\CompaniesHouseApiWrapper;
...

private $companiesHouse;

public function __construct(CompaniesHouseApiWrapper $companiesHouse) {
    $this->companiesHouse = $companiesHouse;
}

public function getAddress() {
    $response = $this->companiesHouse->registeredOfficeAddress()->get('00014259');
}

...
```

#### Facade

[](#facade)

```
use AshleighSims\CompaniesHouseApiWrapper\Laravel\Facades\CompaniesHouseApiWrapper;

...

public function getAddress() {
    $response = CompaniesHouseApiWrapper::registeredOfficeAddress()->get('00014259');
}

...
```

### General Usage

[](#general-usage)

#### Search

[](#search)

##### Search All

[](#search-all)

Arguments:

- Query (In this case the name of a person)

Optional Arguments:

- Items Per Page (Default 35)
- Start Index (Default 0)

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->search()->searchAll('Your Query Here'); // Returns a json_decoded associative array
```

##### Search Company

[](#search-company)

Arguments:

- Query (In this case the name of a person)

Optional Arguments:

- Items Per Page (Default 35)
- Start Index (Default 0)

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->search()->searchCompany("Deathstar Co"); // Returns a json_decoded associative array
```

##### Search Officer

[](#search-officer)

Arguments:

- Query (In this case the name of a person)

Optional Arguments:

- Items Per Page (Default 35)
- Start Index (Default 0)

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->search()->searchOfficer("Luke Skywalker"); // Returns a json_decoded associative array
```

##### Search Disqualified Officer

[](#search-disqualified-officer)

Arguments:

- Query (In this case the name of a person)

Optional Arguments:

- Items Per Page (Default 35)
- Start Index (Default 0)

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->search()->searchDisqualifiedOfficer("Finn FN-2187"); // Returns a json_decoded associative array
```

#### Company Profile

[](#company-profile)

##### Get

[](#get)

Arguments:

- Company Number

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->companyProfile()->get("00014259"); // Returns a json_decoded associative array
```

#### Registered Office Address

[](#registered-office-address)

##### Get

[](#get-1)

Arguments:

- Company Number

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->registeredOfficeAddress()->get("00014259"); // Returns a json_decoded associative array
```

#### Company Officers

[](#company-officers)

##### List

[](#list)

Arguments:

- Company Number

Optional Arguments:

- Items Per Page (Default 35)
- Start Index (Default 0)
- Register Type (Allowed options: directors, secretaries, llp-members) - Only works when Register View is true
- Register View (Allowed options: true or false, Default: false)
- Order By (Allowed options: appointed\_on, resigned\_on, surname)

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->companyOfficers()->list("00014259"); // Returns a json_decoded associative array
```

#### Filing History

[](#filing-history)

##### Get

[](#get-2)

Arguments:

- Company Number
- Transaction ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->filingHistory()->get("00014259", "MzI1Mjg3MzI5MGFkaXF6a2N4"); // Returns a json_decoded associative array
```

##### List

[](#list-1)

Arguments:

- Company Number

Optional Arguments:

- Category (Comma Separated),
- Items Per Page (Default 35),
- Start Index (Default 0)

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->filingHistory()->list("00014259"); // Returns a json_decoded associative array
```

#### Insolvency

[](#insolvency)

##### Get

[](#get-3)

Arguments:

- Company Number

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->insolvency()->get("00014259", "MzI1Mjg3MzI5MGFkaXF6a2N4"); // Returns a json_decoded associative array
```

#### Charges

[](#charges)

##### Get

[](#get-4)

Arguments:

- Company Number
- Charge ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->charges()->get("00014259", "D0ReqeVClRjR7C-o5ySBBRZnxvU"); // Returns a json_decoded associative array
```

##### List

[](#list-2)

Arguments:

- Company Number

Optional Arguments:

- Items Per Page (Default 35),
- Start Index (Default 0)

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->charges()->list("00014259"); // Returns a json_decoded associative array
```

#### Officer Appointment List

[](#officer-appointment-list)

##### List

[](#list-3)

Arguments:

- Officer ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->officerAppointmentList()->list("hLPe3meaIVQ0pqqn5AmvvS_V8pA"); // Returns a json_decoded associative array
```

#### Officer Disqualifications

[](#officer-disqualifications)

##### Get Natural

[](#get-natural)

Arguments:

- Officer ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->officerDisqualifications()->getNatural("Ff-EjRku_DxTJnG6uBq2ie8jmLc"); // Returns a json_decoded associative array
```

##### Get Corporate

[](#get-corporate)

Arguments:

- Officer ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->officerDisqualifications()->getCorporate("Ff-EjRku_DxTJnG6uBq2ie8jmLc"); // Returns a json_decoded associative array
```

#### UK Establishment Companies

[](#uk-establishment-companies)

##### List

[](#list-4)

Arguments:

- Company Number

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->ukEstablishmentCompanies()->list("00014259"); // Returns a json_decoded associative array
```

#### Persons with Significant Control

[](#persons-with-significant-control)

##### List

[](#list-5)

Arguments:

- Company Number

Optional Arguments:

- Items Per Page (Default 35),
- Start Index (Default 0)
- Register View (Allowed options: true or false, Default: false)

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->personsWithSignificantControl()->list("00014259"); // Returns a json_decoded associative array
```

##### Get Individual

[](#get-individual)

Arguments:

- Company Number
- PSC ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->personsWithSignificantControl()->getIndividual("06637776", "tRjwr1Q2U9uhtZ86JoeexAKF1Co"); // Returns a json_decoded associative array
```

##### Get Corporate

[](#get-corporate-1)

Arguments:

- Company Number
- PSC ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->personsWithSignificantControl()->getCorporateEntities("00014259", "kISgW15ODWvznzBMq6Tv6ObCsLg"); // Returns a json_decoded associative array
```

##### Get Legal Persons

[](#get-legal-persons)

Arguments:

- Company Number
- PSC ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->personsWithSignificantControl()->getLegalPersons("00014259", "a-legal-persons-officer-id"); // Returns a json_decoded associative array
```

##### List Statements

[](#list-statements)

Arguments:

- Company Number

Optional Arguments:

- Items Per Page (Default 35),
- Start Index (Default 0)
- Register View (Allowed options: true or false, Default: false)

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->personsWithSignificantControl()->listStatements("00014259", "a-legal-persons-officer-id"); // Returns a json_decoded associative array
```

##### Get Statement

[](#get-statement)

Arguments:

- Company Number
- Statement ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->personsWithSignificantControl()->getStatement("00014259", "statement-id"); // Returns a json_decoded associative array
```

##### Get Super Secure Person

[](#get-super-secure-person)

Arguments:

- Company Number
- Super Secure ID

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->personsWithSignificantControl()->getSuperSecurePerson("00014259", "super-secure-id"); // Returns a json_decoded associative array
```

#### Company Registers

[](#company-registers)

##### Get

[](#get-5)

Arguments:

- Company Number

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->companyRegisters()->get("00014259"); // Returns a json_decoded associative array
```

#### Company Exemptions

[](#company-exemptions)

##### Get

[](#get-6)

Arguments:

- Company Number

```
$companiesHouse = new CompaniesHouseApiWrapper('your-api-key', 'https://api.companieshouse.gov.uk/');
$response = $companiesHouse->companyExemptions()->get("00014259"); // Returns a json_decoded associative array
```

Change log
----------

[](#change-log)

Please see the [changelog](CHANGELOG.md) for more information on what has changed recently.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

License
-------

[](#license)

license. Please see the [license file](LICENSE.md) for more information.

###  Health Score

25

—

LowBetter than 37% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity56

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Unknown

Total

1

Last Release

2274d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1674351?v=4)[Ashleigh Sims](/maintainers/ashleighsims)[@ashleighsims](https://github.com/ashleighsims)

---

Top Contributors

[![ashleighsims](https://avatars.githubusercontent.com/u/1674351?v=4)](https://github.com/ashleighsims "ashleighsims (5 commits)")

---

Tags

companies-housecompanies-house-apicompanieshouse-apilaravellaravel-6-packagelaravel-packagelaravelwrapperstandalonecompanies houseCompanies House APICompaniesHouseApiWrapper

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ashleighsims-companies-house-api-wrapper/health.svg)

```
[![Health](https://phpackages.com/badges/ashleighsims-companies-house-api-wrapper/health.svg)](https://phpackages.com/packages/ashleighsims-companies-house-api-wrapper)
```

###  Alternatives

[irazasyed/telegram-bot-sdk

The Unofficial Telegram Bot API PHP SDK

3.3k4.5M84](/packages/irazasyed-telegram-bot-sdk)[dcblogdev/laravel-microsoft-graph

A Laravel Microsoft Graph API (Office365) package

168285.5k1](/packages/dcblogdev-laravel-microsoft-graph)[aerni/laravel-spotify

A Laravel wrapper for the Spotify Web API

209145.6k](/packages/aerni-laravel-spotify)[dariusiii/tmdb-laravel

Laravel Package for TMDB ( The Movie Database ) API. Provides easy access to the wtfzdotnet/php-tmdb-api library.

1821.1k](/packages/dariusiii-tmdb-laravel)[ardakilic/mutlucell

Mutlucell SMS API wrapper for sending sms text messages for Laravel

457.3k](/packages/ardakilic-mutlucell)[lasserafn/laravel-economic

Economic REST wrapper for Laravel

1118.5k](/packages/lasserafn-laravel-economic)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
