# Commercial-register publications of a Swiss company

The Swiss Official Gazette of Commerce publishes each company's life. This route reads its public API live and serves the structured part of each publication — the company before and after, closed-list change flags — without the free text, which names persons.

## What the route returns

Catalogue description, exactly as agents read it:

**Swiss commercial-register publications from the Official Gazette of Commerce (SOGC/SHAB, SECO public API, live, since July 2018): every registration, change and deletion carrying the UID — date, number, canton, office, the company as published (name, UID, seat, legal form, purpose, capital, address without c/o) and closed-list change flags (name, seat, address, purpose, capital, form, bankruptcy, liquidation…); free text withheld (persons). Query: /v1/eu/entreprise/CH/CHE-102.732.681/evenements.**

## Expected identifier

UID in the form **CHE-xxx.xxx.xxx** (dots and hyphen optional).

> ⚠️ A wrongly formatted identifier in the **path** returns `400` and is **not billed** — but it costs you a round trip. It is the leading cause of failed calls on the foreign routes. A **search** parameter, by contrast, is cleaned up: unsupported characters are stripped and the usable query is served.

## Extract from a genuinely paid response

Dated snapshot from 2026-09-18, truncated to one item per array. It is not live data. The full extract is served **free of charge** from [the samples surface](https://api.sirenic.eu/exemples/), and the schema from the OpenAPI document.

```
{
 "pays": "CH",
 "id_national": "CHE-102.732.681",
 "denomination": "A.S. Consulta AG",
 "nombre_publications": 7,
 "nombre_listees": 7,
 "troncature": false,
 "premiere_publication_le": "2021-05-27",
 "derniere_publication_le": "2026-09-18",
 "aucune_publication": false,
 "publications": [
  {
   "date": "2026-09-18",
   "numero": "HR02-1006759561",
   "type": "mutation",
   "sous_rubrique": "HR02",
   "langue": "de",
   "cantons": [
    "ZH"
   ],
   "office": "Handelsregisteramt des Kantons Zürich",
   "societe": {
    "nom": "A.S. Consulta AG",
    "uid": "CHE-102.732.681",
    "siege": "Zürich",
    "forme": {
     "code": "0106",
     "libelle": "société anonyme"
    },
    "adresse": {
     "rue": "Apfelbaumstrasse",
     "numero": "41",
     "npa": "8050",
     "localite": "Zürich"
    },
    "capital": {
     "nominal": 100000,
     "libere": 100000
    },
    "renonciation_revision": false
   },
   "changements": [
    "autres_inscriptions"
   ],
   "publication_precedente": {
    "date": "2025-12-05",
    "numero": "1006503744"
   },
   "texte_retenu": true
  }
 ],
 "consulte_le": "2026-09-18T05:30:00.000Z"
}
```

## Price and billing

Price: **$0.02**. The authoritative amount is the one in the `402` quote returned by the route itself — not this text, which derives from the same grid but is still just a page.

An error response **cancels the payment**: a `400`, `404` or `503` is never billed. An upstream outage closes the route with a `503` rather than serving a degraded response.

## Calling the route

```
# 1. Le devis, sans rien payer : la route répond 402 avec son montant
curl -i https://api.sirenic.eu/v1/eu/entreprise/CH/{id}/evenements

# 2. L'appel réglé — le client x402 paie le devis et rejoue la requête
npx x402-fetch https://api.sirenic.eu/v1/eu/entreprise/CH/{id}/evenements

# 3. Ou en MCP, dans Claude Code / Cursor / un agent
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp
```

## What this route does not do

`texte_retenu: true` on every publication: persons are never served; **online archive since 1 July 2018**, an absence goes no further back.

## Neighbouring routes

- `/v1/eu/entreprise/CH/{id}` — $0.01
- `/v1/eu/entreprise/CH/{id}/insolvabilite` — $0.02
- `/v1/eu/entreprise/FI/{id}/evenements` — $0.02

## How you pay

Every route is paid **per call**, in USDC or EURC on the Base network, over the x402 protocol: no account to create, no API key, no subscription. The first call returns a `402` quote your client settles, then replays the call. A failed call is never billed.

Would you rather have a euro invoice and prepaid credits? That is **in preparation**, and we will not announce a date until it is open. Write to [contact@sirenic.eu](mailto:contact@sirenic.eu?subject=Euro%20credit%20packs) and we will let you know when it opens.

Paid responses are **Ed25519-signed**: you can later prove what was served to you, and when. The whole catalogue is free to read in the [OpenAPI document](https://api.sirenic.eu/openapi.json) and in [llms.txt](https://api.sirenic.eu/llms.txt).

**One call, end to end**

```
# Client x402 (npm) — le devis 402 est réglé et l'appel rejoué automatiquement
npx x402-fetch https://api.sirenic.eu/v1/entreprise/552032534

# Ou en MCP, dans Claude Code / Cursor
claude mcp add --transport http sirenic https://api.sirenic.eu/mcp
```

## Routes used and pricing

| Route | Price | Sample | What it returns |
| --- | --- | --- | --- |
| `/v1/eu/entreprise/CH/{id}/evenements` | $0.02 | [free sample](https://api.sirenic.eu/exemples/eu-entreprise-CH-id-evenements.json) | Swiss commercial-register publications from the Official Gazette of Commerce (SOGC/SHAB, SECO public API, live, since July 2018): every registration, change and deletion carrying the UID — date, number, canton, office, the company as published (name, UID, seat, legal form, purpose, capital, address without c/o) and closed-list change flags (name, seat, address, purpose, capital, form, bankruptcy, liquidation…); free text withheld (persons). Query: /v1/eu/entreprise/CH/CHE-102.732.681/evenements. |

## Take it further

- [See a real response (free)](https://api.sirenic.eu/exemples/eu-entreprise-CH-id-evenements.json)
- [Get the quote for /v1/eu/entreprise/CH/{id}/evenements](https://api.sirenic.eu/v1/eu/entreprise/CH/{id}/evenements)
- [Get notified about euro packs](mailto:contact@sirenic.eu?subject=Euro%20credit%20packs)

## Read next

- [Automating business verification (KYB)](https://api.sirenic.eu/en/use-cases/kyb-automated-business-verification-with-per-block)


Volume figures on this page were measured in our database on 2026-08-19. They are dated snapshots, not live counters.

---

[Home](https://api.sirenic.eu/en) · [Pricing](https://api.sirenic.eu/en/offres) · [Guides](https://api.sirenic.eu/en/articles) · [Routes](https://api.sirenic.eu/en/api) · [Legal notice](https://api.sirenic.eu/mentions-legales) · [Privacy](https://api.sirenic.eu/en/privacy)
