Quickstart Guide
Search Swiss companies via the VynCo API in under five minutes
Official SDKs
VynCo publishes first-party client libraries for four languages. All SDKs are open source (Apache-2.0 or MIT) and published to their respective package registries.
Sign Up and Get Your API Key
Create a free VynCo account — no credit card required. Then navigate to the API Keys page in your dashboard and create a new key. The Free tier includes 60 search/h and 60 standard/h to explore the API at no cost.
vc_live_*Counts against your tier rate limits
vc_test_*Free testing, limited results
Make Your First Call
Use GET /companies to search the Zefix registry. Pass a company name in the search parameter. Each lookup counts as one search_read request against your rate limit.
curl "https://vynco.ch/api/v1/companies?search=Nestl%C3%A9&pageSize=5" \ -H "Authorization: Bearer vc_live_abc123..."Search Swiss Companies with Filters
Narrow results by canton and changed_since timestamp. Combine multiple filters in a single request.
# Filter by cantoncurl "https://vynco.ch/api/v1/companies?canton=ZH&pageSize=10" \ -H "Authorization: Bearer vc_live_abc123..."# Filter by canton and changed_sincecurl "https://vynco.ch/api/v1/companies?canton=GE&changed_since=2025-01-01T00:00:00Z" \ -H "Authorization: Bearer vc_live_abc123..."Available Filter Parameters
searchCompany name (full-text, diacritics-aware)
canton2-letter code: ZH, GE, BE, VD, …
changed_sinceISO 8601 timestamp (e.g. 2025-01-01T00:00:00Z)
page / pageSizePagination (default pageSize: 20)
View an Enriched Company Profile
Fetch the full profile of a specific company using its UID (format: CHE-xxx.xxx.xxx). Enriched profiles include share capital, industry, and auditor category — available on the Starter tier and above.
curl "https://vynco.ch/api/v1/companies/CHE-109.322.551" \ -H "Authorization: Bearer vc_live_abc123..."{ "uid": "CHE-109.322.551", "name": "Nestlé S.A.", "canton": "VD", "status": "Active", "legalForm": "Aktiengesellschaft", "shareCapital": 322000000, "currency": "CHF", "industry": "Food Products", "auditorName": "KPMG AG", "auditorCategory": "state-supervised", "enrichmentLevel": "Enriched", "updatedAt": "2026-04-12T05:01:50Z"}uidSwiss company identifier in CHE-xxx.xxx.xxx format, sourced from Zefix.
legalFormLegal entity type: AG (stock company), GmbH (LLC), Verein (association), etc.
statusACTIVE, DISSOLVED, or IN_LIQUIDATION.
shareCapitalRegistered share capital in CHF. Available on enriched profiles — Starter tier and above.
Check Your Rate-Limit Usage
Inspect every per-group rate-limit bucket for your API key with GET /v1/usage/current. This call does not consume a request from any other quota. Every API response also returns x-ratelimit-* headers so you can monitor remaining capacity per call.
curl "https://vynco.ch/api/v1/usage/current" \ -H "Authorization: Bearer vc_live_abc123..."{ "tier": "starter", "groups": [ { "group": "search_read", "used": 412, "limit": 600, "window": "hour", "resetSeconds": 1842 }, { "group": "standard_read", "used": 86, "limit": 600, "window": "hour", "resetSeconds": 1842 }, { "group": "analytics_read", "used": 5, "limit": 60, "window": "hour", "resetSeconds": 1842 }, { "group": "methodology_read", "used": null, "limit": null, "window": "hour", "resetSeconds": 1842 }, { "group": "expensive_ai", "used": null, "limit": null, "window": "day", "resetSeconds": 51234 }, { "group": "bulk", "used": null, "limit": null, "window": "day", "resetSeconds": 51234 } ]}Response Headers on Every Call
Every authenticated response includes the following rate-limit headers, identifying which group was charged, the window, the limit, the remaining count, and the reset timestamp.
HTTP/2 200content-type: application/jsonx-ratelimit-group: search_readx-ratelimit-window: hourx-ratelimit-limit: 600x-ratelimit-remaining: 187x-ratelimit-reset: 1746527200x-request-id: req_01HZJ8K3...Try the Analytics Endpoints
Once you have data flowing, unlock deeper insights with the analytics endpoints. Run POST /analytics/cluster for K-Means or GMM clustering, POST /analytics/anomalies for anomaly detection, or GET /analytics/cohorts for cohort breakdowns by canton, legal form, founding year, or auditor. These calls count against analytics_read and require the Starter tier or above.
# Run K-Means clustering on Zurich companiescurl -X POST "https://vynco.ch/api/v1/analytics/cluster" \ -H "Authorization: Bearer vc_live_abc123..." \ -H "Content-Type: application/json" \ -d '{"algorithm":"kmeans","k":5,"canton":"ZH"}'# Cohort analysis grouped by legal formcurl "https://vynco.ch/api/v1/analytics/cohorts?groupBy=legal_form" \ -H "Authorization: Bearer vc_live_abc123..."Screen an Entity
Use POST /v1/screening to screen an entity against SECO sanctions, OpenSanctions (PEP lists), and FINMA regulated entities in a single request. The response includes a risk level and any matched hits.
# Screen an entity against SECO, OpenSanctions, and FINMAcurl -X POST "https://vynco.ch/api/v1/screening" \ -H "Authorization: Bearer vc_live_abc123..." \ -H "Content-Type: application/json" \ -d '{"name":"Nestlé SA","sources":["seco","finma","opensanctions"]}'{ "queryName": "Nestlé SA", "queryUid": null, "screenedAt": "2026-03-30T10:00:00Z", "hitCount": 0, "riskLevel": "clear", "hits": [], "sourcesChecked": ["seco", "finma", "opensanctions"]}Check Auditor Tenures
Use GET /v1/auditor-tenures to list companies with long auditor tenures. Set min_years=10 to find ISS rotation candidates. This endpoint is public and does not require authentication.
# Find companies with auditor tenures >= 10 years (ISS rotation candidates)# This endpoint is public — no authentication requiredcurl "https://vynco.ch/api/v1/auditor-tenures?min_years=10&canton=ZH&pageSize=10"{ "items": [ { "companyUid": "CHE-105.805.080", "companyName": "Nestlé SA", "auditorName": "KPMG AG", "appointedAt": "2004-01-15", "tenureYears": 22.2, "isCurrent": true, "source": "sogc" } ], "total": 206, "page": 1, "pageSize": 10}Self-Discover with the OpenAPI Spec
The full OpenAPI 3.0 specification is available at GET /api/v1/openapi.json — no authentication required. Use it to generate typed SDKs, import into Postman or Insomnia, or browse with Swagger UI. All endpoints, parameters, response schemas, and rate-limit groups are machine-readable.
# Download the full OpenAPI 3.0 spec (no auth required)curl "https://api.vynco.ch/api/v1/openapi.json" -o openapi.jsonNext Steps
You have made your first VynCo API calls. Explore these resources to go further.