EU Registry Fleet · 8 countries

Connect your agent to Europe's private companies

Structured annual accounts, beneficial ownership, and filing history for millions of EU private companies — sourced directly from national registries, delivered through a single clean API.

No credit card requiredGDPR-compliantREST + OpenAPI

Sourced directly from official EU registries

UK Companies House
Denmark CVR
DE Handelsregister
NL KvK
FR RCS
SE Bolagsverket
PL KRS
FI PRH
Registry search

Search across EU registries in one call

Query millions of private companies by name, registration number, or VAT ID across all covered EU jurisdictions. No country-specific integration work — the fleet handles normalisation.

Historical filings

Analyze years of statutory accounts

Access structured annual accounts going back a decade or more. Revenue, EBITDA, net assets, and balance-sheet line items — extracted from official PDF filings and served as clean JSON.

Document intelligence

Extract context from registry filings

Give your AI agents the full text of statutory documents: director reports, auditor notes, articles of association. Chunked and indexed, ready for RAG pipelines.

Single source

One API. Every EU jurisdiction.

Stop maintaining separate scrapers for each country. We ingest directly from 8 official national registries, normalise to a unified schema, and keep the data current with daily refresh cycles.

Data coverage

Everything your pipeline needs from EU registries

Each data type is normalised, schema-versioned, and documented with full field-level provenance back to the source filing.

Annual Accounts

Structured P&L, balance sheet, and cash-flow data extracted from statutory filings. Revenue, EBITDA, total assets, and 40+ financial line items per filing year.

P&LBalance SheetCash Flow

Beneficial Ownership

UBO registers and PSC (Persons with Significant Control) data from national filings. Ownership chains, share percentages, and director histories.

UBOPSCDirectors

Filing History

Full chronological index of all documents lodged with the registry — annual reports, confirmation statements, changes of directors, and more.

DocumentsConfirmationChanges

Balance Sheets

Parsed balance-sheet line items across years, normalised to a consistent schema regardless of local accounting standard (IFRS, UK GAAP, HGB, Plan Comptable).

IFRSUK GAAPHGB
Developer experience

Clean, effortless API

RESTful JSON over HTTPS. One API key. Consistent schema across all jurisdictions. Full OpenAPI spec for codegen.

cURL
# Fetch 5 years of annual accounts for a German company
curl -X GET \
  "https://api.privatefinancials.eu/v1/companies/DE-HRB-6684/financials" \
  -H "Authorization: Bearer pf_live_••••••••••••••••" \
  -H "Accept: application/json" \
  -d "years=5"
Python
import requests

client = requests.Session()
client.headers["Authorization"] = "Bearer pf_live_••••••••••••••••"

# Annual accounts — last 5 years
resp = client.get(
    "https://api.privatefinancials.eu/v1/companies/DE-HRB-6684/financials",
    params={"years": 5},
)
data = resp.json()

for year in data["annual_accounts"]:
    print(
        f"{year['period_end']}  "
        f"Revenue: {year['revenue_eur']:>14,.0f} EUR  "
        f"EBITDA: {year['ebitda_eur']:>13,.0f} EUR"
    )
Response
{
  "company_id": "DE-HRB-6684",
  "company_name": "Siemens AG",
  "jurisdiction": "DE",
  "registry": "Handelsregister",
  "annual_accounts": [
    {
      "period_end": "2023-09-30",
      "revenue_eur": 77800000000,
      "ebitda_eur": 11200000000,
      "net_profit_eur": 4200000000,
      "total_assets_eur": 106000000000,
      "filing_date": "2024-02-15",
      "document_url": "https://api.privatefinancials.eu/v1/documents/..."
    }
  ]
}

OpenAPI 3.1 spec

Auto-generate client libraries in any language.

Consistent schema

Same field names and units regardless of source country.

Webhook updates

Get notified when a new filing lands for a tracked company.

Start building today

Get your API key in seconds. Free tier includes 200 company lookups per month — no credit card required.

Need a custom data agreement or higher limits? Talk to sales