September 21, 2026 · 9 min read
Zefix Switzerland Company Search Scraper: 3 Practical Use Cases
Direct answer
Search zefix.ch - the Swiss Central Business Names Index (Zentraler Firmenindex). Find companies by name, UID/CHE number, or FCRO-ID, and get legal form, registered address, canton, status, SOGC/SHAB publication history, auditors, branches, and merger history. This scraper provides real-time access to the official federal registry of every company registered in Switzerland's 26 cantonal commercial registers without requiring API keys, proxies, or authentication. For teams managing compliance, the most effective approach is to target one precise workflow (such as customer onboarding verification or transaction compliance) and map your exact filter configurations directly to that business task before processing records.
Start with the decision, not the scraper
To build a reliable workflow, you must ground your automation in a specific business decision. Avoid extracting data simply because it is accessible; instead, draft a single sentence that defines your goal: "We need to decide [decision] for [audience] using records that satisfy [acceptance rule]." Once this rule is clear, determine the final deliverable, such as a localized verification log, an audit-ready compliance brief, or an automated change-event alert.
Categorize your data fields into those that are strictly required and those that are merely useful. Required fields determine whether a company record can progress through your pipeline, while useful fields supply secondary context. You must also account for exceptions by defining an exclusion rule and designating an "uncertain" state. Forcing every borderline Swiss registry match into a strict binary category will cause automated processes to misrepresent complex legal statuses.
Practical use cases
These use cases come from Zefix Switzerland Company Search Scraper's published documentation. Each is expanded into an operating pattern so the Zefix Switzerland Company Search Scraper output has a purpose beyond collection.
Use case 1: KYB / KYC due diligence
Outcome: verify a Swiss counterparty's legal status, registered address, and signatories before onboarding.
Question to answer: Once the acceptance rule is fixed, which records satisfy it outright, and which sit in a gray zone?
Configure: Start with statuses (Restrict search results to one or more registration statuses. Empty = no filter. Note: Zefix's name-search index only covers active (EXISTIEREND) and in-liquidation (INAUFLOESUNG) companies - deleted (GELOESCHT) companies never appear via name search and can only be retrieved directly via mode=byUid or mode=byEhraid.), legalSeatQuery (Restrict search results to companies whose registered municipality (legal seat) contains this text, e.g. Zurich or Genève. Case-insensitive; accented and unaccented forms both match. Empty = no filter. Applied client-side after fetching results.), includeFullDetails (Fetch the full detail record (address, purpose, auditors, branches, SOGC/SHAB publication history) for each matched company. Slower (1 extra request per result) but much richer output. byUid and byEhraid modes always return full details.). Use the narrowest Zefix Switzerland Company Search Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Zefix Switzerland Company Search Scraper outcome.
Working method: Write the acceptance rule down before the first record is reviewed, apply it consistently across the batch, and change only one rule or input between batches so any shift in the result has a clear cause.
Deliverable: Create a review-ready queue split by status, with the deciding field cited next to every record. Include the Zefix Switzerland Company Search Scraper source identifier and the collected fields behind every Zefix Switzerland Company Search Scraper decision.
Stop condition: Pause when required fields are often absent, relevance cannot be judged consistently, or reviewers disagree on the acceptance rule. Fix the Zefix Switzerland Company Search Scraper question, comparison rule, or configuration before expanding the Zefix Switzerland Company Search Scraper run.
Use case 2: Compliance monitoring
Outcome: track SOGC/SHAB publications (director changes, capital changes, liquidations) for a watchlist of companies.
Question to answer: Looking only at confirmed differences, which ones are worth a response and which are just formatting noise?
Configure: Start with shabPublicationLimit (How many of the most recent SOGC/SHAB (Swiss Official Gazette of Commerce) publications to include per company, when full details are fetched. Only applies to records with detail data (byUid, byEhraid, or search with includeFullDetails=true).), includeFullDetails (Fetch the full detail record (address, purpose, auditors, branches, SOGC/SHAB publication history) for each matched company. Slower (1 extra request per result) but much richer output. byUid and byEhraid modes always return full details.), statuses (Restrict search results to one or more registration statuses. Empty = no filter. Note: Zefix's name-search index only covers active (EXISTIEREND) and in-liquidation (INAUFLOESUNG) companies - deleted (GELOESCHT) companies never appear via name search and can only be retrieved directly via mode=byUid or mode=byEhraid.). Use the narrowest Zefix Switzerland Company Search Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Zefix Switzerland Company Search Scraper outcome.
Working method: Store every run under its collection date, key records by a durable identifier rather than position or display text, and only escalate a difference once it has been confirmed against two consecutive runs.
Deliverable: Create a monitoring log that pairs every flagged change with the two runs it was confirmed across. Include the Zefix Switzerland Company Search Scraper source identifier and the collected fields behind every Zefix Switzerland Company Search Scraper decision.
Stop condition: Pause when records cannot be matched reliably over time, collection scope changed between runs, or missing data looks like a real-world change. Fix the Zefix Switzerland Company Search Scraper question, comparison rule, or configuration before expanding the Zefix Switzerland Company Search Scraper run.
Use case 3: M&A / corporate research
Outcome: trace merger and predecessor-company history (hasTakenOver / wasTakenOverBy / oldNames).
Question to answer: Which side-by-side comparisons hold up once outliers are set aside, and which depend entirely on them?
Configure: Start with includeFullDetails (Fetch the full detail record (address, purpose, auditors, branches, SOGC/SHAB publication history) for each matched company. Slower (1 extra request per result) but much richer output. byUid and byEhraid modes always return full details.), searchQuery (Free-text company name query.), searchType (How the company name query is matched.). Use the narrowest Zefix Switzerland Company Search Scraper values that represent the real task, keep the first result set small, and record why each selected input matters to the Zefix Switzerland Company Search Scraper outcome.
Working method: Set the comparison rule before seeing the results, group records against that rule rather than after the fact, and treat any record that resists grouping as information, not noise to discard.
Deliverable: Create a comparison worksheet showing cohort membership, the compared fields side by side, and any record that did not fit. Include the Zefix Switzerland Company Search Scraper source identifier and the collected fields behind every Zefix Switzerland Company Search Scraper decision.
Stop condition: Pause when the cohorts are structurally different, coverage is uneven, or the ranking depends mainly on missing values. Fix the Zefix Switzerland Company Search Scraper question, comparison rule, or configuration before expanding the Zefix Switzerland Company Search Scraper run.
Step-by-step workflow for compliance analysts
To establish a secure, automated verification process, follow this structured, three-step methodology:
- Define the target parameters: Select your lookup parameters and define your target audience's decision rules. If you are verifying active Swiss corporations, configure the scraper inputs with
legalFormIdsset to["3"](Corporation / Ltd) andcantonsset to your target cantons (e.g.,["ZH"]for Zürich). Setstatusesto["EXISTIEREND"]to exclude inactive entities. - Execute a validation batch: Run a small-scale scrape with a low
maxItemsvalue (such as 10 or 20) to check data structure and completeness. Examine the output fields (likelegalSeat,purpose, andaddress) to confirm that the retrieved data directly answers your compliance checklist. - Isolate and handle missing fields: Identify omitted fields within the payload. Because the scraper omits empty fields rather than returning placeholder strings, configure your processing script to treat missing fields as null values instead of applying speculative default values. Verify that your system separates editorial ratings from raw registry data before saving the record.
Standard input configurations
The scraper accepts the following parameters to customize its output behavior:
mode(string): The retrieval method to execute. Options include"search"(by company name),"byUid"(exact lookup by Swiss UID/CHE number), and"byEhraid"(lookup by internal Zefix ID).searchQuery(string): The free-text company name to look up when operating in search mode.searchType(string): The match precision used for name lookups. Options are"contains","starts", and"exact".uids(array): An array of Swiss business identification numbers, formatted asCHE-191.546.434orCHE191546434.ehraids(array): An array of Zefix internal firm IDs (FCRO-IDs), e.g.,1009345.legalFormIds(array): Limits search results to specific legal entities. It supports 19 legal forms, including Sole Proprietorship, Ltd, and LLC.cantons(array): Restricts searches to one or more of Switzerland's 26 cantons, such as AG (Aargau), BE (Bern), or ZH (Zürich).statuses(array): Filters search results to"EXISTIEREND"(Active),"GELOESCHT"(Deleted), or"IN_AUFLOESUNG"(In liquidation).legalSeatQuery(string): Accent-insensitive municipality query to filter companies by registered seat.includeFullDetails(boolean): Toggles deep detail extraction (address, purpose, auditors, SOGC/SHAB history) for search results.shabPublicationLimit(integer): Hard cap on the number of SOGC/SHAB publications retrieved per company record (1 to 200).maxItems(integer): The maximum number of records emitted during a single search run.
Frequently asked questions
What is Zefix?
Zefix is the Swiss Central Business Names Index. It is the public, canonical index of every enterprise registered across the 26 cantonal commercial registers, managed by the Federal Commercial Registry Office (FCRO).
How are deleted companies handled by the scraper?
Zefix's name-search index only lists active and in-liquidation companies. Deleted companies (marked as GELOESCHT) will not appear in results when using mode="search". To extract deleted companies, you must retrieve them directly using mode="byUid" or mode="byEhraid".
Why are some search filters applied client-side?
The upstream search endpoint maintained by Zefix does not honor server-side parameters for cantons, legal forms, or statuses. The scraper retrieves the matching name records and filters them locally, ensuring the returned dataset matches your exact filter choices.
What is the difference between a UID and an EHRAID?
The UID (formatted as CHE-123.456.789) is the official business identification number used by federal agencies in Switzerland. The EHRAID (or FCRO-ID) is Zefix's internal database key. While UIDs can occasionally transition between entities during historical mergers, the EHRAID is a unique and permanent identifier for a specific registry record.
Are company purposes translated into English?
No. The business purpose field contains the official text submitted to the commercial registry, preserved in the original registered language (German, French, or Italian).
Resources
● Featured actors
Zefix Switzerland Company Search Scraper
Search zefix.ch - the Swiss Central Business Names Index (Zentraler Firmenindex). Find companies by name, UID/CHE number, or FCRO-ID, and get legal form, registered address, canton, status, SOGC/SHAB publication history, auditors, branches, and merger history.
Run on Apify ↗