The UK company data
API you deserve

Access 5.5 million UK company profiles via a clean, fast REST API. 1,000 free requests per day. OpenAPI 3.1 spec. Built for developers who ship.

5.5M
Company profiles
<50ms
Median response time
99.9%
Uptime SLA
1,000
Free requests/day

Clean, predictable endpoints

RESTful design with consistent JSON responses, proper HTTP status codes, and pagination built in.

GET /v1/company/{number}

Retrieve a full company profile including registered address, SIC codes, accounts info, and current status.

{
  "company_number": "09215862",
  "company_name": "REVOLUT LTD",
  "company_status": "active",
  "date_of_creation": "2014-07-01",
  "registered_office_address": {
    "address_line_1": "7 Westferry Circus",
    "locality": "London",
    "postal_code": "E14 4HD"
  },
  "sic_codes": ["64999"]
}
GET /v1/search?q={query}

Full-text search across company names, numbers, and registered addresses. Supports pagination with page and per_page parameters.

{
  "results": [
    {
      "company_number": "00445790",
      "company_name": "TESCO PLC",
      "company_status": "active",
      "snippet": "<em>Tesco</em> PLC"
    }
  ],
  "total_results": 47,
  "page": 1
}
GET /v1/company/{number}/officers

Paginated list of officers. Filter with active_only=true, role=director. Paginate with page and per_page (max 100).

{
  "items": [
    {
      "name": "SHERWOOD, Nicholas David",
      "officer_role": "director",
      "appointed_on": "2015-07-01",
      "nationality": "British"
    }
  ],
  "active_count": 8,
  "resigned_count": 12
}
GET /v1/company/{number}/financials

Parsed financial data from iXBRL filings. Returns structured P&L, balance sheet, and key ratios for available filing years.

{
  "currency": "GBP",
  "periods": [{
    "end_date": "2025-02-24",
    "revenue": 65762000000,
    "net_profit": 2034000000,
    "total_assets": 44267000000
  }]
}
GET /v1/company/{number}/filings

Paginated filing history. Filter with category=accounts or type=CS01. Paginate with page and per_page (max 200).

GET /v1/company/{number}/pscs

Persons with Significant Control (PSC) data including nature of control, notified date, and nationality.

GET /v1/company/{number}/charges

Mortgage charges and debentures registered against a company. Includes status (outstanding, satisfied), persons entitled, and classification.

GET /v1/company/{number}/similar

Up to 10 similar active companies matched by SIC code and locality. Returns match criteria for competitive analysis.

GET /v1/officer/{id}

Officer profile with all current and previous appointments across the UK company register.

GET /v1/instant?q={query}

Optimised instant search for type-ahead interfaces. Returns lightweight results in under 50ms.

Authentication

Simple Bearer token auth

Authenticate with a single API key passed as a Bearer token. Generate and rotate keys from your dashboard. Each key has its own rate limit counter and access log.

  • Bearer token in Authorization header
  • Multiple keys per account
  • Rotate keys without downtime
  • Per-key access logs and rate limits
  Authentication
# Every request needs your API key
$ curl https://www.companypulse.co.uk/api/v1/company/09215862 \
    -H "Authorization: Bearer cp_abc123..."

# Rate limit headers in every response
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1741737600

# Exceeded? You get a clear 429
{
  "error": "rate_limit_exceeded",
  "message": "Daily limit reached",
  "retry_after": 3600
}

Webhooks & MCP

Push events to your systems in real-time, or let AI agents query company data natively.

Webhooks

Receive POST notifications when watched companies file documents, appoint directors, or change status. Signed payloads with retry logic and delivery logs. Configure via the dashboard or API.

Professional & Enterprise

MCP Server

A Model Context Protocol server that lets AI agents query UK company data natively. Ask questions in natural language and get structured data back. Perfect for AI-powered due diligence workflows.

Enterprise

Start building today

Get your free API key in 30 seconds. No credit card. 1,000 requests per day to explore everything.