# getting an API key

**URL:** <http://forum.companieshouse.gov.uk/t/getting-an-api-key/12120>\
**Category:** API Issues\
**Created:** [September 15, 2025, 8:02am UTC](http://forum.companieshouse.gov.uk/t/getting-an-api-key/12120 "2025-09-15T08:02:23Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![voracityemail](http://forum.companieshouse.gov.uk/letter_avatar_proxy/v4/letter/v/b77776/32.png) [@voracityemail](http://forum.companieshouse.gov.uk/u/voracityemail)\
**Post date:** [September 15, 2025, 9:53am UTC](http://forum.companieshouse.gov.uk/t/getting-an-api-key/12120/2 "2025-09-15T09:53:39Z")

</div>

Welcome - you asked about API keys but just in case - do you need to access the Companies House Public Data API / Streaming API OR do you want to actually file information? For the latter the process is different. For the Public Data / Streaming APIs you will use an API key. I believe the main Companies House instructions are here:

> **[Companies House API Overview](https://developer.company-information.service.gov.uk/overview)**

It’s been a long time since we signed up but the instructions here should help:

> **[Get started with the Companies House API](https://developer.company-information.service.gov.uk/get-started)**

Essentially - go to:

> **[Developer Hub Home](https://developer.company-information.service.gov.uk/)**

… and sign up, then choose “Create an Application”.

I would recommend you _always_ choose “live” not test/sandbox. You’ll also need to either list your external IPs OR (if calling via javascript / CORs) the names of domains you’ll be calling from. ([If you are just running a locally hosted server use the workaround for this](https://forum.companieshouse.gov.uk/t/allow-localhost-javascript-domain/83/12)).

Apologies if you have already covered this but the authorization method seems to be a stumbling block for many people. It’s [http Basic](https://en.wikipedia.org/wiki/Basic_access_authentication#Client_side), and the “user name” is the API key and the password is blank. Many libraries / environments will do this for you ( e.g. the curl utility just allows you to specify a username:password string - so that would be:

`your_api_key:`

… eg. password part is blank.)

If your library does not you may need to set this using the http headers in the appropriate format (see e.g. article I linked).

Good luck.

---

_[View the full topic](http://forum.companieshouse.gov.uk/t/getting-an-api-key/12120)._
