API per sviluppatori
API dei tassi d'interesse svizzeri
Un'API JSON gratuita e pubblica per i dati sui tassi svizzeri: il tasso guida della BNS, il tasso ipotecario di riferimento e i tassi ipotecari aggregati degli operatori svizzeri. Senza chiave API, senza registrazione — uso corretto. I dati vengono aggiornati ogni giorno e serviti direttamente dall'edge.
Endpoint
| Endpoint | Descrizione | Fonte |
|---|---|---|
GET /api/v1/policy-rate | Tasso guida della BNS — valore attuale e storico completo delle decisioni dal 2008. | Banca nazionale svizzera (BNS) |
GET /api/v1/reference-rate | Tasso ipotecario di riferimento — valore attuale e storico dal 2008, determinante per l'adeguamento delle pigioni. | Ufficio federale delle abitazioni (UFAB) |
GET /api/v1/mortgage-rates | Tassi ipotecari aggregati per operatore — media dei tassi pubblicati sulle nostre fonti, per ipoteche SARON, variabili e a tasso fisso. | Rilevamento quotidiano hypox presso gli operatori svizzeri |
Risposta
I due endpoint delle serie di tassi (policy-rate, reference-rate) restituiscono la stessa struttura e rispondono sempre con HTTP 200 — un fallback statico garantisce che la serie non sia mai vuota.
{
"rateType": "snb-policy-rate",
"current": { "rate": 0, "validFrom": "2025-06-19" },
"changes": [
{ "validFrom": "2008-12-11", "rate": 0.5 },
{ "validFrom": "2025-06-19", "rate": 0 }
],
"updatedAt": "2026-06-18",
"provider": "hypox.ch"
} | Campo | Tipo | Descrizione |
|---|---|---|
rateType | string | Identificatore della serie: "snb-policy-rate" o "mortgage-reference-rate". |
current | object | La voce attualmente valida — sempre l'ultimo elemento di "changes". |
current.rate | number | Tasso in percentuale annua (punti percentuali), ad es. 0.5. |
current.validFrom | string | Data ISO (AAAA-MM-GG) a partire dalla quale il tasso è valido. |
changes | array | Tutti i punti di variazione in ordine crescente; il tasso resta valido fino alla voce successiva. |
updatedAt | string | Timestamp o data ISO dell'ultimo aggiornamento. |
provider | string | Sempre "hypox.ch". |
Risposta: mortgage-rates
L'endpoint /api/v1/mortgage-rates restituisce i tassi indicativi aggregati per operatore (media sulle nostre fonti, solo condizioni standard). Per questi dati non esiste un fallback statico: se sono temporaneamente non disponibili, l'endpoint risponde con HTTP 503 (senza cache) — le integrazioni devono gestire questo caso.
{
"rateType": "mortgage-provider-averages",
"count": 57,
"providers": [
{
"id": "zkb",
"name": "Zürcher Kantonalbank",
"rates": [
{ "product": "saron", "termYears": null, "rate": 1.05, "isFromRate": false, "sources": 2 },
{ "product": "fixed", "termYears": 10, "rate": 1.58, "isFromRate": true, "sources": 3 }
]
}
],
"updatedAt": "2026-07-10T05:30:00.000Z",
"provider": "hypox.ch"
} | Campo | Tipo | Descrizione |
|---|---|---|
rateType | string | Sempre "mortgage-provider-averages". |
count | number | Numero di operatori in "providers". |
providers | array | Una voce per operatore, in ordine alfabetico per "id". |
providers[].id | string | Slug stabile dell'operatore, ad es. "zkb". |
providers[].name | string | Nome visualizzato dell'operatore. |
providers[].rates | array | Una voce per prodotto (SARON, variabile, durate fisse). |
rates[].product | string | "saron", "variable" o "fixed". |
rates[].termYears | number | null | Durata in anni per le ipoteche a tasso fisso, altrimenti null. |
rates[].rate | number | Tasso medio pubblicato in percentuale annua. |
rates[].isFromRate | boolean | true se almeno una fonte pubblica un tasso «a partire da». |
rates[].sources | number | Numero di fonti su cui è calcolata la media. |
updatedAt | string | Timestamp o data ISO dell'ultimo aggiornamento. |
provider | string | Sempre "hypox.ch". |
Attualità e caching
- I dati vengono aggiornati ogni giorno: tasso guida e tasso di riferimento dalle fonti ufficiali (BNS e UFAB), tassi degli operatori dal nostro rilevamento.
- Le risposte vengono memorizzate nella cache all'edge per un'ora (Cache-Control: public, s-maxage=3600).
- Questi tassi cambiano solo poche volte all'anno, quindi una cache oraria è più che sufficiente.
Esempi
curl
curl -s https://www.hypox.ch/api/v1/policy-rate | jq '.current' JavaScript
const res = await fetch("https://www.hypox.ch/api/v1/policy-rate");
const data = await res.json();
console.log(data.current.rate, "% —", data.current.validFrom); Google Sheets
=IMPORTDATA("https://www.hypox.ch/api/v1/policy-rate?format=csv") Tutti gli endpoint restituiscono una tabella CSV piatta con ?format=csv — ideale per Google Sheets (IMPORTDATA), Excel o pipeline di dati.
Widget da incorporare: tasso guida attuale
Vuoi mostrare il tasso guida attuale della BNS sul tuo sito senza integrare l'API? Copia questo snippet: lo script riempie il segnaposto con il valore attuale — il resto è normale HTML che puoi riformulare e stilizzare liberamente.
<p>
Tasso guida attuale della BNS: <strong data-hypox-rate>–</strong>
(Fonte: <a href="https://www.hypox.ch/it/tasso-guida">hypox.ch</a>)
</p>
<script async src="https://www.hypox.ch/embed/policy-rate.js"></script> Anteprima
Tasso guida attuale della BNS: – (Fonte: hypox.ch)
Lo script è minuscolo (meno di 1 KB), si carica in modo asincrono e modifica solo gli elementi con l'attributo data-hypox-rate. Apprezziamo se il link alla fonte hypox.ch resta nello snippet.
CORS
L'API invia Access-Control-Allow-Origin: * — puoi quindi richiamarla direttamente da qualsiasi frontend nel browser.
Versionamento
Il percorso è versionato (/api/v1/). All'interno della v1 vengono solo aggiunti campi, mai rimossi o rinominati — le integrazioni esistenti continuano quindi a funzionare.
Attribuzione e condizioni
Uso gratuito. Se i dati ti sono utili, un link a hypox.ch è gradito. Le cifre alla base sono dati pubblici ufficiali della Banca nazionale svizzera (BNS) e dell'Ufficio federale delle abitazioni (UFAB); hypox.ch li raccoglie e li ripubblica. Forniti senza garanzia — per decisioni giuridicamente vincolanti verifica sempre presso le fonti ufficiali.
Domande? hello@hypox.ch