Switzerland Company Registry Scraper - Zefix UID & CHE Lookup
Pricing
from $11.54 / 1,000 results
Switzerland Company Registry Scraper - Zefix UID & CHE Lookup
Search the Swiss commercial register (Zefix) by company name, UID or CHE number, or browse a whole canton. Get company data: legal form, address, canton, status, purpose, audit firm, SOGC/SHAB publications and mutations. No API key. JSON, CSV, Excel.
Pricing
from $11.54 / 1,000 results
Rating
0.0
(0)
Developer
Scrapers Lat
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Switzerland Company Registry Scraper (Zefix, UID, CHE)
The most complete Switzerland company registry scraper available. Search the Swiss commercial register (Zefix) by company name, UID lookup or CHE number, or browse every company in a canton, and get one clean, structured record per company. No API key, no login, no account on any registry. Export to JSON, CSV or Excel.
Ideal for KYB and onboarding, B2B lead generation, due diligence, sanctions and adverse-media screening, market mapping and CRM enrichment across Switzerland.
Here is one real result, with the fields the actor returns (trimmed for readability):
{"uid": "CHE101329561","uidFormatted": "CHE-101.329.561","chid": "CH27030046464","chidFormatted": "CH-270-3004646-4","ehraid": 415520,"name": "UBS AG","legalFormId": 3,"legalForm": "Corporation","status": "EXISTIEREND","statusLabel": "Active","deleted": false,"deleteDate": null,"legalSeat": "Basel","legalSeatId": 2701,"canton": "BS","registryOffice": "Handelsregisteramt des Kantons Basel-Stadt","registerOfficeId": 270,"lastPublicationDate": "2026-07-31","rabId": null,"cantonalExcerptUrl": "https://bs.chregister.ch/cr-portal/auszug/auszug.xhtml?uid=CHE-101.329.561","zefixUrl": "https://www.zefix.ch/en/search/entity/list/firm/415520","address": {"organisation": "UBS AG","careOf": null,"street": "Aeschenvorstadt","houseNumber": "1","addon": null,"poBox": null,"postalCode": "4051","town": "Basel","country": "CH"},"purpose": "Zweck der Gesellschaft ist der Betrieb einer Bank. [trimmed]","alternativeNames": ["UBS Inc.", "UBS SA"],"oldNames": [{ "name": "SBC AG", "translations": ["SBC Ltd", "SBC SA"] }],"auditFirms": [{ "name": "Ernst & Young AG", "uidFormatted": "CHE-105.932.265", "legalForm": "Corporation", "legalSeat": "Basel", "canton": "BS", "status": "EXISTIEREND" }],"hasTakenOver": [{ "name": "Swiss Company for Investment Securities", "uidFormatted": "CHE-103.001.798", "legalSeat": "Basel", "status": "GELOESCHT" }],"publications": [{"date": "2026-07-31","canton": "BS","journalDate": "2026-07-28","journalId": 5318,"shabId": 1006721404,"mutationTypes": ["aenderungorgane"],"mutationTypeIds": [17],"message": "Berichtigung des im SHAB vom 16.07.2026 publizierten TR-Eintrags [trimmed]"}],"scrapedAt": "2026-09-06T00:00:00.000Z","error": null}
Note:
purpose,publicationsand the related-company arrays are trimmed above for readability; the real record returns the full statute of purpose and the complete lists. Every value shown is exactly as returned.
📥 Input · 📤 Output · 💰 Pricing · ▶️ Examples
Table of contents
- What it does
- Why this scraper
- Quickstart
- Input reference
- Output reference
- How we compare
- Run via API and CLI
- Fetch results
- Billing and limits
- FAQ and troubleshooting
What it does
The actor searches the Swiss central company index (Zefix), the official index of every company entered in the 26 cantonal commercial registers, and writes one normalized record per company to the run's dataset. It supports three ways to look up companies:
- Name search: any text is matched against company names across all cantons.
- UID / CHE lookup: a UID such as
CHE-105.909.036(orCHE105909036) is resolved directly. Pass many at once with theuidslist for a bulk lookup. - Canton or legal-form browse: leave the query empty and set a
cantonand/orlegalFormfilter to walk every matching company, with no name needed.
With withDetails on (default), it fetches the full registered record for each company: registered address, statute of purpose, alternative and former names, audit firm, related companies (branches, main offices, merger counterparties) and the full list of SOGC/SHAB publications and mutations. Missing source values are returned as null.
Why this scraper
- Complete coverage. Every field Zefix exposes, including UID and CHID identifiers, EHRAID, legal form, registered seat and canton, full address, statute of purpose, alternative and former names, audit firm with its own UID, related-company links and the whole publication and mutation history.
- Three lookup modes. Name, UID/CHE (single or bulk list) and canton/legal-form browse, all in one actor.
- KYB ready. Merger and takeover relationships (
hasTakenOver,wasTakenOverBy), branch and main offices, and audit-firm links let you map corporate structures. - Filters. Restrict by canton, legal form and active vs struck-off companies.
- Honest fields. Values absent at the source are returned as
null, never invented. - No key, no login. Public data, exported to JSON, CSV or Excel.
Quickstart
Open the actor, paste this into the input, and press Run. It returns up to 10 active companies matching the name, each with its full registered record.
{"query": "Nestlé","maxCompanies": 10,"activeOnly": true,"withDetails": true}
Look up one company by UID:
{ "query": "CHE-105.909.036" }
Bulk UID lookup:
{ "uids": ["CHE-105.909.036", "CHE108731444", "CHE101329561"] }
Browse every corporation in a canton (no name needed):
{ "canton": "ZG", "legalForm": "3", "maxCompanies": 500 }
query, uids and the canton/legalForm filters are interchangeable entry points: provide at least one of them.
Input reference
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
query | string | no | Nestlé | A company name (or part of it) to search, or a Swiss UID (for example CHE-105.909.036 or CHE105909036) to look up directly. |
uids | string[] | no | (empty) | A list of UIDs (CHE numbers) to look up in one run. Overrides query when provided. |
maxCompanies | integer | no | 10 | Maximum number of company records to collect. Range 1 to 5000. |
canton | enum | no | (any) | Restrict to, or browse, one Swiss canton (for example ZH, VD, GE). Empty covers all of Switzerland. |
legalForm | enum | no | (any) | Restrict to, or browse, one legal form (for example 3 Corporation, 4 Limited liability company). |
activeOnly | boolean | no | true | Only companies still on the register. Turn off to also include deleted (struck off) companies. |
withDetails | boolean | no | true | Fetch the full record per company: address, purpose, alternative and former names, audit firm, related companies and registry publications and mutations. |
Provide at least one of query, uids, canton or legalForm. Filters combine with logical AND on a name search.
Output reference
One dataset item per company. Types: string, integer, boolean, object, object[], string[], or null when the source value is absent. Fields marked (details) require withDetails.
| Field | Type | Description |
|---|---|---|
uid | string | UID without separators (for example CHE101329561). |
uidFormatted | string | Formatted UID (for example CHE-101.329.561). |
chid | string | Commercial register ID without separators. |
chidFormatted | string | Formatted commercial register ID. |
ehraid | integer | Zefix internal entity ID. |
name | string | Registered company name. |
legalFormId | integer | Legal form ID. |
legalForm | string | Legal form label. |
status | string | Raw registry status (for example EXISTIEREND). |
statusLabel | string | Status label in English (for example Active, In liquidation, Deleted). |
deleted | boolean | Whether the company is struck off. |
deleteDate | string | Deletion date (YYYY-MM-DD), or null. |
legalSeat | string | Registered legal seat (municipality). |
legalSeatId | integer | Community ID of the legal seat. |
canton | string | Canton code. |
registryOffice | string | Cantonal registry office name. |
registerOfficeId | integer | Registry office ID. |
lastPublicationDate | string | Date of the most recent registry publication. |
rabId | integer | Audit-oversight (RAB) ID, when the entity is a licensed audit firm. |
cantonalExcerptUrl | string | URL to the official cantonal register excerpt. |
zefixUrl | string | Zefix entity page URL. |
address | object | Registered address (organisation, street, houseNumber, postalCode, town, country, and more) (details). |
purpose | string | Full statute of purpose text (details). |
alternativeNames | string[] | Alternative registered names (details). |
oldNames | object[] | Former names, each { name, translations } (details). |
auditFirms | object[] | Audit firms with their own UID, legal form, seat, canton and status (details). |
branchOffices | object[] | Branch offices, fully identified (details). |
mainOffices | object[] | Main offices for a branch (details). |
furtherMainOffices | object[] | Further main offices (details). |
hasTakenOver | object[] | Companies this entity absorbed via merger (details). |
wasTakenOverBy | object[] | Company that absorbed this entity (details). |
auditFirmFor | object[] | Companies this entity audits (details). |
publications | object[] | SOGC/SHAB publications and mutations, each with date, canton, journal, SHAB id, mutation types and the message text (details). |
scrapedAt | string | ISO 8601 timestamp of when the record was collected. |
error | string | null on success. On a failed run, a single item with a populated error field is written instead. |
Note on capital and VAT: the Swiss central index does not expose structured share-capital or VAT/MWST fields; where capital is announced it appears inside the free-text publications message. Those fields are therefore not shipped as separate columns.
How we compare
| Capability | This actor | Typical Zefix scrapers |
|---|---|---|
| Name search | Yes | Yes |
| UID / CHE lookup | Yes | Yes |
| Bulk UID list in one run | Yes | Rare |
| Canton / legal-form browse (no name) | Yes | Some |
| Active vs struck-off filter | Yes | Some |
| UID + CHID + EHRAID identifiers | Yes | Partial |
| Full statute of purpose | Yes | Yes |
| Audit firm with its own UID | Yes | Partial |
| Merger / takeover relationships | Yes | Rare |
| Branch and main offices | Yes | Rare |
| SOGC/SHAB publications and mutations | Yes | Partial |
| Cantonal excerpt + Zefix links | Yes | Some |
Honest null for absent values | Yes | Varies |
| JSON, CSV, Excel export | Yes | Yes |
We accept every input the common Zefix scrapers accept (name, UID, canton) and add a bulk UID list and a canton/legal-form browse, and we return every field they return plus merger relationships, branch and main offices, enriched audit-firm records and the full publication history.
Run via API and CLI
Start a run and wait for it to finish, then read the dataset. Replace <TOKEN> with your Apify API token.
Run synchronously and get dataset items in one call:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~switzerland-companies-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"query":"Nestlé","maxCompanies":10,"withDetails":true}'
Start a run asynchronously:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~switzerland-companies-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"query":"CHE-105.909.036","withDetails":true}'
Apify CLI:
apify call scrapers_lat/switzerland-companies-scraper \--input '{"canton":"ZH","legalForm":"3","maxCompanies":50}'
Fetch results
Every run writes to a dataset. Fetch items as JSON, CSV, or Excel by changing format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginate large datasetscurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> is returned as defaultDatasetId in the run object. Use offset and limit to page through large result sets. clean=true drops empty and internal fields.
Billing and limits
- Pay per result. You are charged per company returned (
resultevent). See the pricing tab for the current per-result price. - Detail add-on. When
withDetailsis on, each company whose full record is fetched charges a smalldetailsevent on top of the result price. TurnwithDetailsoff to pay for the lighter search fields only. - No charge on failure. If a run errors, the actor writes a single item with a populated
errorfield and does not charge for it. Empty runs cost nothing. - Spend cap respected. Set
maxTotalChargeUsdon the run; once reached, the actor stops emitting and charging further billable results and add-on events. - Free Apify plans are capped at 10 companies per run. Upgrade for higher
maxCompanies.
FAQ and troubleshooting
A run returned 0 records. Why?
The name or UID matched nothing, or your canton / legalForm filter excluded every match. Loosen the filters or check the UID. Zero-result runs are not charged.
How do I look up one company by UID or CHE number?
Put the UID in query, for example CHE-105.909.036 or CHE105909036. It is resolved directly without a name search. For many companies, use the uids list.
Can I list every company in a canton?
Yes. Leave query empty, set canton (and optionally legalForm), and raise maxCompanies. The actor browses the register without needing a name.
How do I include struck-off companies?
Turn activeOnly off. Deleted companies are then included, with deleted true and a deleteDate.
Do you return share capital or VAT number?
The Swiss central index does not expose these as structured fields. Where capital is announced, it appears inside the free-text publications message rather than a dedicated column.
Is this an official Zefix or federal tool? No. This actor is independent and has no affiliation with Zefix or the Swiss Federal Office of Justice. It reads only data that is publicly available in the Swiss commercial register.
Related scrapers
- Switzerland Jobs Scraper: Swiss job listings.
- Norway Company Registry Scraper: Brreg company records.
- Taiwan Business Registry Scraper: Taiwan company registry records.
More scrapers at scrapers.lat
Built and maintained by scrapers.lat, where we publish scrapers for company registries, government data, finance, and e-commerce worldwide. Browse the catalog or request a custom scraper at scrapers.lat.
Independent tool, not affiliated with Zefix or the Swiss Federal Office of Justice. Accesses only publicly available commercial register data.
Switzerland Company Registry Scraper (Zefix, UID, CHE)
El scraper del registro de empresas de Suiza mas completo disponible. Busca en el registro mercantil suizo (Zefix) por nombre de empresa, busqueda de UID o numero CHE, o recorre todas las empresas de un canton, y obten un registro limpio y estructurado por empresa. Sin clave de API, sin inicio de sesion, sin cuenta en ningun registro. Exporta a JSON, CSV o Excel.
Ideal para KYB y onboarding, generacion de leads B2B, due diligence, screening de sanciones y adverse media, mapeo de mercado y enriquecimiento de CRM en Suiza.
Aqui tienes un resultado real, con los campos que devuelve el actor (recortado para facilitar la lectura):
{"uid": "CHE101329561","uidFormatted": "CHE-101.329.561","chid": "CH27030046464","chidFormatted": "CH-270-3004646-4","ehraid": 415520,"name": "UBS AG","legalFormId": 3,"legalForm": "Corporation","status": "EXISTIEREND","statusLabel": "Active","deleted": false,"deleteDate": null,"legalSeat": "Basel","legalSeatId": 2701,"canton": "BS","registryOffice": "Handelsregisteramt des Kantons Basel-Stadt","registerOfficeId": 270,"lastPublicationDate": "2026-07-31","rabId": null,"cantonalExcerptUrl": "https://bs.chregister.ch/cr-portal/auszug/auszug.xhtml?uid=CHE-101.329.561","zefixUrl": "https://www.zefix.ch/en/search/entity/list/firm/415520","address": {"organisation": "UBS AG","careOf": null,"street": "Aeschenvorstadt","houseNumber": "1","addon": null,"poBox": null,"postalCode": "4051","town": "Basel","country": "CH"},"purpose": "Zweck der Gesellschaft ist der Betrieb einer Bank. [recortado]","alternativeNames": ["UBS Inc.", "UBS SA"],"oldNames": [{ "name": "SBC AG", "translations": ["SBC Ltd", "SBC SA"] }],"auditFirms": [{ "name": "Ernst & Young AG", "uidFormatted": "CHE-105.932.265", "legalForm": "Corporation", "legalSeat": "Basel", "canton": "BS", "status": "EXISTIEREND" }],"hasTakenOver": [{ "name": "Swiss Company for Investment Securities", "uidFormatted": "CHE-103.001.798", "legalSeat": "Basel", "status": "GELOESCHT" }],"publications": [{"date": "2026-07-31","canton": "BS","journalDate": "2026-07-28","journalId": 5318,"shabId": 1006721404,"mutationTypes": ["aenderungorgane"],"mutationTypeIds": [17],"message": "Berichtigung des im SHAB vom 16.07.2026 publizierten TR-Eintrags [recortado]"}],"scrapedAt": "2026-09-06T00:00:00.000Z","error": null}
Nota:
purpose,publicationsy las listas de empresas relacionadas aparecen recortadas arriba para facilitar la lectura; el registro real devuelve el objeto social completo y las listas completas. Cada valor mostrado es exactamente el que se devuelve.
📥 Entrada · 📤 Salida · 💰 Precios · ▶️ Ejemplos
Tabla de contenidos
- Que hace
- Por que este scraper
- Inicio rapido
- Referencia de entrada
- Referencia de salida
- Como nos comparamos
- Ejecutar via API y CLI
- Obtener resultados
- Facturacion y limites
- Preguntas frecuentes
Que hace
El actor busca en el indice central de empresas de Suiza (Zefix), el indice oficial de todas las empresas inscritas en los 26 registros mercantiles cantonales, y escribe un registro normalizado por empresa en el dataset de la ejecucion. Admite tres formas de buscar empresas:
- Busqueda por nombre: cualquier texto se coteja con los nombres de empresa de todos los cantones.
- Busqueda por UID / CHE: un UID como
CHE-105.909.036(oCHE105909036) se resuelve directamente. Pasa muchos a la vez con la listauidspara una consulta masiva. - Recorrido por canton o forma juridica: deja la consulta vacia y define un filtro
cantonolegalFormpara recorrer todas las empresas que coincidan, sin necesidad de nombre.
Con withDetails activado (por defecto), obtiene el registro completo de cada empresa: direccion inscrita, objeto social, nombres alternativos y anteriores, sociedad de auditoria, empresas relacionadas (sucursales, sedes principales, contrapartes de fusion) y la lista completa de publicaciones y mutaciones de la SOGC/SHAB. Los valores ausentes en la fuente se devuelven como null.
Por que este scraper
- Cobertura completa. Todos los campos que Zefix expone, incluidos los identificadores UID y CHID, EHRAID, forma juridica, sede inscrita y canton, direccion completa, objeto social, nombres alternativos y anteriores, sociedad de auditoria con su propio UID, enlaces a empresas relacionadas y todo el historial de publicaciones y mutaciones.
- Tres modos de busqueda. Nombre, UID/CHE (individual o en lista masiva) y recorrido por canton o forma juridica, todo en un solo actor.
- Listo para KYB. Las relaciones de fusion y absorcion (
hasTakenOver,wasTakenOverBy), las sucursales y sedes principales y los enlaces a la sociedad de auditoria permiten mapear estructuras corporativas. - Filtros. Restringe por canton, forma juridica y empresas activas frente a canceladas.
- Campos honestos. Los valores ausentes en la fuente se devuelven como
null, nunca se inventan. - Sin clave, sin inicio de sesion. Datos publicos, exportados a JSON, CSV o Excel.
Inicio rapido
Abre el actor, pega esto en la entrada y pulsa Run. Devuelve hasta 10 empresas activas que coinciden con el nombre, cada una con su registro completo.
{"query": "Nestlé","maxCompanies": 10,"activeOnly": true,"withDetails": true}
Consulta una empresa por UID:
{ "query": "CHE-105.909.036" }
Consulta masiva de UID:
{ "uids": ["CHE-105.909.036", "CHE108731444", "CHE101329561"] }
Recorre todas las sociedades anonimas de un canton (sin nombre):
{ "canton": "ZG", "legalForm": "3", "maxCompanies": 500 }
query, uids y los filtros canton/legalForm son puntos de entrada intercambiables: proporciona al menos uno de ellos.
Referencia de entrada
| Campo | Tipo | Obligatorio | Por defecto | Descripcion |
|---|---|---|---|---|
query | string | no | Nestlé | Un nombre de empresa (o parte de el) a buscar, o un UID suizo (por ejemplo CHE-105.909.036 o CHE105909036) para consultar directamente. |
uids | string[] | no | (vacio) | Una lista de UID (numeros CHE) a consultar en una sola ejecucion. Sustituye a query cuando se proporciona. |
maxCompanies | integer | no | 10 | Numero maximo de registros de empresa a recopilar. Rango 1 a 5000. |
canton | enum | no | (cualquiera) | Restringe o recorre un canton suizo (por ejemplo ZH, VD, GE). Vacio abarca toda Suiza. |
legalForm | enum | no | (cualquiera) | Restringe o recorre una forma juridica (por ejemplo 3 Sociedad anonima, 4 Sociedad de responsabilidad limitada). |
activeOnly | boolean | no | true | Solo empresas aun en el registro. Desactivalo para incluir tambien las empresas canceladas (dadas de baja). |
withDetails | boolean | no | true | Obtiene el registro completo por empresa: direccion, objeto social, nombres alternativos y anteriores, sociedad de auditoria, empresas relacionadas y publicaciones y mutaciones del registro. |
Proporciona al menos uno de query, uids, canton o legalForm. Los filtros se combinan con AND logico en una busqueda por nombre.
Referencia de salida
Un elemento del dataset por empresa. Tipos: string, integer, boolean, object, object[], string[], o null cuando el valor de la fuente esta ausente. Los campos marcados (detalle) requieren withDetails.
| Campo | Tipo | Descripcion |
|---|---|---|
uid | string | UID sin separadores (por ejemplo CHE101329561). |
uidFormatted | string | UID formateado (por ejemplo CHE-101.329.561). |
chid | string | ID del registro mercantil sin separadores. |
chidFormatted | string | ID del registro mercantil formateado. |
ehraid | integer | ID interno de entidad de Zefix. |
name | string | Nombre inscrito de la empresa. |
legalFormId | integer | ID de la forma juridica. |
legalForm | string | Etiqueta de la forma juridica. |
status | string | Estado bruto del registro (por ejemplo EXISTIEREND). |
statusLabel | string | Etiqueta de estado en ingles (por ejemplo Active, In liquidation, Deleted). |
deleted | boolean | Si la empresa esta dada de baja. |
deleteDate | string | Fecha de baja (YYYY-MM-DD), o null. |
legalSeat | string | Sede legal inscrita (municipio). |
legalSeatId | integer | ID de la comunidad de la sede legal. |
canton | string | Codigo del canton. |
registryOffice | string | Nombre de la oficina cantonal del registro. |
registerOfficeId | integer | ID de la oficina del registro. |
lastPublicationDate | string | Fecha de la publicacion mas reciente del registro. |
rabId | integer | ID de la supervision de auditoria (RAB), cuando la entidad es una sociedad de auditoria autorizada. |
cantonalExcerptUrl | string | URL del extracto oficial del registro cantonal. |
zefixUrl | string | URL de la pagina de la entidad en Zefix. |
address | object | Direccion inscrita (organisation, street, houseNumber, postalCode, town, country, y mas) (detalle). |
purpose | string | Texto completo del objeto social (detalle). |
alternativeNames | string[] | Nombres inscritos alternativos (detalle). |
oldNames | object[] | Nombres anteriores, cada uno { name, translations } (detalle). |
auditFirms | object[] | Sociedades de auditoria con su propio UID, forma juridica, sede, canton y estado (detalle). |
branchOffices | object[] | Sucursales, plenamente identificadas (detalle). |
mainOffices | object[] | Sedes principales de una sucursal (detalle). |
furtherMainOffices | object[] | Otras sedes principales (detalle). |
hasTakenOver | object[] | Empresas que esta entidad absorbio por fusion (detalle). |
wasTakenOverBy | object[] | Empresa que absorbio a esta entidad (detalle). |
auditFirmFor | object[] | Empresas que esta entidad audita (detalle). |
publications | object[] | Publicaciones y mutaciones de la SOGC/SHAB, cada una con fecha, canton, diario, id SHAB, tipos de mutacion y el texto del mensaje (detalle). |
scrapedAt | string | Marca de tiempo ISO 8601 de cuando se recopilo el registro. |
error | string | null en caso de exito. Si una ejecucion falla, se escribe un solo elemento con el campo error poblado. |
Nota sobre capital y IVA: el indice central suizo no expone campos estructurados de capital social ni de IVA/MWST; cuando se anuncia el capital, aparece dentro del texto libre del mensaje de publications. Por eso esos campos no se entregan como columnas separadas.
Como nos comparamos
| Capacidad | Este actor | Scrapers de Zefix habituales |
|---|---|---|
| Busqueda por nombre | Si | Si |
| Busqueda por UID / CHE | Si | Si |
| Lista masiva de UID en una ejecucion | Si | Raro |
| Recorrido por canton / forma juridica (sin nombre) | Si | Algunos |
| Filtro activas vs canceladas | Si | Algunos |
| Identificadores UID + CHID + EHRAID | Si | Parcial |
| Objeto social completo | Si | Si |
| Sociedad de auditoria con su propio UID | Si | Parcial |
| Relaciones de fusion / absorcion | Si | Raro |
| Sucursales y sedes principales | Si | Raro |
| Publicaciones y mutaciones SOGC/SHAB | Si | Parcial |
| Enlaces al extracto cantonal + Zefix | Si | Algunos |
null honesto para valores ausentes | Si | Varia |
| Exportacion a JSON, CSV, Excel | Si | Si |
Aceptamos todas las entradas que aceptan los scrapers de Zefix habituales (nombre, UID, canton) y anadimos una lista masiva de UID y un recorrido por canton o forma juridica, y devolvemos todos los campos que ellos devuelven mas las relaciones de fusion, las sucursales y sedes principales, los registros enriquecidos de la sociedad de auditoria y el historial completo de publicaciones.
Ejecutar via API y CLI
Inicia una ejecucion y espera a que termine, luego lee el dataset. Sustituye <TOKEN> por tu token de la API de Apify.
Ejecuta de forma sincrona y obten los elementos del dataset en una sola llamada:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~switzerland-companies-scraper/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"query":"Nestlé","maxCompanies":10,"withDetails":true}'
Inicia una ejecucion de forma asincrona:
curl -X POST "https://api.apify.com/v2/acts/scrapers_lat~switzerland-companies-scraper/runs?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"query":"CHE-105.909.036","withDetails":true}'
Apify CLI:
apify call scrapers_lat/switzerland-companies-scraper \--input '{"canton":"ZH","legalForm":"3","maxCompanies":50}'
Obtener resultados
Cada ejecucion escribe en un dataset. Obten los elementos como JSON, CSV o Excel cambiando format:
# JSONcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=json"# CSVcurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&clean=true&format=csv"# Paginar datasets grandescurl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?token=<TOKEN>&offset=1000&limit=1000"
<DATASET_ID> se devuelve como defaultDatasetId en el objeto de la ejecucion. Usa offset y limit para paginar grandes conjuntos de resultados. clean=true descarta los campos vacios e internos.
Facturacion y limites
- Pago por resultado. Se te cobra por empresa devuelta (evento
result). Consulta la pestana de precios para el precio actual por resultado. - Complemento de detalle. Cuando
withDetailsesta activado, cada empresa cuyo registro completo se obtiene cobra un pequeno eventodetailssobre el precio del resultado. DesactivawithDetailspara pagar solo los campos ligeros de busqueda. - Sin cargo por fallo. Si una ejecucion falla, el actor escribe un solo elemento con el campo
errorpoblado y no cobra por el. Las ejecuciones vacias no cuestan nada. - Limite de gasto respetado. Define
maxTotalChargeUsden la ejecucion; una vez alcanzado, el actor deja de emitir y cobrar resultados y eventos facturables adicionales. - Los planes gratuitos de Apify estan limitados a 10 empresas por ejecucion. Actualiza para un
maxCompaniesmayor.
Preguntas frecuentes
Una ejecucion devolvio 0 registros. Por que?
El nombre o el UID no coincidio con nada, o tu filtro canton / legalForm excluyo todas las coincidencias. Relaja los filtros o revisa el UID. Las ejecuciones sin resultados no se cobran.
Como consulto una empresa por UID o numero CHE?
Pon el UID en query, por ejemplo CHE-105.909.036 o CHE105909036. Se resuelve directamente sin una busqueda por nombre. Para muchas empresas, usa la lista uids.
Puedo listar todas las empresas de un canton?
Si. Deja query vacio, define canton (y opcionalmente legalForm) y sube maxCompanies. El actor recorre el registro sin necesidad de un nombre.
Como incluyo empresas canceladas?
Desactiva activeOnly. Se incluyen entonces las empresas dadas de baja, con deleted en true y una deleteDate.
Devuelven el capital social o el numero de IVA?
El indice central suizo no expone estos datos como campos estructurados. Cuando se anuncia el capital, aparece dentro del texto libre del mensaje de publications y no en una columna dedicada.
Es una herramienta oficial de Zefix o federal? No. Este actor es independiente y no tiene afiliacion con Zefix ni con la Oficina Federal de Justicia de Suiza. Solo lee datos que estan disponibles publicamente en el registro mercantil suizo.
Otros scrapers
- Switzerland Jobs Scraper: ofertas de empleo suizas.
- Norway Company Registry Scraper: registros de empresas de Brreg.
- Taiwan Business Registry Scraper: registros del registro de empresas de Taiwan.
Mas scrapers en scrapers.lat
Creado y mantenido por scrapers.lat, donde publicamos scrapers de registros de empresas, datos gubernamentales, finanzas y comercio electronico de todo el mundo. Explora el catalogo o solicita un scraper a medida en scrapers.lat.
Herramienta independiente, sin afiliacion con Zefix ni con la Oficina Federal de Justicia de Suiza. Accede unicamente a datos del registro mercantil disponibles publicamente.
