Comparison

How OpenRegistry differs from OpenCorporates, Companies House direct, and Bureau van Dijk

A side-by-side on coverage, freshness, field shape, source-link integrity, cross-border capability, authentication, and pricing. Verbatim from the public README.

OpenRegistry OpenCorporates Companies House API direct Bureau van Dijk Orbis
Coverage 27 national registries ~140, mostly aggregated UK only ~430M companies, aggregated
Data freshness Live — every call hits upstream Scrape-and-cache (hours–days lag) Live 7-day to quarterly refresh
Field shape Verbatim upstream payload + unified envelope Normalised to OC schema Per-registry CH schema BvD's own schema
Source identifier preserved Yes — registry URL reconstructable OC ID is primary; mapping back is lossy Native BvD ID is primary
Filing PDFs / iXBRL bytes Returned raw Metadata only; bytes paywalled Native Paywalled
Cross-border ownership chain One MCP prompt, ≤30 jurisdictions Manual ID-stitching Out of scope Limited to BvD-mastered entities
Authentication OAuth 2.1 + DCR; anonymous tier free API key (signup) API key (signup) Per-seat license, $30k–$50k+/yr
Self-serve free tier 20 req/min/IP — all tools, all jurisdictions Non-commercial only, throttled Free, single-jurisdiction None
MCP-native JSON-RPC over Streamable HTTP REST REST REST

One-liner

OpenCorporates and BvD are aggregators that re-shape and cache; CH-direct is single-jurisdiction. OpenRegistry is the layer between an AI agent and the original government APIs — verbatim, live, multi-country, no API key for the free tier.

Where OpenRegistry deliberately doesn't have data

Statutorily restricted beneficial-ownership registers post-CJEU C-37/20 (DE, ES, IT, NL, LU, AT, MT, PT) and similar regimes (Cayman BOTA 2023) are not proxied. The response carries a structured alternative_url pointing at the AML-obliged-only statutory portal — we don't pretend to have data we don't. See the errors and back-off page for the exact response shape.

Why it matters for AI agents

A normalised aggregator shape is one tool's interpretation of an upstream value. The interpretation can be wrong, and is rarely auditable. For AI agents with current-generation LLMs (Claude 4.x, GPT-5.x, Gemini 3.x), the verbatim jurisdiction_data object is read just as fluently as a pre-cooked dossier — and the cost of not seeing the raw data (silent normalisation errors that break in production) is much higher.

Read the architectural rationale in "Why OpenRegistry returns raw upstream data — and refuses to summarise".