⚠ This project is under active development. Data may be incomplete or contain errors. Always verify against the original bank documents.
Open Data · CC-BY-4.0

Bank products, structured for AI agents.

An open, queryable database of bank products, fees, and claims across Switzerland and Liechtenstein. Built for AI agents, accessible to everyone.

No structured data. Anywhere.

AI agents can query accounts, make payments, manage portfolios. But they can't answer "which bank should I use?" — because no structured, open, API-accessible database of bank products and fees exists.

Comparison websites

Moneyland and Comparis have the data — but it's locked in their UI. No API. No structured export. No AI agent can query it.

Bank websites

Fee schedules buried in PDFs. Every bank uses a different format. Updated quarterly. No machine-readable structure. An AI agent would need to browse 250 websites and parse 250 different PDF layouts.

bankproducts.info closes this gap.

We parse the PDFs, structure the data, version it in Git, and export it as a SQLite database that any AI agent can query in 5 milliseconds. Open. Free. Community-maintained.

Ask a question. Get SQL. Get answers.

Which Swiss bank has the lowest debit card fees for someone who travels a lot?

Generated SQL

SELECT b.name, f.amount, f.currency, f.note FROM fee f JOIN bank b ON f.bank_id = b.id JOIN product p ON f.product_id = p.id WHERE f.fee_type = 'fx_markup' AND p.category = 'debit_card' ORDER BY f.amount;

Result (5 ms)

BankFX MarkupNote
ZKB1.25%Max CHF 1.50 pro Transaktion
Raiffeisen1.25%Mind. CHF 1.50
Migros Bank1.50CHFFlat fee per transaction
PostFinance1.50%
UBS2.00%Devisenkurs beinhaltet Aufschlag

What's inside

Four tables. One SQLite file. Updated nightly.

🏦

Institutions

Every bank and fintech in Switzerland and Liechtenstein. Name, BIC, IID, canton, regulator, website. Retail, SME, wealth segments.

💰

Fees

Every fee line item: account fees, transfer fees, card fees, FX spreads, custody fees, mortgage rates. With validity dates, conditions, and source references.

📢

Claims

Structured assertions: credit ratings, Staatsgarantie, bLink access, app ratings, ESG scores, USPs. Verifiable facts separated from marketing claims.

🔄

Versioned

Every change is a Git commit. Full history. "What was ZKB's savings rate in January?" — just check the log. Nightly export to SQLite on GitHub.

🤖

AI-native

SQLite file, downloadable, queryable offline. Standard SQL. Works with Claude, GPT, rbcli, any tool that reads SQLite. No API key needed.

🔗

Source-linked

Country-scoped from day one. Starting with CH and LI. Data model supports expansion to any PSD2 country. Same schema, same queries.

bank PK id zkb, postfinance, lgt name, country bank_type website product PK id zkb:privatkonto FK bank_id → bank category, name currency, target_group description valid_from FK source_document_id fee PK id FK product_id → product FK bank_id → bank fee_type, label amount, currency frequency, tier, channel note, valid_from source_page source_document PK id FK bank_id → bank title, valid_from language, filename parsed_at product_feature PK id FK product_id → product feature_key, feature_value note source_page package_item FK package_id → product included_product sort_order (where category='package') 1:N 1:N 1:N 1:N 1:N ref

Browse the data

The registry is maintained in a public Google Sheet. Anyone can view it. Banks can request edit access to their own entries.

📊 Google Sheet 📦 SQLite on GitHub
📄 CC-BY-4.0 — free to use, with attribution

Publish your fees as /.well-known/bankproducts.json

Place a single JSON file on your website. AI agents, comparison tools, and regulators can discover it automatically. No API integration needed. Like security.txt, but for pricing.

Example: ZKB bankproducts.json