---
title: "Firmensuche"
method: GET
path: "/companies"
tags: ["Firmen"]
---

# Firmensuche

`GET /companies`

## Request

- Base URL: `https://firmenwatch.ch/api/v1`
- URL: `https://firmenwatch.ch/api/v1/companies`
- Auth: HTTP bearer

Volltext- und Facettensuche im uebernommenen Zefix/LINDAS-Stammbestand. Der Bestand ist kein Vollstaendigkeitsnachweis. Ohne Suchbegriff werden aktive und danach zuletzt veraenderte Eintraege zuerst geliefert.

## Query parameters

- `q` string
- `canton` string
- `legal_form` string
- `zip` string
- `status` 'active' | 'in_liquidation' | 'bankrupt' | 'deleted'
- `limit` integer
- `offset` integer

## Response `200`

Trefferliste.

- object
  - `data` Company[], required
    - `uid` string, required
    - `name` string, required
    - `slug` string, required
    - `legal_form_code` string, nullable, required
    - `legal_form` string, nullable, required
    - `status` 'active' | 'in_liquidation' | 'bankrupt' | 'deleted', required
    - `seat` string, nullable, required: Politische Gemeinde des Sitzes.
    - `canton` string, nullable, required
    - `address` Address, required
      - `masked` boolean: true: genaue Adresse aus Datenschutzgründen nicht öffentlich; Ort bleibt verfügbar.
      - `care_of` string, nullable, required: Zustellvermerk, z. B. c/o Muster Treuhand AG.
      - `street` string, nullable, required
      - `house_number` string, nullable, required
      - `po_box` string, nullable, required: Postfachnummer ohne das Wort Postfach.
      - `zip` string, nullable, required
      - `town` string, nullable, required
    - `purpose` string, nullable, required: Zweckumschreibung gemaess Handelsregister.
    - `capital` Capital, required
      - `nominal` number, required: Nominalkapital mit belegtem ISO-Waehrungscode.
      - `paid` number, nullable, required: Belegtes liberiertes Kapital, soweit erfasst.
      - `currency` string, required: In einer erfassten Registerpublikation belegter ISO-Waehrungscode.
      - `verification` 'currency_evidenced', required
      - `evidence_basis` 'structured_shab_company_capital', required
      - `publication` object, required
        - `id` string, required
        - `date` string, date, required
        - `number` string, nullable, required
        - `sub_rubric` string, required
        - `state` 'commonsActual' | 'commonsNew', required
        - `url` string, uri, required
    - `industry` Industry, required: Aus dem eingetragenen Zweck abgeleitete Firmenwatch-Klassifikation; keine amtliche NOGA-Zuordnung.
      - `code` string, nullable, required: Interner, NOGA-naher Klassifikationscode.
      - `label` string, required: Deutsche Bezeichnung der abgeleiteten Branche.
      - `confidence` number, required
      - `qualification` 'derived' | 'probable', required
      - `basis` 'registered_purpose_text', required
    - `first_registered_at` string, date, nullable, required: SHAB publication date of the earliest evidenced new registration; not the cantonal journal date.
    - `deleted_at` string, date, nullable, required
    - `last_event_at` string, date, nullable, required
    - `url` string, uri, required: Oeffentliches Firmenprofil auf firmenwatch.ch.
  - `total` integer, required: Gesamtzahl der Treffer ohne Blaetterung.
  - `limit` integer, required
  - `offset` integer, required

## Other responses

- `400`: Ungueltige Anfrage (invalid_request).
- `401`: Kein oder ungueltiger Schluessel (unauthorized).
- `402`: Monatskontingent erschoepft (quota_exceeded).
- `403`: Abonnement nicht aktiv oder benoetigtes Schluesselrecht fehlt (forbidden).
- `429`: Ratenbegrenzung erreicht (rate_limited).
- `500`: Unerwarteter Fehler (internal).
- `503`: Der Registerbestand wird gerade vollständig verifiziert (temporarily_unavailable). Dieselbe Abfrage später erneut senden.

---

[API](https://skmtc.dev/firmenwatch/apis/firmenwatch-api.md) · [All operations](https://skmtc.dev/firmenwatch/apis/firmenwatch-api/llms.txt) · [OpenAPI document](https://skmtc.dev/firmenwatch/apis/firmenwatch-api/revisions/65e774135677?raw)
