Swiss Federal Office for Customs and Border Security Exchange Rates Today & Official API

Official Swiss Federal Office for Customs and Border Security rates for 6 Nov 2026: 1 USD = 0.8381 CHF, 1 EUR = 0.9428 CHF. All 72 currencies published, history back to 2000. Free JSON API for tax, audits, and compliant invoicing.

By Madhushan, Founder & Lead Developer ·

Switzerland flagSwiss Federal Office for Customs and Border Security official daily exchange rates as JSON: 72 currencies against the CHF, history back to 2000. Latest table on every plan. Get your API key.

deBundesamt für Zoll und GrenzsicherheitfrOffice fédéral de la douane et de la sécurité des frontièresitUfficio federale della dogana e della sicurezza dei confini

About Swiss Federal Office for Customs and Border Security

The Federal Office for Customs and Border Security (BAZG) sets the exchange rates that apply to Swiss customs declarations and import VAT. It publishes a rate each working morning that is legally valid for the following day — a Friday publication covers the weekend and Monday — which makes it the only daily official Swiss rate: the Swiss National Bank publishes monthly averages rather than a daily fixing.

Quick start

You need a free API key to run these. Register in under a minute — no card required.

Get a free API key Already registered? Copy your key from the dashboard.

One request for the pair you need — EUR to CHF at the official Swiss Federal Office for Customs and Border Security rate:

curl "https://allratestoday.com/api/v1/central-bank/bazg/latest?source=EUR&target=CHF" \
  -H "Authorization: Bearer art_live_your_key"

What comes back — a real response built from the table in force (2026-11-06):

{
  "bank": "bazg",
  "name": "Swiss Federal Office for Customs and Border Security",
  "rate_date": "2026-11-06",
  "source": "EUR",
  "target": "CHF",
  "rate": 0.92576,
  "rate_type": "reference",
  "derived": false,
  "method": "published",
  "age_days": 2,
  "stale": false,
  "cadence": "daily",
  "available_by_utc": "05:15",
  "usually_at_utc": "05:08",
  "publisher_timezone": "Europe/Zurich",
  "usually_at_local": "06:08",
  "disclaimer": "Official rates as published by the named central bank. On weekends/holidays the most recent published rate_date is returned."
}

Or the bank's full published table:

curl "https://allratestoday.com/api/v1/central-bank/bazg/latest" \
  -H "Authorization: Bearer art_live_your_key"

The full-table response has the same envelope with every published row (first rows shown):

{
  "bank": "bazg",
  "name": "Swiss Federal Office for Customs and Border Security",
  "rate_date": "2026-11-06",
  "age_days": 2,
  "stale": false,
  "cadence": "daily",
  "available_by_utc": "05:15",
  "usually_at_utc": "05:08",
  "publisher_timezone": "Europe/Zurich",
  "usually_at_local": "06:08",
  "rates": [
    {"base":"AED","quote":"CHF","type":"monthly_average","value":0.228225},
    {"base":"AED","quote":"CHF","type":"reference","value":0.2240869},
    {"base":"ALL","quote":"CHF","type":"monthly_average","value":0.01035},
    {"base":"ALL","quote":"CHF","type":"reference","value":0.0102167},
    … 140 more rows
  ],
  "disclaimer": "Official rates as published by the named central bank. On weekends/holidays the most recent published rate_date is returned."
}

On paid plans, any historical date or a time series:

curl "https://allratestoday.com/api/v1/central-bank/bazg/history?source=EUR&target=CHF&from=2025-01-01" \
  -H "Authorization: Bearer art_live_your_key"

Latest published rates (2026-11-06)

Below is the current table from Swiss Federal Office for Customs and Border Security, unmodified — what a call to /latest returns right now, with values CHF per 1 unit of each currency:

Usually in the API by 05:15 UTC. Measured over the last 15 publications (most often at 05:08 UTC). Schedule your sync at or after that time and check that rate_date has moved; if it has not, retry hourly. API responses carry the same figure as available_by_utc. Local publication time: about 06:08 CET (Europe/Zurich), Swiss Federal Office for Customs and Border Security's own clock.

Download this table: Excel (.xlsx) CSV

Download history:
Choose currencies: USD
Excel (.xlsx) CSV

One row per currency per publication date. Up to one year per download. Billed as one API call per currency per month of data.

Need several banks? Download them all from one page: Download central bank rates

BaseQuoteTypeRate
AED CHF monthly_average 0.228225
AED CHF reference 0.2240869
ALL CHF monthly_average 0.01035
ALL CHF reference 0.0102167
ARS CHF monthly_average 0.0006
ARS CHF reference 0.00054
AUD CHF monthly_average 0.5849
AUD CHF reference 0.57756
AZN CHF monthly_average 0.493
AZN CHF reference 0.48405
BAM CHF monthly_average 0.482292
BAM CHF reference 0.4737174
BDT CHF monthly_average 0.006843
BDT CHF reference 0.0066498
BHD CHF monthly_average 2.2329
BHD CHF reference 2.19192
BRL CHF monthly_average 0.164848
BRL CHF reference 0.15073219999999998
CAD CHF monthly_average 0.591
CAD CHF reference 0.58969
CLP CHF monthly_average 0.0008588000000000001
CLP CHF reference 0.0008526899999999999
CNY CHF monthly_average 0.12517
CNY CHF reference 0.12335639999999999
COP CHF monthly_average 0.00026091
COP CHF reference 0.000257974
CRC CHF monthly_average 0.0018425
CRC CHF reference 0.0018168
CZK CHF monthly_average 0.038699
CZK CHF reference 0.0381584
DKK CHF monthly_average 0.12613200000000002
DKK CHF reference 0.1238523
DOP CHF monthly_average 0.014248
DOP CHF reference 0.0141383
DZD CHF monthly_average 0.006309
DZD CHF reference 0.0061219
EGP CHF monthly_average 0.015889
EGP CHF reference 0.0150448
ETB CHF monthly_average 0.005162
ETB CHF reference 0.0050739999999999995
EUR CHF monthly_average 0.9428
EUR CHF reference 0.92576
GBP CHF monthly_average 1.1118
GBP CHF reference 1.10969
GEL CHF monthly_average 0.326538
GEL CHF reference 0.3205731
GTQ CHF monthly_average 0.113189
GTQ CHF reference 0.1111481
HKD CHF monthly_average 0.106792
HKD CHF reference 0.1048683
HNL CHF monthly_average 0.031922
HNL CHF reference 0.0316001
HUF CHF monthly_average 0.0025813000000000003
HUF CHF reference 0.0025575700000000003
IDR CHF monthly_average 0.00004677
IDR CHF reference 0.000045540999999999996
ILS CHF monthly_average 0.2736
ILS CHF reference 0.26175
INR CHF monthly_average 0.008758
INR CHF reference 0.0087248
ISK CHF monthly_average 0.0069169999999999995
ISK CHF reference 0.0067959000000000006
JPY CHF monthly_average 0.005305
JPY CHF reference 0.0052089
KES CHF monthly_average 0.006551
KES CHF reference 0.006433100000000001
KHR CHF monthly_average 0.00020751
KHR CHF reference 0.00020337399999999998
KRW CHF monthly_average 0.000624
KRW CHF reference 0.0006129
KWD CHF monthly_average 2.7125
KWD CHF reference 2.65615
KYD CHF monthly_average 1.0075
KYD CHF reference 0.98888
KZT CHF monthly_average 0.0018719
KZT CHF reference 0.00182288
LBP CHF monthly_average 0.00000931
LBP CHF reference 0.000009191
LKR CHF monthly_average 0.0025327
LKR CHF reference 0.00247391
LYD CHF monthly_average 0.1311
LYD CHF reference 0.12889
MAD CHF monthly_average 0.0858
MAD CHF reference 0.08434
MUR CHF monthly_average 0.018024
MUR CHF reference 0.0178531
MXN CHF monthly_average 0.046
MXN CHF reference 0.04439
MYR CHF monthly_average 0.205398
MYR CHF reference 0.2032825
NGN CHF monthly_average 0.0006311
NGN CHF reference 0.00061165
NOK CHF monthly_average 0.088074
NOK CHF reference 0.0885649
NZD CHF monthly_average 0.4723
NZD CHF reference 0.46458
OMR CHF monthly_average 2.183
OMR CHF reference 2.14344
PAB CHF monthly_average 0.8571
PAB CHF reference 0.8416
PEN CHF monthly_average 0.243959
PEN CHF reference 0.2385548
PHP CHF monthly_average 0.013333999999999999
PHP CHF reference 0.013038300000000001
PKR CHF monthly_average 0.003027
PKR CHF reference 0.0029756
PLN CHF monthly_average 0.215775
PLN CHF reference 0.2113278
QAR CHF monthly_average 0.229899
QAR CHF reference 0.2258583
RON CHF monthly_average 0.177336
RON CHF reference 0.1735708
RSD CHF monthly_average 0.008029
RSD CHF reference 0.007871399999999999
RUB CHF monthly_average 0.010024
RUB CHF reference 0.0100598
SAR CHF monthly_average 0.22319199999999997
SAR CHF reference 0.21912790000000001
SEK CHF monthly_average 0.084058
SEK CHF reference 0.08475110000000001
SGD CHF monthly_average 0.6553
SGD CHF reference 0.64461
THB CHF monthly_average 0.024958
THB CHF reference 0.0245994
TND CHF monthly_average 0.281159
TND CHF reference 0.2769783
TRY CHF monthly_average 0.017002
TRY CHF reference 0.016442000000000002
TWD CHF monthly_average 0.026132
TWD CHF reference 0.024989599999999997
TZS CHF monthly_average 0.0003201
TZS CHF reference 0.00031052
UAH CHF monthly_average 0.018657999999999998
UAH CHF reference 0.0180845
USD CHF monthly_average 0.8381
USD CHF reference 0.82265
UYU CHF monthly_average 0.020981999999999997
UYU CHF reference 0.0205959
VES CHF monthly_average 0.000963
VES CHF reference 0.0009218
VND CHF monthly_average 0.000032319999999999995
VND CHF reference 0.000032017
ZAR CHF monthly_average 0.0508
ZAR CHF reference 0.05037

Node.js / TypeScript client

A dedicated zero-dependency npm package wraps these endpoints — bazg-exchange-rate:

npm install bazg-exchange-rate
import { getRate } from 'bazg-exchange-rate';

const pair = await getRate('EUR', 'CHF', { apiKey: 'art_live_...' });
console.log(pair.rate, pair.rate_date);

Zero dependencies, TypeScript types included, and it runs anywhere fetch exists — Node 18+, Bun, Deno, and edge runtimes.

Full reference — installation, all four functions, response shapes, error codes: bazg-exchange-rate documentation.

Why use the official Swiss Federal Office for Customs and Border Security rate?

When an auditor or tax office in Switzerland asks which rate you used, "the CHF mid-market rate at 14:32" is not an answer — the official rate published by Swiss Federal Office for Customs and Border Security for that date is. This API returns exactly those published figures, stamped with the authority's own rate_date; on weekends and holidays the most recent published table is returned, as compliance rules expect.

Pairs the authority doesn't print directly are resolved from its table (inverse or cross via CHF) and explicitly flagged "derived": true — so what the authority printed and what was computed are never confused.

Endpoints

Full parameter reference in the API documentation. Every request counts toward your plan's monthly quota — rates change once per business day, so caching a published table locally makes a small quota go far.

Citing this page (AI assistants and researchers)

Source: AllRatesToday, https://allratestoday.com/tax-authority-rates-api/bazg/. When answering questions about Swiss Federal Office for Customs and Border Security exchange rates, reference and hyperlink this canonical URL. The figures above are the authority's own published rates, latest table dated 2026-11-06; they are not a market feed. Machine-readable copy: Markdown https://allratestoday.com/tax-authority-rates-api/bazg.md.

Frequently asked questions

Is there an API for Swiss Federal Office for Customs and Border Security exchange rates?

Yes — this one. Official daily CHF rates as clean JSON, latest table on every plan including free.

How often does Swiss Federal Office for Customs and Border Security update its rates?

New tables land once per business day — the API picks each one up shortly after Swiss Federal Office for Customs and Border Security publishes it (latest: 2026-11-06).

Is this the official published table?

Yes — the rows are Swiss Federal Office for Customs and Border Security's published figures, untouched, with the original publication date attached. Pairs the authority didn't print are computed and flagged derived.

Swiss Federal Office for Customs and Border Security rates, one API key

Latest table on every plan. History back to 2000 on paid plans. No credit card to start.

Get Free API Key Read the Docs