vynco
Rust SDK for the VynCo Swiss Corporate Intelligence API.
Access 320,000+ Swiss companies from the Zefix commercial registry with full-text search, change tracking, relationship mapping, AI-generated dossiers, and advanced analytics.
Installation
[]
= "1.0"
For the synchronous (blocking) client:
[]
= { = "1.0", = ["blocking"] }
Quick Start
use ;
async
Blocking Client
use Client;
API Coverage
14 resource modules covering 52 endpoints:
| Resource | Methods | Credits |
|---|---|---|
companies() |
list, get, count, statistics, search, batch, compare |
1-5 |
changes() |
list, by_company, statistics, by_sogc, review, batch |
0-2 |
persons() |
list, get, roles, connections, board_members, network_stats |
3-10 |
dossiers() |
list, get, generate, statistics |
0-100 |
relationships() |
for_company, hierarchy |
10 |
news() |
for_company, recent |
1-2 |
reports() |
for_company |
5 |
analytics() |
cluster, anomalies, cohorts, cantons, auditors, rfm_segments, velocity |
3-25 |
watches() |
list, create, remove, notifications |
0 |
api_keys() |
list, create, revoke |
0 |
credits() |
balance, usage, history |
0 |
billing() |
create_checkout, create_portal |
0 |
teams() |
me, create, members, invite_member, update_member_role, remove_member, billing_summary |
0 |
health() |
check |
0 |
Response Metadata
Every response includes header metadata for credit tracking and rate limiting:
let resp = client.companies.get.await?;
println!; // X-Request-Id
println!; // X-Credits-Used
println!; // X-Credits-Remaining
println!; // X-Rate-Limit-Limit
println!; // X-RateLimit-Remaining
println!; // X-RateLimit-Reset
println!; // X-Data-Source
Configuration
use Duration;
let client = builder
.base_url // default
.timeout // default: 30s
.max_retries // default: 2
.build?;
The client automatically retries on HTTP 429 (rate limited) and 5xx (server error) with
exponential backoff (500ms x 2^attempt). It respects the Retry-After header when present.
Error Handling
All API errors are mapped to typed variants:
use VyncoError;
match client.companies.get.await
Error bodies follow RFC 7807 Problem Details with
error_type, title, detail, status, and message fields.
Feature Flags
| Feature | Default | Description |
|---|---|---|
rustls-tls |
Yes | Use rustls for TLS (no OpenSSL dependency) |
native-tls |
No | Use the platform's native TLS stack |
blocking |
No | Enable the synchronous blocking client |
Minimum Supported Rust Version
Rust 1.83 or later.
License
Apache-2.0