Daten-API
API für Schweizer Firmendaten
Alle Angaben Ihres Daten-Plans für Ihre Systeme, als JSON: eine Firma per UID oder Listen nach Kanton, Ort, Branche und Rechtsform. In jedem Plan ab Start enthalten, mit demselben Monatsvolumen wie der Export.
Schlüssel
Im Konto erstellen (bis 3 pro Konto) und bei jeder Anfrage mitsenden. Wir speichern nur einen Hash des Schlüssels.
Authorization: Bearer chd_live_…
Endpunkte
GET /api/v1/firma/{uid}Eine Firma mit allen Ebenen Ihres Plans. Zählt 1 Firma; eine unbekannte UID zählt nicht.
GET /api/v1/suche?kanton=ZH&branche=treuhand&seite=1Firmen nach Filtern: q (Name oder UID), kanton (ZH), ort (zuerich), rechtsform (aktiengesellschaft), branche (treuhand), status (aktiv oder alle); seite, pro_seite (bis 100). Zählt die gelieferten Firmen.
GET /api/v1/nutzungPlan und Volumen dieses Monats. Zählt nichts.
Volumen und Grenzen
Gezählt werden Firmen, nicht Anfragen: eine Seite mit 100 Firmen zählt 100. Jede Antwort meldet den Stand in den Kopfzeilen X-Volume-Limit, X-Volume-Used und X-Volume-Left. Höchstens 600 Anfragen pro Minute und Schlüssel.
Fehler
401 Schlüssel fehlt oder ist widerrufen · 402 kein aktiver Plan · 404 UID nicht im Register · 429 Volumen aufgebraucht oder mehr als 600 Anfragen pro Minute.
Beispiel
curl -H "Authorization: Bearer $CHDATA_KEY" \ https://chdata.ch/api/v1/firma/CHE-203.381.047
{
"plan": "profi",
"layers": [
"basis",
"personen",
"verlauf"
],
"company": {
"uid": "CHE-203.381.047",
"name": "PatMi AG",
"legal_form": "aktiengesellschaft",
"legal_form_name": "Aktiengesellschaft",
"status": "active",
"address": {
"care_of": "c/o Michael Hirt",
"street": "Seestrasse 248b",
"zip": "8713",
"city": "Uerikon",
"canton": "ZH"
},
"industries": [],
"purpose": null,
"capital": null,
"registered": "2026-10-23",
"lei": null,
"licences": [],
"people": {
"president": [
"Michael Christian Hirt"
],
"management": [],
"board": [
"Patricia Silvia Hirt"
],
"sole_signature": [
"Michael Christian Hirt",
"Patricia Silvia Hirt"
],
"count": 2,
"auditors": []
},
"history": {
"last_notice": "2026-10-23",
"notices": 1,
"last_events": [
"new"
],
"renames": 0,
"seat_moves": 0,
"people_changes": 0,
"public_awards": {
"count": 0,
"sum_chf": null
}
}
},
"source": "CHdata.ch"
}Felder nach Plan
Jede Firma enthält die Felder der Ebenen Ihres Plans; leere Felder heissen: im Register nichts dazu.
GrunddatenStart
- uid
- name
- legal_form
- legal_form_name
- status
- address
- industries
- purpose
- capital
- registered
- lei
- licences
Personen & Zeichnungsrechtab Start
- people.president
- people.management
- people.board
- people.sole_signature
- people.count
- people.auditors
Verlaufab Profi
- history.last_notice
- history.notices
- history.last_events
- history.renames
- history.seat_moves
- history.people_changes
- history.public_awards
Signaleab Expert
- signals.status_event
- signals.revoked
- signals.auditor_left
- signals.departures
- signals.care_of
- signals.same_address
- signals.proceedings
- signals.enforcements