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=1Entreprises 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/nutzungPlan 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