API pour développeurs
API des taux d'intérêt suisses
Une API JSON gratuite et publique pour les données de taux suisses : le taux directeur de la BNS, le taux hypothécaire de référence et les taux hypothécaires agrégés des prestataires suisses. Sans clé API, sans inscription — usage raisonnable. Les données sont actualisées chaque jour et servies directement depuis l'edge.
Points d'accès
| Point d'accès | Description | Source |
|---|---|---|
GET /api/v1/policy-rate | Taux directeur de la BNS — valeur actuelle et historique complet des décisions depuis 2008. | Banque nationale suisse (BNS) |
GET /api/v1/reference-rate | Taux hypothécaire de référence — valeur actuelle et historique depuis 2008, déterminant pour l'adaptation des loyers. | Office fédéral du logement (OFL) |
GET /api/v1/mortgage-rates | Taux hypothécaires agrégés par prestataire — moyenne des taux publiés sur nos sources, pour les hypothèques SARON, variables et à taux fixe. | Relevé quotidien hypox auprès des prestataires suisses |
Réponse
Les deux points d'accès de séries de taux (policy-rate, reference-rate) renvoient la même structure et répondent toujours avec un code HTTP 200 — un fallback statique garantit que la série n'est jamais vide.
{
"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"
} | Champ | Type | Description |
|---|---|---|
rateType | string | Identifiant de la série : "snb-policy-rate" ou "mortgage-reference-rate". |
current | object | L'entrée actuellement valable — toujours le dernier élément de "changes". |
current.rate | number | Taux en pourcentage par an (points de pourcentage), p. ex. 0.5. |
current.validFrom | string | Date ISO (AAAA-MM-JJ) à partir de laquelle le taux s'applique. |
changes | array | Tous les points de changement par ordre croissant ; le taux reste valable jusqu'à l'entrée suivante. |
updatedAt | string | Horodatage ou date ISO de la dernière mise à jour. |
provider | string | Toujours "hypox.ch". |
Réponse : mortgage-rates
Le point d'accès /api/v1/mortgage-rates renvoie les taux indicatifs agrégés par prestataire (moyenne sur nos sources, conditions standard uniquement). Ces données n'ont pas de fallback statique : si elles sont temporairement indisponibles, le point d'accès répond avec un code HTTP 503 (non mis en cache) — les intégrations doivent gérer ce cas.
{
"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"
} | Champ | Type | Description |
|---|---|---|
rateType | string | Toujours "mortgage-provider-averages". |
count | number | Nombre de prestataires dans "providers". |
providers | array | Une entrée par prestataire, triée alphabétiquement par "id". |
providers[].id | string | Slug stable du prestataire, p. ex. "zkb". |
providers[].name | string | Nom d'affichage du prestataire. |
providers[].rates | array | Une entrée par produit (SARON, variable, durées fixes). |
rates[].product | string | "saron", "variable" ou "fixed". |
rates[].termYears | number | null | Durée en années pour les hypothèques à taux fixe, sinon null. |
rates[].rate | number | Taux publié moyen en pourcentage par an. |
rates[].isFromRate | boolean | true si au moins une source publie un taux « à partir de ». |
rates[].sources | number | Nombre de sources sur lesquelles la moyenne est calculée. |
updatedAt | string | Horodatage ou date ISO de la dernière mise à jour. |
provider | string | Toujours "hypox.ch". |
Actualité et mise en cache
- Les données sont actualisées chaque jour : taux directeur et taux de référence à partir des sources officielles (BNS et OFL), taux des prestataires à partir de notre propre relevé.
- Les réponses sont mises en cache à l'edge pendant une heure (Cache-Control : public, s-maxage=3600).
- Ces taux ne changent que quelques fois par an ; une mise en cache horaire est donc largement suffisante.
Exemples
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") Tous les endpoints renvoient un tableau CSV plat avec ?format=csv — idéal pour Google Sheets (IMPORTDATA), Excel ou les pipelines de données.
Widget à intégrer : taux directeur actuel
Vous voulez afficher le taux directeur actuel de la BNS sur votre site sans intégrer l'API vous-même ? Copiez ce snippet : le script remplit l'espace réservé avec la valeur actuelle — le reste est du HTML ordinaire que vous pouvez reformuler et styliser librement.
<p>
Taux directeur actuel de la BNS: <strong data-hypox-rate>–</strong>
(Source: <a href="https://www.hypox.ch/fr/taux-directeur">hypox.ch</a>)
</p>
<script async src="https://www.hypox.ch/embed/policy-rate.js"></script> Aperçu
Taux directeur actuel de la BNS: – (Source: hypox.ch)
Le script est minuscule (moins de 1 Ko), se charge de manière asynchrone et ne modifie que les éléments portant l'attribut data-hypox-rate. Nous apprécions que le lien source vers hypox.ch reste dans le snippet.
CORS
L'API envoie Access-Control-Allow-Origin : * — vous pouvez donc l'appeler directement depuis n'importe quel frontend dans le navigateur.
Gestion des versions
Le chemin est versionné (/api/v1/). Au sein de la v1, seuls des champs sont ajoutés, jamais supprimés ni renommés — les intégrations existantes continuent donc de fonctionner.
Attribution et conditions
Utilisation gratuite. Si ces données vous sont utiles, un lien vers hypox.ch est apprécié. Les chiffres sous-jacents sont des données publiques officielles de la Banque nationale suisse (BNS) et de l'Office fédéral du logement (OFL) ; hypox.ch les collecte et les republie. Fournies sans garantie — pour toute décision juridiquement contraignante, vérifiez toujours auprès des sources officielles.
Des questions ? hello@hypox.ch