CHdata

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=1

    Firmen 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/nutzung

    Plan 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
API für Schweizer Firmendaten | CHdata