Map Any Swiss Corporate Network in 5 Lines of Python
Map Any Swiss Corporate Network in 5 Lines of Python
Swiss corporate structures are famously complex. A single holding company can sit atop dozens of subsidiaries, share board members with competitors, and maintain signing-authority chains that span cantons. Understanding these networks used to require weeks of manual registry research. With the VynCo API, you can map them in seconds.
The 5-Line Example
from vynco import VynCo
client = VynCo(api_key="your-key")
graph = client.graph.get(uid="CHE-123.456.789")
print(f"{graph.company_name}: {len(graph.connections)} connections")
for conn in graph.connections:
print(f" -> {conn.target_name} ({conn.relationship_type})")
That is all it takes to pull the full corporate network for any Swiss company. The response includes board overlaps, subsidiary links, and ownership edges, each annotated with relationship type and strength.
Board Members and Signing Authority
The board_members() method returns every officer, director, and authorized signatory, along with their signing authority classification.
members = client.graph.board_members(uid="CHE-123.456.789")
for m in members:
print(f"{m.name} | {m.function} | {m.signing_authority}")
Signing authority matters for compliance. You can instantly see who can bind the company to contracts and whether authority is individual or collective.
Hierarchy: Parents, Subsidiaries, and Shared People
The hierarchy() endpoint reveals the full corporate tree.
tree = client.graph.hierarchy(uid="CHE-123.456.789")
print(f"Parent: {tree.parent.name if tree.parent else 'None'}")
print(f"Subsidiaries: {len(tree.subsidiaries)}")
for sub in tree.subsidiaries:
print(f" {sub.name} (shared persons: {sub.shared_person_count})")
The shared_person_count field is especially useful. A high count signals tight operational integration between entities; a zero count may indicate a purely financial holding.
Filter Relationships by Type
Not all connections are equal. Use relationships() to filter by type: board_overlap, subsidiary, ownership, or auditor_shared.
overlaps = client.graph.relationships(
uid="CHE-123.456.789",
relationship_type="board_overlap"
)
print(f"Board overlaps: {len(overlaps)}")
for o in overlaps:
print(f" {o.target_name}: {o.shared_persons} shared directors")
This is powerful for conflict-of-interest screening. If a vendor shares three board members with your client, that is worth knowing before signing a contract.
Export to GraphML or GEXF
For deeper analysis in Gephi, NetworkX, or Neo4j, export the entire graph in standard formats.
# Export as GraphML for Gephi
graphml = client.graph.export(uid="CHE-123.456.789", format="graphml")
with open("network.graphml", "w") as f:
f.write(graphml)
# Export as GEXF for dynamic visualization
gexf = client.graph.export(uid="CHE-123.456.789", format="gexf")
with open("network.gexf", "w") as f:
f.write(gexf)
GraphML preserves all node and edge attributes. GEXF adds support for temporal slicing, so you can animate how a corporate network evolved over time.
Real-World Use Cases
- Due diligence: Map the full network of an acquisition target before signing
- Compliance: Identify board overlaps that create conflicts of interest
- Investigative journalism: Trace ownership chains through holding structures
- Academic research: Study Swiss corporate governance patterns at scale
The full SDK reference and more examples are available in the VynCo documentation.
Ready to map Swiss corporate networks? Start your free trial and get 100 API credits to explore the graph endpoints today.