GovData Docs

Companies API Reference

UK company data from Companies House. Search, lookup, financials, PSC data, comparison, and industry benchmarks.

Base URL: https://api.govdata.dev/v1

GET /v1/companies/search

Search for UK companies by name. Returns paginated results ranked by relevance.

Query parameters

Parameter Type Required Description
q string Yes Search query (min 2 characters)
status string No Filter by status: active, dissolved
page integer No Page number (default: 1)
per_page integer No Results per page (default: 25, max: 100)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/search?q=ACME"

Response

{
  "data": [
    {
      "company_number": "12345678",
      "company_name": "ACME WIDGETS LTD",
      "company_status": "active",
      "company_type": "ltd",
      "date_of_creation": "2020-01-15",
      "registered_office_address": {
        "postal_code": "EC2R 6EA",
        "locality": "London"
      },
      "sic_codes": ["62012", "62020"]
    }
  ],
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House",
    "source_url": "https://download.companieshouse.gov.uk",
    "query": "ACME"
  },
  "pagination": {
    "total": 1,
    "page": 1,
    "per_page": 25,
    "total_pages": 1
  }
}

Company Lookup

GET /v1/companies/

Retrieve full details for a specific company by its Companies House number.

Parameters

Parameter Type Description
company_number string (path) 8-digit Companies House number (e.g., 12345678)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.govdata.dev/v1/companies/12345678

Response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "company_status": "active",
    "company_type": "ltd",
    "date_of_creation": "2020-01-15",
    "date_of_cessation": null,
    "registered_office_address": {
      "address_line_1": "123 Test St",
      "locality": "London",
      "postal_code": "EC2R 6EA",
      "country": "United Kingdom"
    },
    "sic_codes": [
      { "code": "62012", "description": "Business and domestic software development" },
      { "code": "62020", "description": "Information technology consultancy activities" }
    ],
    "accounts": {
      "next_due": "2027-01-15",
      "last_made_up_to": null
    },
    "confirmation_statement": {
      "next_due": "2027-01-15"
    },
    "jurisdiction": "england-wales",
    "uri": "/company/12345678"
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House",
    "source_url": "https://download.companieshouse.gov.uk"
  }
}

Company Listing

GET /v1/companies

List and filter UK companies by status, SIC code, or postcode area.

Query parameters

Parameter Type Required Description
status string No Filter by status: active, dissolved
sic_code string No Filter by SIC code (e.g., 62012)
postcode string No Filter by postcode area (e.g., EC2R)
page integer No Page number (default: 1)
per_page integer No Results per page (default: 25, max: 100)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies?status=active&sic_code=62012"

Response

{
  "data": [
    {
      "company_number": "12345678",
      "company_name": "ACME WIDGETS LTD",
      "company_status": "active",
      "company_type": "ltd",
      "date_of_creation": "2020-01-15",
      "registered_office_address": {
        "postal_code": "EC2R 6EA",
        "locality": "London"
      },
      "sic_codes": ["62012", "62020"]
    }
  ],
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House",
    "source_url": "https://download.companieshouse.gov.uk"
  },
  "pagination": {
    "total": 1,
    "page": 1,
    "per_page": 25,
    "total_pages": 1
  }
}

SIC Codes

GET /v1/companies/sic-codes

List all UK Standard Industrial Classification (SIC) codes. Optionally filter by section letter.

Query parameters

Parameter Type Required Description
section string No Filter by section letter (e.g., J for Information and Communication)
page integer No Page number (default: 1)
per_page integer No Results per page (default: 25, max: 100)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/sic-codes?section=J"

Response

{
  "data": [
    {
      "code": "62011",
      "description": "Ready-made interactive leisure and entertainment software development",
      "section": "J"
    },
    {
      "code": "62012",
      "description": "Business and domestic software development",
      "section": "J"
    },
    {
      "code": "62020",
      "description": "Information technology consultancy activities",
      "section": "J"
    }
  ],
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House",
    "source_url": "https://download.companieshouse.gov.uk"
  },
  "pagination": {
    "total": 3,
    "page": 1,
    "per_page": 25,
    "total_pages": 1
  }
}
GET /v1/companies/sic-codes/

Look up a specific SIC code and its description.

Parameters

Parameter Type Description
code string (path) SIC code (e.g., 62012)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.govdata.dev/v1/companies/sic-codes/62012

Response

{
  "data": {
    "code": "62012",
    "description": "Business and domestic software development",
    "section": "J",
    "section_description": "Information and Communication"
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House",
    "source_url": "https://download.companieshouse.gov.uk"
  }
}

Company Statistics

GET /v1/companies/statistics

Aggregate statistics about UK companies. No parameters required.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  https://api.govdata.dev/v1/companies/statistics

Response

{
  "data": {
    "total_companies": 5200000,
    "by_status": { "active": 4800000, "dissolved": 350000 },
    "by_type": { "ltd": 4200000, "plc": 7500, "llp": 65000 },
    "incorporations_this_month": 45000,
    "incorporations_this_year": 520000,
    "data_as_of": "2026-02-01"
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House",
    "source_url": "https://download.companieshouse.gov.uk"
  }
}

Company Financials

GET /v1/companies/{company_number}/financials

Returns financial data extracted from iXBRL/XBRL accounts filings for a company. Includes revenue, profit, assets, liabilities, and more.

Path parameters

Parameter Type Description
company_number string Companies House number (8 characters)
limit integer Max filings to return (default: 10, max: 50)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/12345678/financials"

Example response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "filings_count": 2,
    "filings": [
      {
        "period_start": "2024-01-01",
        "period_end": "2024-12-31",
        "filing_type": "full",
        "accounting_standard": "FRS 102",
        "filed_at": "2025-03-15T10:00:00Z",
        "financials": {
          "revenue": 1250000.00,
          "cost_of_sales": 750000.00,
          "gross_profit": 500000.00,
          "profit_before_tax": 340000.00,
          "total_assets": 2000000.00,
          "net_assets": 1400000.00,
          "employees_count": 42
        }
      }
    ]
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Persons with Significant Control (PSC)

GET /v1/companies/{company_number}/psc

Returns Persons with Significant Control records for a company. Includes individual and corporate PSCs with their natures of control.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/12345678/psc"

Example response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "psc_count": 1,
    "psc_records": [
      {
        "psc_type": "individual",
        "kind": "individual-person-with-significant-control",
        "name": "John Smith",
        "nationality": "British",
        "country_of_residence": "United Kingdom",
        "natures_of_control": ["ownership-of-shares-75-to-100-percent"],
        "notified_on": "2020-01-15",
        "ceased_on": null
      }
    ]
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

PSC Changes Timeline

GET /v1/companies/{company_number}/psc/changes

Returns a chronological timeline of PSC (Persons with Significant Control) changes for a company — appointments and cessations ordered by date.

Parameters

Parameter Type Description
company_number string (path) 8-digit Companies House number (e.g., 12345678)
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/12345678/psc/changes"

Example response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "total_events": 3,
    "events": [
      {
        "event": "appointed",
        "date": "2020-01-15",
        "name": "John Smith",
        "psc_type": "individual",
        "natures_of_control": ["ownership-of-shares-75-to-100-percent"]
      },
      {
        "event": "appointed",
        "date": "2023-06-01",
        "name": "Jane Doe",
        "psc_type": "individual",
        "natures_of_control": ["ownership-of-shares-25-to-50-percent"]
      },
      {
        "event": "ceased",
        "date": "2024-03-15",
        "name": "John Smith",
        "psc_type": "individual"
      }
    ]
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Company Comparison

Compare 2–10 companies side by side. Returns profile information and financial data (when available) for each company.

Request body

Field Type Description
company_numbers array Array of 2–10 company numbers
curl -X POST -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"company_numbers": ["12345678", "87654321"]}' \
  "https://api.govdata.dev/v1/companies/compare"

Example response

{
  "data": {
    "companies_compared": 2,
    "companies": [
      {
        "company_number": "12345678",
        "company_name": "ACME WIDGETS LTD",
        "profile": {
          "company_status": "active",
          "company_type": "ltd",
          "age_years": 6,
          "sic_codes": [{"code": "62012", "description": "Business and domestic software development"}]
        },
        "financials": {
          "revenue": 1250000.00,
          "profit_before_tax": 340000.00,
          "total_assets": 2000000.00
        }
      }
    ]
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Industry Benchmarks

By SIC Code

GET /v1/companies/benchmarks/{sic_code}

Returns aggregate financial statistics for all companies in a SIC sector. Includes median, mean, 25th and 75th percentile for key financial metrics including directors’ remuneration.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/benchmarks/62012"

Company vs Industry

GET /v1/companies/{company_number}/benchmark

Compare a company’s financials against its industry sector. Returns the company’s latest financials, industry benchmarks, and estimated percentile rankings.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/12345678/benchmark"

Example response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "sic_code": "62012",
    "sic_description": "Business and domestic software development",
    "company_financials": {
      "revenue": 1250000.00,
      "profit_before_tax": 340000.00
    },
    "industry_benchmarks": {
      "revenue": {"median": 500000.00, "mean": 750000.00, "p25": 200000.00, "p75": 1000000.00},
      "profit_before_tax": {"median": 100000.00, "mean": 150000.00, "p25": 30000.00, "p75": 250000.00},
      "directors_remuneration": {"median": 120000.00, "mean": 150000.00, "p25": 60000.00, "p75": 220000.00}
    },
    "percentile_rankings": {"revenue": 78, "profit_before_tax": 82, "directors_remuneration": 65}
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Ownership Network

GET /v1/companies/{company_number}/network

Maps the ownership network of a company using PSC (Persons with Significant Control) data. Shows who controls the company and what other companies those same individuals control — useful for due diligence and relationship mapping.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/12345678/network"

Example response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "psc_count": 1,
    "controllers": [
      { "name": "John Smith", "psc_type": "individual", "nationality": "British", "natures_of_control": ["ownership-of-shares-75-to-100-percent"] }
    ],
    "related_companies": [
      {
        "controller_name": "John Smith",
        "companies": [
          { "company_number": "99887766", "company_name": "SMITH HOLDINGS LTD", "company_status": "active" },
          { "company_number": "55443322", "company_name": "JS CONSULTING LTD", "company_status": "active" }
        ]
      }
    ],
    "network_size": 3
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Filing Status

GET /v1/companies/{company_number}/filing-status

Check a company's filing compliance status. Returns whether accounts are overdue, due soon, or up to date, along with due dates and latest filing details.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/12345678/filing-status"

Compliance statuses

Status Description
up_to_dateAccounts filed, next due date is 30+ days away
due_soonNext filing due within 30 days
overdueFiling is past its due date
not_applicableCompany is dissolved or inactive
unknownNo due date available

Example response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "company_status": "active",
    "compliance_status": "up_to_date",
    "accounts_next_due": "2027-01-15",
    "accounts_last_made_up_to": "2025-01-15",
    "confirmation_next_due": "2027-01-15",
    "days_until_due": 312,
    "days_since_last_filing": 418,
    "is_overdue": false,
    "latest_filing": {
      "period_end": "2025-01-15",
      "filing_type": "full",
      "has_financials": true
    }
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}
GET /v1/companies/{company_number}/trends

Year-over-year financial trends for a company. Returns time series of revenue, profit, assets, and employees across all filed accounts, with absolute and percentage changes between consecutive periods.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/12345678/trends"

Example response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "periods_count": 3,
    "periods": [
      { "period_end": "2023-01-15", "filing_type": "full", "metrics": { "revenue": 500000.00, "profit_before_tax": 50000.00, "total_assets": 200000.00 } },
      { "period_end": "2024-01-15", "filing_type": "full", "metrics": { "revenue": 600000.00, "profit_before_tax": 72000.00, "total_assets": 250000.00 } },
      { "period_end": "2025-01-15", "filing_type": "full", "metrics": { "revenue": 680000.00, "profit_before_tax": 85000.00, "total_assets": 310000.00 } }
    ],
    "trends": [
      { "from": "2023-01-15", "to": "2024-01-15", "changes": { "revenue": { "absolute": 100000.00, "percentage": 20.0 }, "profit_before_tax": { "absolute": 22000.00, "percentage": 44.0 } } },
      { "from": "2024-01-15", "to": "2025-01-15", "changes": { "revenue": { "absolute": 80000.00, "percentage": 13.3 }, "profit_before_tax": { "absolute": 13000.00, "percentage": 18.1 } } }
    ]
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Financial Health Score

GET /v1/companies/{company_number}/health

Financial health assessment based on the latest filing. Calculates key ratios (current ratio, debt-to-equity, profit margin, ROA, cash ratio) and rates each as green, amber, or red.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/12345678/health"

Health signals

Signal Description
greenHealthy — ratio within normal range
amberCaution — ratio warrants attention
redConcern — ratio outside healthy range

Example response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "period_end": "2025-01-15",
    "health": {
      "current_ratio": { "value": 2.1, "signal": "green", "label": "Current Ratio" },
      "debt_to_equity": { "value": 0.4, "signal": "green", "label": "Debt to Equity" },
      "profit_margin": { "value": 12.5, "signal": "green", "label": "Profit Margin %" },
      "return_on_assets": { "value": 8.3, "signal": "amber", "label": "Return on Assets %" },
      "cash_ratio": { "value": 0.6, "signal": "green", "label": "Cash Ratio" }
    }
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Sector Analytics

GET /v1/companies/sectors/{sic_code}/analytics

Sector-level analytics for a given SIC code. Returns company counts, active/inactive breakdown, incorporation trends, and financial benchmarks (when available).

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/sectors/62012/analytics"

Example response

{
  "data": {
    "sic_code": "62012",
    "sic_description": "Business and domestic software development",
    "sic_section": "J",
    "company_count": 45230,
    "active_count": 38100,
    "by_status": { "active": 38100, "dissolved": 6890, "liquidation": 240 },
    "incorporations": { "this_year": 1850, "last_year": 4120 },
    "financial_benchmarks": {
      "median_revenue": 285000.00,
      "median_profit_margin": 15.2,
      "median_total_assets": 180000.00
    },
    "filing_count": 12500,
    "benchmark_calculated_at": "2026-03-01T00:00:00Z"
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Geographic Data

GET /v1/companies/geography/{postcode_prefix}

Company statistics for a UK postcode area. Returns company counts, active/inactive breakdown, top industries, and incorporation trends.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/geography/EC2"

Example response

{
  "data": {
    "postcode_prefix": "EC2",
    "company_count": 28500,
    "active_count": 21200,
    "by_status": { "active": 21200, "dissolved": 7100, "liquidation": 200 },
    "top_sic_codes": [
      { "code": "64209", "description": "Activities of other holding companies", "count": 3200 },
      { "code": "70229", "description": "Management consultancy activities", "count": 2100 },
      { "code": "62012", "description": "Business and domestic software development", "count": 1800 }
    ],
    "incorporations": { "this_year": 920, "last_year": 2340 }
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Company Timeline

GET /v1/companies/{company_number}/timeline

Chronological timeline of key events: incorporation, account filings, PSC changes (notifications and cessations), and company cessation.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/12345678/timeline"

Event types

Type Description
incorporationCompany was registered
accounts_filedAnnual accounts submitted
psc_notifiedPerson with Significant Control notified
psc_ceasedPerson with Significant Control ceased
cessationCompany dissolved or struck off

Example response

{
  "data": {
    "company_number": "12345678",
    "company_name": "ACME WIDGETS LTD",
    "event_count": 5,
    "events": [
      { "date": "2025-01-15", "type": "accounts_filed", "description": "Full accounts filed for period ending 2025-01-15", "details": { "filing_type": "full", "has_financials": true } },
      { "date": "2024-01-15", "type": "accounts_filed", "description": "Full accounts filed for period ending 2024-01-15", "details": { "filing_type": "full", "has_financials": true } },
      { "date": "2020-01-15", "type": "psc_notified", "description": "John Smith notified as individual PSC", "details": { "name": "John Smith", "psc_type": "individual" } },
      { "date": "2020-01-15", "type": "incorporation", "description": "Company incorporated as LTD" }
    ]
  },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Recent Filings Feed

GET /v1/companies/recent-filings

Paginated feed of recently filed company accounts. Filter by filing type, industry (SIC code), or date range.

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.govdata.dev/v1/companies/recent-filings?filing_type=full"

Example response

{
  "data": [
    {
      "company_number": "12345678",
      "barcode": "ABC123XYZ",
      "period_end": "2025-12-31",
      "filing_type": "full",
      "has_financials": true,
      "filed_at": "2026-03-05T14:30:00Z"
    }
  ],
  "pagination": { "total": 500000, "page": 1, "per_page": 25, "total_pages": 20000 },
  "meta": {
    "api_version": "v1",
    "licence": "Open Government Licence v3.0",
    "source": "Companies House"
  }
}

Company data is sourced from the Companies House bulk data product and updated monthly. Financial data is extracted from iXBRL/XBRL accounts filings and updated daily. Contains public sector information licensed under the Open Government Licence v3.0.

Data Coverage

Source Companies House
Date range All active and recently dissolved companies
Records ~5.7M companies
Updated Monthly full snapshot, daily accounts filings
Limitations Financial data covers last 5 years of filings. Very old dissolved companies may be absent.