Skip to main content

Open standard · v0.1

The Open Registry Connector Standard

Most business-data vendors hide how the data gets made. We publish it. This is the connector contract behind clapleads.com’s production ingestion pipeline — the entity schema, identity rules, and licence obligations that let hundreds of heterogeneous public registries merge into one corpus.

343 connectors run this contract in production today.

Who it’s for

Civic-tech and open-data engineers ingesting company registries; researchers who need a stable entity schema; and anyone building on public business data who wants a documented, testable contract instead of a bespoke scraper per source.

It’s complementary to Open Ownership’s BODS, which standardises beneficial-ownership statements. This standard models registry → entity ingestion.

The entity schema

A connector yields normalized entities. name is required; everything else is optional but encouraged.

FieldRequirementMeaning
nameMUSTEntity name — the only required field.
domainSHOULDPrimary web domain, lowercased, no scheme.
countrySHOULDISO 3166-1 alpha-2.
registry_idsSHOULDSource identifiers, e.g. {"lei": "…"}.
source_refSHOULDThe upstream record’s own id.
city / size_band / industry_tags / …MAYOptional enrichment fields.

Source keys & identity

Every record carries a source_key of the form <prefix>:<id> — the prefix matches [a-z0-9_]+, identifies exactly one source, and is stable forever (it’s how re-runs deduplicate). Example: gleif:5493001KJTIIGC8Y1R12.

Synthetic domains

Records without a real web presence are never given a fabricated real-looking domain. They use the reserved form <prefix>-<id>.synthetic, which consumers treat as “no real domain” and keep off public surfaces.

Licence obligations

Every connector declares its source’s licence. Sources whose licence forbids redistribution are flagged restricted, and consumers must honour that — restricted records never leave the platform and are counted-but-not-named on public pages. See the live application on our Data Sources page.

Conformance

A connector is valid when it imports, subclasses a standard base, and leaves no abstract method unimplemented — verified by an import-only checker that never runs the connector. It’s well-behaved when it also declares a rate-limit policy and licence terms.

The moat is the operating corpus and pipeline — not the base classes — so the contract is open. This is the contract behind clapleads.com’s production pipeline, not a claim of outside adoption.