# Company data sources

`GET /v1/companies/sources` lists the sources with their countries,
identifier schemes, capabilities, precedence, licence/terms URL, freshness
classes and live health. Sources are open and legitimate: official open
APIs, open data and public register pages within their terms and
robots.txt. Two exceptions, decided by the operator: the SOGC's official
public API and the cantonal commercial-register excerpts (with their canton
lookup on LINDAS) are read although their hosts' robots.txt disallows
everything (see [Switzerland](/docs/companies-switzerland.md#access)).

## Precedence

When sources disagree, the higher class wins and the other values are
kept as conflicts: official register > official gazette > GLEIF >
regulatory filings (SEC) > crosswalks (Wikidata) > commercial sources.
Each field declares its rule: within a class, preferred sources first, then
for most fields the newer observation. The legal name (`names.legal`) is
the national register's primary entry and never depends on refresh order:
in Switzerland `zefix_rest` > `lindas_zefix` > `uid_register` >
`ch_cantonal_excerpt`, then `sogc`, then `gleif`; remaining ties go by
source name. Other sources' forms of the name are listed in
`names.alternates` with their `source`.

## Freshness

Each source declares how long its data counts as fresh per field group
(`core`, `people`, `ownership`, `relationships`, `filings`, `financials`,
`events`). A request for older data re-fetches it from that source first;
`max_age` and `refresh=true` override it per request. Official change feeds
update companies already in the register without your request.

## Sources

| Source | Countries | Gives | Change feed |
|---|---|---|---|
| `lindas_zefix` (Zefix on LINDAS) | CH | name and translations, UID, CH-ID, EHRA-ID, legal form, seat municipality, address, purpose (active entities) | daily data |
| `uid_register` (UID register, BFS) | CH | master data of every UID (also outside the commercial register), status, addresses, VAT status and number, LEI | – |
| `zefix_rest` (Zefix Public REST) | CH | full register record: status and deletion, capital, former names, SOGC references, mergers, branches, audit firms; needs credentials | – |
| `sogc` (Swiss Official Gazette of Commerce) | CH | events timeline (incl. officer changes, mergers, deletions), latest published state | daily publications |
| `ch_cantonal_excerpt` (cantonal register excerpts) | CH | officers and signatories with role, signing authority, since/until | – |
| `gleif` (GLEIF, LEI) | global | legal and other names, ELF legal form, status, jurisdiction and register id, legal and headquarters addresses, creation date, successor; direct and ultimate parents; the LEI ↔ national register id crosswalk; the issuer of an ISIN (ISIN-to-LEI mapping) | daily updates |

Details per country: [Switzerland](/docs/companies-switzerland.md). More sources
follow (SEC EDGAR, UK Companies House, France, Norway, …); the live list is
always `GET /v1/companies/sources`.

## Health

Every source is measured continuously (success rate, latency, parse
failures, fields that suddenly come back empty) and checked every 15 minutes
with known companies. The [status page](/status) shows one line per active
source in the group "Company data"; a degraded source only means fresher
data from it may be delayed — the register still answers.
