A reliable partner for years, responsive, efficient, and high-quality.
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.
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
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
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 point | Official register | CompanyData API |
|---|---|---|
| Businesses in the file | 779,508 | 1,364,087 |
| Registered name and former names | ✓ | ✓ |
| UID | 990,825 | 1,241,316 |
| Registered address and canton | 1,050,117 | 1,343,508 |
| Legal form and status | ✓ | ✓ |
| Purpose and share capital | ✓ | ✓ |
| Instant self-service access | ✗ | ✓ |
| Directors and signatories | ✗ | 885,613 |
| Website | ✗ | 505,982 |
| Telephone number | ✗ | 535,047 |
| Mobile number | ✗ | 190,213 |
| Business email address | ✗ | 352,194 |
| Employee counts | ✗ | ✓ structured fields |
| Industry classification | ✗ | ✓ SIC and NACE codes |
| International records | ✗ | 365M+ 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.
More fields than Zefix returns
Directors, employees and contact details in a single request. Defaults to Switzerland, switch country if you need to.
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.
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.
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.
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 keyAuth 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.
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.
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.
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.
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.
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.
What teams build on Swiss register data
Verify Swiss counterparties by UID. Check legal form, status and canton automatically during signup.
Build prospect lists filtered by industry code, canton, revenue signal or business size.
Append UIDs, industry codes, employee figures and contacts to your Swiss accounts in bulk.
Monitor liquidations, deletions and gazette publications across your Swiss supplier base.
Type-ahead on registered names in signup forms, so the UID and address arrive spelled the way the cantonal register spells them.
Match suppliers and customers to a UID once, then keep names, status and addresses in sync automatically.
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
The same API, register by register
What teams do with register data
Onboarding, KYB and supplier checks in production, on the same search and export calls you just tried.
Norway's national trust mark verifies businesses against the register in real time, cutting verification time by 99%.
Read the story
Up-to-date business details from around the world, screened straight inside the onboarding flow.
Read the story
Large-scale KYB verification through business lookup, built straight into the signup path.
Read the story350M statutory addresses and registry director records inside Sumsub's global KYB flows, so shell offices and nominee directors get caught at onboarding.
Read the storyRegistry-sourced business and UBO data across Africa, Asia and Latin America, with 80% fewer manual reviews.
Read the storyZefix API Pricing
Transparent, credit-based pricing. Start with a 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.
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.
The best data company we have worked with.
Great feedback from our team on the data quality.
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