API Documentation
Everything you need to integrate UK business intelligence into your application.
Quick Start
Get up and running in under a minute:
- Get your API key — Sign up on the pricing page. Free tier gives you 100 lookups/month.
- Make your first call
curl -X POST https://ukbusinessintel.com/api/v1/enrich \ -H "Content-Type: application/json" \ -H "x-api-key: ukb_your_api_key_here" \ -d '{"business_name": "Greggs", "location": "Newcastle"}' - Get back enriched data — Companies House records, Google Places ratings, website health, SSL status, and social media links in one JSON response.
Authentication
All API requests require an API key passed via the x-api-key header.
x-api-key: ukb_your_api_key_here
API keys start with ukb_ and are tied to your account. Keep them secret — do not commit them to version control or expose them in client-side code.
Requests without a valid API key will return 401 Unauthorized.
Endpoints
/api/v1/enrichMain enrichment endpoint. Send a business name and location, get back a comprehensive business profile from all data sources.
/api/v1/keysCreate a new API key. Requires email address. Returns your API key (shown once, store it safely).
/api/v1/usageCheck your current usage and remaining quota for the billing period.
/api/v1/healthService health check. Returns status of the API and upstream data sources.
Request
Send a JSON body to POST /api/v1/enrich with the following fields:
| Field | Type | Required | Description |
|---|---|---|---|
business_name | string | Yes | The name of the business to look up |
location | string | Yes | City, town, or region (e.g. "Manchester", "London") |
company_number | string | No | Companies House number for exact matching (e.g. "00032954") |
domain | string | No | Business website domain for SSL and social checks (e.g. "greggs.co.uk") |
Example request body:
{
"business_name": "Greggs",
"location": "Newcastle",
"company_number": "00032954",
"domain": "greggs.co.uk"
}Response
A successful request returns a JSON object with the following top-level sections:
companies_house
company_nameOfficial registered company namecompany_numberCompanies House registration numbercompany_statusActive, dissolved, liquidation, etc.company_typeType of company (ltd, plc, etc.)registered_addressFull registered office addressdate_of_creationDate the company was incorporatedsic_codesArray of SIC industry classification codesofficersArray of directors and secretariesfiling_historyRecent filings with Companies Housegoogle_places
ratingGoogle star rating (1.0 – 5.0)user_ratings_totalTotal number of Google reviewsformatted_addressGoogle Maps addressformatted_phone_numberBusiness phone numberwebsiteBusiness website URL from Googlegoogle_maps_urlDirect link to Google Maps listingopening_hoursWeekly opening hours (if available)website
is_liveBoolean — whether the website is respondingstatus_codeHTTP status code (200, 301, 404, etc.)urlFinal resolved URL after redirectsssl
validBoolean — whether the SSL certificate is validissuerCertificate issuer (e.g. "Let's Encrypt")expiresCertificate expiration datedays_remainingDays until certificate expiressocial_media
facebookFacebook page URL (or null)instagramInstagram profile URL (or null)linkedinLinkedIn page URL (or null)twitterTwitter/X profile URL (or null)Code Examples
curl
curl -X POST https://ukbusinessintel.com/api/v1/enrich \
-H "Content-Type: application/json" \
-H "x-api-key: ukb_your_api_key_here" \
-d '{
"business_name": "Greggs",
"location": "Newcastle"
}'Python (requests)
import requests
response = requests.post(
"https://ukbusinessintel.com/api/v1/enrich",
headers={
"Content-Type": "application/json",
"x-api-key": "ukb_your_api_key_here"
},
json={
"business_name": "Greggs",
"location": "Newcastle"
}
)
data = response.json()
print(f"Company: {data['companies_house']['company_name']}")
print(f"Status: {data['companies_house']['company_status']}")
print(f"Rating: {data['google_places']['rating']}/5")Node.js (fetch)
const response = await fetch("https://ukbusinessintel.com/api/v1/enrich", {
method: "POST",
headers: {
"Content-Type": "application/json",
"x-api-key": "ukb_your_api_key_here"
},
body: JSON.stringify({
business_name: "Greggs",
location: "Newcastle"
})
});
const data = await response.json();
console.log(`Company: ${data.companies_house.company_name}`);
console.log(`Status: ${data.companies_house.company_status}`);
console.log(`Rating: ${data.google_places.rating}/5`);MCP Setup (Claude Desktop / Cursor)
Add this to your Claude Desktop or Cursor MCP config:
{
"mcpServers": {
"uk-business-intel": {
"command": "npx",
"args": ["-y", "uk-business-intelligence-mcp"]
}
}
}Once configured, you can ask Claude: "Look up Greggs in Newcastle" and it will call the API automatically.
Rate Limits
Rate limits are applied per API key. Exceeding the limit returns 429 Too Many Requests.
| Plan | Rate Limit | Monthly Quota |
|---|---|---|
| Free | 10 requests/min | 100 lookups |
| Starter | 60 requests/min | 1,000 lookups |
| Growth | 120 requests/min | 5,000 lookups |
| Scale | 120 requests/min | 25,000 lookups |
Pricing
Start free with 100 lookups/month. No credit card required.
See the full pricing breakdown and sign up on the main pricing page.