# Companies House — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Search for UK companies and officers, then access detailed information including company profiles, filing history, charges, and officers with significant control. Get comprehensive corporate records and appointment details all in one place.

**Category:** Government & Public Data | **Website:** [companieshouse.gov.uk/](https://companieshouse.gov.uk/) | **Docs:** [parse.bot/marketplace/5a384d9d-e6ed-4458-861b-73d055f38e75/companieshouse-gov-uk-api](https://parse.bot/marketplace/5a384d9d-e6ed-4458-861b-73d055f38e75/companieshouse-gov-uk-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-companieshouse-gov-uk-api-5a384d9d/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_company_charges

Retrieve registered charges (mortgages, debentures, security agreements) for a company. Returns charge details including title, status, creation date, persons entitled, and short particulars.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_number` | string | Yes | Company registration number (8-character alphanumeric) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-companieshouse-gov-uk-api-5a384d9d/get_company_charges \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company_number":"<string>"}'
```

### get_company_filing_history

Retrieve company filing history. Returns a list of filings with date, type code, description, and optional PDF document URL. Optionally filter by filing category.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `category` | string | No | Filter by filing category: 'accounts', 'confirmation-statement', 'capital', 'incorporation' |
| `company_number` | string | Yes | Company registration number (8-character alphanumeric) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-companieshouse-gov-uk-api-5a384d9d/get_company_filing_history \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"category":"<string>","company_number":"<string>"}'
```

### get_company_officers

Retrieve current and resigned officers for a company. Returns name, officer_id (for get_officer_appointments), role, status, address, appointment/resignation dates, nationality, country of residence, and date of birth.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_number` | string | Yes | Company registration number (8-character alphanumeric) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-companieshouse-gov-uk-api-5a384d9d/get_company_officers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company_number":"<string>"}'
```

### get_company_persons_with_significant_control

Retrieve Persons with Significant Control (PSC) for a company. PSCs are individuals or entities holding significant ownership or voting rights. Public companies may have no PSCs listed.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_number` | string | Yes | Company registration number (8-character alphanumeric) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-companieshouse-gov-uk-api-5a384d9d/get_company_persons_with_significant_control \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company_number":"<string>"}'
```

### get_company_profile

Retrieve full company profile by registration number. Returns company name, type, status, registered address, incorporation date, accounts info, confirmation statement dates, and SIC codes. Returns stale_input if the company number does not exist.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `company_number` | string | Yes | Company registration number (8-character alphanumeric, e.g. '00445790'). Leading zeros preserved. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-companieshouse-gov-uk-api-5a384d9d/get_company_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company_number":"<string>"}'
```

### get_officer_appointments

Retrieve all company appointments for an officer by their officer_id. Returns the officer name, total appointment count, and a list of appointments with company details and dates.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `officer_id` | string | Yes | Officer ID (from search_officers or get_company_officers results) |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-companieshouse-gov-uk-api-5a384d9d/get_officer_appointments \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"officer_id":"<string>"}'
```

### search_companies

Full-text search over UK registered companies by name or number. Returns up to 20 results per page. Matches against current and previous company names. Each result includes a company_number suitable for drill-down via get_company_profile.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based) |
| `query` | string | Yes | Search query — company name or registration number |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-companieshouse-gov-uk-api-5a384d9d/search_companies \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```

### search_officers

Search for officers (directors, secretaries, etc.) by name. Returns up to 20 results per page. Each result includes an officer_id suitable for get_officer_appointments.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (1-based) |
| `query` | string | Yes | Officer name to search |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-companieshouse-gov-uk-api-5a384d9d/search_officers \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"page":"<integer>","query":"<string>"}'
```
