Hello, Im trying to write a python code to get company profile from company registration number. I am however getting an error
{
“error”: “Empty Authorization header”,
“type”: “ch:service”
}
My code as follow:
import requests
api_key = “MY_API_KEY”
companyNumber = 99999999
url = f"https://api.company-information.service.gov.uk/company/{companyNumber}"
headers = {
“Authorization”: f"Bearer {api_key}",
“Content-Type”: “text/json”
}
response = requests.get(url, headers=headers)
print(response.content)
You need to use http basic authorization - not supply a bearer token (which the API key is not). Noting that the Companies House API key is the username part of a the http basic authorization username:password string format (the whole is base64 encoded) and the password is blank.
The Public Data API - which you’re trying to access - uses http basic authorization. Companies House have documented this here:
https://developer-specs.company-information.service.gov.uk/guides/authorisation
and here:
https://developer.company-information.service.gov.uk/authentication
Plenty of posts on this site also walk you through how to do this, use the “search” icon at the top right of the site.
1 Like
Thank you so much, your response has resolved my issue