hypox.ch

Menu

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