Developers

Programmatic access

Three access layers are available for the five-company public preview dataset: CSV/JSON downloads, a local Python package and a Local MCP beta for compatible clients. All access is read-only and scoped to the published preview files.

Current access layers

CSV/JSON downloads

Available now

Static files for the five-company public preview dataset. Load them directly in Python, R, spreadsheets or data pipelines.

Python package

Available now

Local notebook and script access through PublicBetaDataset, with pandas DataFrames when pandas is installed.

Local MCP beta

Available now

Read-only tools for Claude Desktop and compatible MCP clients. Runs locally and reads the same public preview files.

Python package for the public preview dataset

Load structured financials, ratios, quality notes and sources in Python. Useful for notebooks, scripts and offline analysis.

from swiss_equity_data import PublicBetaDataset

data = PublicBetaDataset.load()

companies = data.get_companies()
sika = data.get_fundamentals("SIKA.SW")
coverage = data.get_reporting_coverage("BARN.SW")

comparison = data.compare_companies(
    ["SIKA.SW", "GEBN.SW"],
    metrics=["revenue", "ebit", "net_income"]
)

The package reads the five-company public preview dataset locally. It is not a live web API — all data is loaded from static JSON files. See the python_client/README.md file in the repository for installation and full usage.

Available functions

Function Description
get_companies() List all companies in the preview dataset
get_company_profile(ticker) Company metadata, sector, currencies, fiscal year-end
get_fundamentals(ticker) Annual financial rows (revenue, EBIT, net income, balance sheet, cash flow)
get_accounting_ratios(ticker) Margins, ROE, ROA, leverage ratios
get_valuation_ratios(ticker) P/E, EV/EBITDA, dividend yield where available
get_reporting_coverage(ticker?) Annual, Q1, H1 coverage status and next expected report
get_quality_summary(ticker?) Per-company quality status and flag counts
get_quality_notes(ticker?) Detailed documented data quality issues
get_sources(ticker?) Source references and retrieval dates
get_quarterly_updates(ticker?) Q1 updates where available
get_interim_financials(ticker?) H1 interim rows where available
compare_companies(tickers, metrics) Side-by-side comparison across companies and years
list_available_metrics(dataset?) List column names for a given dataset

All functions return pandas DataFrames when pandas is installed, or lists of dictionaries otherwise. Optional ticker parameter filters results to a single company.

CSV and JSON files

Load the public preview exports with pandas or any CSV/JSON reader.

import pandas as pd

# Replace with your site URL
base_url = "https://swiss-equity-data.ch/beta_v0_2/downloads"
financials = pd.read_csv(f"{base_url}/company_financials.csv")
ratios = pd.read_csv(f"{base_url}/company_ratios.csv")

beta_tickers = sorted(financials["ticker"].unique())
print(beta_tickers)
print(financials[financials["ticker"] == "BARN.SW"].tail())

The files are static snapshots of the five-company preview dataset. They can be loaded in any language that reads CSV or JSON. See the Downloads page for the full file list.

Current limitations

Five-company preview scope

The dataset covers BARN.SW, DKSH.SW, GEBN.SW, SCMN.SW and SIKA.SW only. Broader coverage is not included in this release.

Missing values preserved

When a value is unavailable, it remains blank or null. No missing values are estimated, interpolated or filled.

No live API

The Python package reads local static files. There is no live web API endpoint. A live API is a future roadmap item.

Local MCP beta

The MCP server runs locally, exposes read-only tools and uses the same five-company public preview dataset.

Local MCP beta

A local read-only MCP server is available for the five-company public preview dataset. It lets Claude Desktop and compatible MCP clients query structured company data without external API calls.

The server runs locally and reads the same public preview files used by the site and Python package. It is not a hosted MCP service and does not provide investment advice, target prices, forecasts or buy/sell/hold outputs. Setup is documented in mcp_server/README.md.

What the MCP can query

Company profiles

Ticker, sector, industry, currencies and fiscal year-end.

Annual fundamentals

Revenue, EBIT, net income, balance sheet and cash flow fields.

Accounting ratios

Margins, ROE, ROA and leverage ratios.

Valuation ratios

P/E, EV/EBITDA and dividend yield where available.

Reporting coverage

Annual, Q1 and H1 status with next expected report dates.

Quality notes

Documented data quality issues, flags and public summaries.

Source references

Source documents, URLs, types and retrieval dates.

Company comparisons

Side-by-side metric comparison across selected companies.

Related open-source work

Swiss Finance Data

Swiss Finance Data is a separate open-source Python package for Swiss financial data workflows, focused on official and legally reusable sources such as SNB policy rates, SARON, CHF FX rates, Swiss CPI, SMI equities and Swiss Confederation bond yields.

The package has 5k+ recorded PyPI downloads. Download counts may include automated or CI traffic.

Swiss Finance Data focuses on Swiss market, macro and rates data access. Swiss Equity Data focuses on traceable company fundamentals, quality notes and export-ready equity datasets. They are separate projects.

Boundaries

Structured data only

All access layers serve validated structured data and quality context from the published preview dataset.

No autonomous outputs

Neither the current dataset nor access layers generate financial opinions, security ratings, or automated analysis.

No investment advice

The dataset does not contain buy/sell/hold signals, target prices, forecasts or valuation conclusions.