Authentication
All API requests require authentication using an API key. Include your key in the Authorization header:
bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
https://api.clientlight.co.uk/v1/companies/12345678Generate API keys in your account settings.
Rate Limits
API requests are rate limited per API key. The default limit is 100 requests per minute. Your monthly usage count (calls_this_month) is tracked for informational purposes and resets automatically at the start of each month.
| Header | Description |
|---|---|
| X-RateLimit-Limit | Maximum requests per minute |
| X-RateLimit-Remaining | Remaining requests in the current minute window |
Endpoints
GET
/v1/companies/{companyNumber}Retrieve detailed information about a UK company.
Query Parameters
| Parameter | Type | Description |
|---|---|---|
| include_officers | boolean | Include company officers/directors |
| include_filings | boolean | Include recent filing history |
| include_charges | boolean | Include charges/mortgages |
Example Request
bash
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.clientlight.co.uk/v1/companies/12345678?include_officers=true"Example Response
json
{
"company": {
"companyNumber": "12345678",
"companyName": "EXAMPLE LIMITED",
"companyStatus": "active",
"type": "ltd",
"dateOfCreation": "2020-01-15",
"registeredOfficeAddress": {
"address_line_1": "123 Example Street",
"locality": "London",
"postal_code": "EC1A 1BB"
},
"sicCodes": ["62020"],
"hasCharges": false,
"hasInsolvencyHistory": false
},
"officers": {
"totalCount": 2,
"activeCount": 2,
"items": [
{
"name": "SMITH, John",
"role": "director",
"appointedOn": "2020-01-15"
}
]
},
"meta": {
"requestedAt": "2026-01-28T12:00:00Z",
"dataSource": "Companies House"
}
}Error Codes
| Code | Description |
|---|---|
| 400 | Bad Request - Invalid parameters |
| 401 | Unauthorized - Invalid or missing API key |
| 404 | Not Found - Company not found |
| 429 | Rate Limit Exceeded |
| 500 | Internal Server Error |
Code Examples
Python
python
import requests
API_KEY = "your_api_key_here"
COMPANY_NUMBER = "12345678"
response = requests.get(
f"https://api.clientlight.co.uk/v1/companies/{COMPANY_NUMBER}",
headers={"Authorization": f"Bearer {API_KEY}"},
params={"include_officers": "true"}
)
data = response.json()
print(data["company"]["companyName"])Node.js
javascript
const API_KEY = 'your_api_key_here';
const COMPANY_NUMBER = '12345678';
const response = await fetch(
`https://api.clientlight.co.uk/v1/companies/${COMPANY_NUMBER}?include_officers=true`,
{
headers: {
'Authorization': `Bearer ${API_KEY}`
}
}
);
const data = await response.json();
console.log(data.company.companyName);Ready to get started?
Create an API key to start fetching company data programmatically.
Create API Key