HomeAPIsZefix API
Zefix API🇨🇭 Zefix · enriched

Zefix API: Swiss business register data in one REST call

Zefix is solid for commercial register lookups, but every endpoint needs Basic auth that only a person at EHRA can issue, and it returns no contact details and no directors at all. CompanyData gives you 1.3 million Swiss businesses with both, on a key you get instantly.

150 free calls in week one · No credit card · The same API covers 200+ countries
1,364,087
Swiss businesses
50+
data fields per record
UID
official identifier on every record
<200 ms
median response time
GET /api/company/search?nationalId=CHE-105.909.036
Nestlé S.A.
Vevey, Switzerland
Active
UIDCHE-105.909.036
Legal formAktiengesellschaft
CantonVaud
Employees12,400
Websitenestle.com
Source: Zefix / cantonal register · example200 OK · 149 ms
The basics

What is the Zefix API?

Zefix, the Zentraler Firmenindex, is the federal index over Switzerland's 26 cantonal commercial registers, run by EHRA at the Federal Office of Justice. The REST API lets you look a business up by UID, by the legacy cantonal CHID or by EHRA's own surrogate key, and returns the registered name, purpose, share capital, address, canton, translations, former names, merger lineage and the full text of Swiss Official Gazette publications.

Two things make it harder to build on than it looks. Basic authentication is mandatory on every single endpoint, including static reference data, and credentials are issued only by emailing EHRA, so you cannot prototype at all before a person replies. And there is no persons array anywhere in the schema: board members and signatories appear only inside the gazette narrative, never as structured fields.

CompanyData covers the same 1.3 million Swiss businesses with a key issued the moment you sign up, and adds the contact details, directors and employee figures the register does not carry, in the same schema as 200+ other countries.

The official API, in short

  • Free reuse under Swiss open-government terms, with attribution
  • Returns purpose, share capital, translations, former names and gazette text
  • Basic auth on every endpoint, credentials issued only by email to EHRA
  • No phone, no email, no website
  • No directors or signatories anywhere in the schema
  • Sole traders below CHF 100,000 turnover are not registered at all
Try it live

Look up any Swiss business

Register fields plus the enrichment layer, in one response. Pick a business, no key needed for the sample.

  • Official UID on every record
  • Directors and contact details the register does not carry
  • Same request shape in 200+ countries
Side by side

Zefix API and CompanyData, per data point

Zefix covers the commercial register well. CompanyData delivers 50+ enriched data points per Swiss business in a single call, on a key you get instantly.

Data pointOfficial registerCompanyData API
Businesses in the file779,5081,364,087
Registered name and former names
UID990,8251,241,316
Registered address and canton1,050,1171,343,508
Legal form and status
Purpose and share capital
Instant self-service access
Directors and signatories885,613
Website505,982
Telephone number535,047
Mobile number190,213
Business email address352,194
Employee counts✓ structured fields
Industry classification✓ SIC and NACE codes
International records365M+ worldwide

Our column counts every registered entity we hold for this country, active or inactive. Some registers only serve active entities through their API, which we think is a gap: a holding or a trust can be dormant and still matter as an entity, so we keep it. Measured live in our own file, August 2026, and refreshed monthly. Register figure: entities entered in the Swiss commercial register across all 26 cantons, 1 January 2026, deleted entities excluded.

Access and filters

Zefix search is a prefix match with a three-character minimum, and there is no modified-since endpoint, so change detection means crawling gazette publication dates. CompanyData adds segmentation: filter by industry, revenue, employees, canton or city, and bulk-export with enrichment included.

Price

Zefix is free to reuse with attribution, and stays the right tool for an official commercial register extract. CompanyData adds the enrichment layer from €0.02 per credit, with 150 free calls in your first week and a key issued the moment you sign up.

See the difference

More fields than Zefix returns

Directors, employees and contact details in a single request. Defaults to Switzerland, switch country if you need to.

Try one:
Best practice

Working with the official Zefix API

Zefix is a clean API once you are in, but getting in involves a person. Here is the route, and the six things that cost teams the most time, whether you enrich with us or not.

1

Email EHRA for credentials

There is no self-service signup. Request access for the integration and production environments in one message, or you will wait for a second human reply. Details at zefix.admin.ch.

2

Send Basic auth on every call

Every endpoint is gated, including the static legal-form list. Keep the credentials server-side: the API sends no CORS headers, so browser calls are impossible.

3

Pick the right identifier endpoint

Lookups split three ways by identifier type: UID, the legacy cantonal CHID, and EHRA's own surrogate key. Search is a POST with a JSON body, not a GET.

Honestly: Zefix is the right tool for an official Swiss commercial register extract, and it is free. If you need directors, contact details, employee figures or a key today rather than after an email exchange, that is us.

Get your API key
01

Auth gates everything and is issued by a human

Basic auth is required on all endpoints, even reference data, so you cannot prototype before EHRA replies. Ask for integration and production credentials in the same request.

02

There is no people data at all

No persons array exists anywhere in the schema. Board members and signature authorities appear only in the gazette narrative text, so extracting them means language processing rather than field mapping.

03

Responses have no language flag

Name, purpose and gazette text come back in whichever language the canton keeps them in, with nothing saying which. A Geneva business arrives in French and a Zurich one in German. Use the canton as a prior and detect from there.

04

Swiss orthography uses ss, never the sharp s

A German-locale normaliser that maps ss to the sharp s corrupts Swiss names. Search is also a prefix match with a three-character minimum, so a partial stem will not find an accented form.

05

Status is tri-state, not a boolean

Active, in liquidation and deleted. A business in liquidation still legally exists and may still transact, so collapsing this to active or inactive misclassifies it. The active-only filter has no documented default either.

06

Swiss financials mostly do not exist publicly

Under Swiss law only businesses with listed securities or outstanding bonds must publish accounts. There is no Swiss filing repository, so no source can give you audited SME figures. Anything sold as such is estimated.

Use cases

What teams build on Swiss register data

KYB and onboarding

Verify Swiss counterparties by UID. Check legal form, status and canton automatically during signup.

Lead generation

Build prospect lists filtered by industry code, canton, revenue signal or business size.

CRM enrichment

Append UIDs, industry codes, employee figures and contacts to your Swiss accounts in bulk.

Risk and compliance

Monitor liquidations, deletions and gazette publications across your Swiss supplier base.

Form autocomplete

Type-ahead on registered names in signup forms, so the UID and address arrive spelled the way the cantonal register spells them.

ERP and finance systems

Match suppliers and customers to a UID once, then keep names, status and addresses in sync automatically.

Beyond Switzerland

Switzerland is one of 200+ countries on the same API

Same request shape, same response schema, from Zefix to Companies House, the Handelsregister and the KVK. Build the Swiss integration once and take it across the border.

Explore the Company Data API
Switzerland is one of 200+ countries on the same API

Zefix API Pricing

Transparent, credit-based pricing. Start with a free trial.

Free trial

Verify your first 150 Swiss businesses free

  • 150 lookups and 10 exports in week one, key issued instantly
  • 1 credit per business looked up, usage-based after that
  • No card, no contract, no email exchange

Questions? Ask a human.

No ticket queue. Your question lands with our data team and you get an answer within 24 hours.

Amsterdam HQVijzelgracht 53D · +31 20 705 2360
BerlinFriedrichstraße 123 · +49 30 21480480
DubaiBuilding A1, Dubai Digital Park, Dubai Silicon Oasis

Mon to Fri 9:00 to 17:30 CET · info@companydata.com

What our customers say

Real feedback from the people using CompanyData every day.

9.2/10 on Kiyoh from verified reviews

★★★★

A reliable partner for years, responsive, efficient, and high-quality.

Ann Sofie Westlake
Ann Sofie Westlake
Head of Marketing, Quartix
★★★★★

The best data company we have worked with.

Helmut Huberti, M.D.
Helmut Huberti, M.D.
World Arthrosis Org., Heidelberg
★★★★★

Great feedback from our team on the data quality.

Stefania Guerra
Stefania Guerra
Dyson, Milan

Frequently asked questions

Is the Zefix API free?

Yes, and it is published for free reuse including commercial use, with attribution. The cost is not money but access: Basic authentication is mandatory on every endpoint and credentials are issued only after you email EHRA, so there is no self-service signup and no way to try it first.

How do I get Zefix API credentials?

You email the Federal Office of Justice and wait for a reply. Request both the integration and the production environment in the same message, otherwise you need a second round trip with a person. There is no developer portal and no instant key.

Our key is issued the moment you sign up.

Does the Zefix API return directors?

No, and this is a larger gap than the missing contact details. There is no persons array anywhere in the schema. Board members and signature authorities appear on the cantonal extract and inside the Swiss Official Gazette publication text, but never as structured fields, so getting them from Zefix means parsing prose.

We return directors and executives as fields.

Can I get Swiss company financials through an API?

Not filed accounts, from any source. Under Swiss company law only businesses with listed equity or outstanding bonds have to publish their accounts; everyone else need only allow inspection by creditors with a protected interest. There is no Swiss filing repository, so no public or commercial API can supply audited Swiss SME statements.

What we do carry is employee figures and revenue signals as structured fields, which is a different and honest claim.

What is the difference between UID, CHID and EHRAID?

The UID is the current national identifier, CHE plus nine digits with a check digit, and both the plain and dotted forms are valid. The CHID is the legacy 13-digit cantonal number, still found in pre-2011 documents. The EHRAID is the index's own surrogate key, always present, which makes it the natural join key for your own storage.

Strip any register or VAT suffix from a UID before you call, and note that the French and Italian abbreviations for the UID are IDE and IDI.

Are all Swiss businesses in Zefix?

No. A sole trader has to register only once turnover passes CHF 100,000, and liberal professions and farmers are exempt even above that. Sub-threshold traders may register voluntarily, so the boundary is fuzzy, and a large slice of Swiss micro-businesses, freelancers and farms is simply absent from the commercial register at any price.

How many Swiss businesses do you cover?

1.3 million Swiss registrations, updated continuously from the cantonal registers and other official sources.

Make 150 Free API Calls Before You Spend Anything

Tell us which Swiss businesses you need. You get a trial key with 150 lookups and 10 exports, plus a real sample response for your target market, within 24 hours.

or call +31 (0)20 705 2360

Call us: +31 (0)20 705 2360