CHdata

API de données

API pour les données d'entreprises suisses

Toutes les données de votre plan pour vos systèmes, en JSON : une entreprise par IDE ou des listes par canton, localité, secteur et forme juridique. Incluse dans chaque plan dès Start, avec le même volume mensuel que l'export.

Clé

À créer dans le compte (3 au plus par compte) et à envoyer avec chaque requête. Nous n'enregistrons qu'un hash de la clé.

Authorization: Bearer chd_live_…

Points d'accès

  • GET /api/v1/firma/{uid}

    Une entreprise avec toutes les couches de votre plan. Compte 1 entreprise ; un IDE inconnu ne compte pas.

  • GET /api/v1/suche?kanton=ZH&branche=treuhand&seite=1

    Entreprises par filtres : q (nom ou IDE), kanton (VD), ort (lausanne), rechtsform (aktiengesellschaft), branche (treuhand), status (aktiv ou alle) ; seite, pro_seite (jusqu'à 100). Compte les entreprises livrées.

  • GET /api/v1/nutzung

    Plan et volume de ce mois. Ne compte rien.

Volume et limites

On compte les entreprises, pas les requêtes : une page de 100 entreprises compte 100. Chaque réponse indique l'état dans les en-têtes X-Volume-Limit, X-Volume-Used et X-Volume-Left. 600 requêtes au plus par minute et par clé.

Erreurs

401 clé absente ou révoquée · 402 aucun plan actif · 404 IDE absent du registre · 429 volume épuisé ou plus de 600 requêtes par minute.

Exemple

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"
}

Champs par plan

Chaque entreprise contient les champs des couches de votre plan ; un champ vide signifie : rien au registre.

Données de baseStart

  • uid
  • name
  • legal_form
  • legal_form_name
  • status
  • address
  • industries
  • purpose
  • capital
  • registered
  • lei
  • licences

Personnes & signaturedès Start

  • people.president
  • people.management
  • people.board
  • people.sole_signature
  • people.count
  • people.auditors

Historiquedès Pro

  • history.last_notice
  • history.notices
  • history.last_events
  • history.renames
  • history.seat_moves
  • history.people_changes
  • history.public_awards

Signauxdès Expert

  • signals.status_event
  • signals.revoked
  • signals.auditor_left
  • signals.departures
  • signals.care_of
  • signals.same_address
  • signals.proceedings
  • signals.enforcements
API pour les données d'entreprises suisses | CHdata