getregdata
Free agent skillswitzerland-zefix

Zefix API

Zefix is the central index of the Swiss cantonal commercial registries, run by the Federal Office of Justice. The ZefixPublicREST API is free of charge but not keyless - every call needs a Basic-auth credential you request by email. It returns company profile, UID, status, capital and SOGC gazette entries.

Free of charge, but not keyless - a credential is required. Open Government Data, free reuse with attribution. Read-only. Official docs: ZefixPublicREST (Federal Office of Justice).

Install the skill
npx skills add Nolpak14/getregdata -g -y

Teaches your agent the endpoints, the auth pattern and the failure modes below - so it runs the check correctly rather than guessing. Read SKILL.md

What the API returns

What you get, for free

Company profile
Name, uid (CHE-...), chid, ehraid, legalForm with multilingual DE/FR/IT/EN names, legalSeat and canton, and the registryOfCommerceId identifying the cantonal office that holds the file.
Status
ACTIVE, BEING_CANCELLED (in liquidation) or CANCELLED (struck off), with sogcDate and, once struck off, a deletionDate.
Detail extras
Registered address, purpose (Zweck), capitalNominal with capitalCurrency, the sogcPub list of SHAB references, oldNames, and a cantonalExcerptWeb link to the official excerpt.
SOGC / SHAB publications
Swiss Official Gazette of Commerce entries, retrievable by publication id or by date.
Authentication

Getting an API key

  1. Email [email protected] and request ZefixPublicREST API access.
  2. Approval is manual and free, but not instant - plan a lead time before the credential arrives, and request your own rather than sharing one.
  3. Authenticate with HTTP Basic on every endpoint, including the reference lists.
export ZEFIX_USER=your_username
export ZEFIX_PWD=your_password

curl -u "$ZEFIX_USER:$ZEFIX_PWD" \
  -H "Content-Type: application/json" \
  -d '{"name":"Nestle","activeOnly":true}' \
  https://www.zefix.admin.ch/ZefixPublicREST/api/v1/company/search

No per-call charge and no published hard rate limit - fair use, so batch and back off. A test host exists at zefixintg.admin.ch and there is an interactive Swagger UI.

Reference

Endpoints

Purpose Call
Search companies by name POST /api/v1/company/search {"name":"...","activeOnly":true}
Detail by UID GET /api/v1/company/uid/{CHE-...}
Detail by CHID GET /api/v1/company/chid/{id}
Detail by EHRAID GET /api/v1/company/ehraid/{id}
SOGC publication by id GET /api/v1/sogc/{id}
SOGC publications by date GET /api/v1/sogc/bydate/{YYYY-MM-DD}
Workflow

Running a KYB check end to end

  1. 1
    Resolve identity

    Search by name with activeOnly true and take the uid from the match. The name must be at least three characters. Skip if you already hold a CHE number.

  2. 2
    Confirm it is real and current

    Fetch by UID and check status. Record legalForm, legalSeat and canton, purpose, and capitalNominal with its currency.

  3. 3
    Find the holding registry

    registryOfCommerceId identifies the cantonal office holding the authoritative file; cantonalExcerptWeb links its official excerpt.

  4. 4
    Read the public record

    Walk the sogcPub references. Recent SOGC entries covering capital changes, officers or liquidation warrant a closer look.

  5. 5
    Check history

    oldNames lists previous registered names; deletionDate is populated once the entity is struck off.

Failure modes

What bites people

Liquidation and deletion are two different states

BEING_CANCELLED means winding up is in progress - a live entity, but adverse. CANCELLED with a deletionDate means struck off and unable to trade. Treating "being cancelled" as "gone" misreads a company that still exists.

It is free but not keyless, and approval takes time

Every endpoint needs Basic auth, and the credential is issued manually by the Federal Office of Justice. This is the real gate on Zefix - set it up before you need it rather than discovering it mid-integration.

Reference names are multilingual - pick one

legalForm and other reference names carry DE, FR, IT and EN variants. Choose a language consistently, or your KYB output ends up a mix of four.

Search is name-match only

There is no fuzzy matching and no address search, and the name must be at least three characters. If a name returns nothing, try the distinctive core of it or relax activeOnly, then confirm on the UID.

The register is federated across cantons

Zefix is the central index, but the authoritative file sits with a cantonal registry office. registryOfCommerceId tells you which one; resolve it through the registryOfCommerce reference list.

Where the free API stops

The jurisdictions with no free equivalent

The UK is the outlier. Most European registers publish through portals built for people, not a general-purpose API - so the next jurisdiction you need probably has no free option. These read the official source live and return the same shape of structured record.

Germany · Company, officers and capitalFrance · Directors, financials, shareholdersAustria · Business directory and insolvency edictsPoland · Beneficial owners (UBO)Spain · Company directory, NIF and officersItaly · Full profile, P.IVA and certified PEC
FAQ

Is the Zefix API free?

Yes, there is no charge per call and no subscription. It is not keyless though: every endpoint requires HTTP Basic auth with a credential you request by email from the Federal Office of Justice, and approval is manual.

How do I get Zefix API access?

Email [email protected] requesting ZefixPublicREST access. Approval is free but manual, so allow lead time. Each user should request their own credential rather than sharing one.

What is a Swiss UID?

The Unternehmens-Identifikationsnummer, written CHE-105.884.524. It is the canonical key for a Swiss entity - take it verbatim from a name search and use it for the detail lookup, since names are not unique.

Is there a paid getregdata actor for Switzerland?

No. Zefix is a clean official API with no anti-bot wall, so a scraper would add nothing. The free skill is the whole toolkit for Switzerland; the paid actors exist for jurisdictions that publish no equivalent.

All agent skills Paid registry coverage