Développeurs

API BRVM

API REST JSON sur les données de marché de la BRVM (Bourse Régionale des Valeurs Mobilières, UEMOA). Accès sur autorisation : demandez une clé ci-dessous — c'est gratuit pour un usage éditorial ou de recherche, et cela nous permet de protéger le service et de vous prévenir en cas de changement.

Base URL

https://www.westbourse.com

Authentification

curl -H "x-api-key: wb_live_…" \
  https://www.westbourse.com/api/public/v1/actions/SNTS

Quota par défaut : 1 000 requêtes/jour (réinitialisé à minuit UTC, ajustable sur demande). Données fournies à titre informatif (dernière séance consolidée), sans garantie temps réel. Voir les mentions légales.

Demander une clé

Gratuit pour un usage éditorial ou de recherche. Réponse sous 48 h ouvrées. Vos données ne servent qu'à l'examen de la demande.

Endpoints

GET/api/public/v1/actions

Toutes les actions de la dernière séance (cours, variation, volume, valeur échangée).

{ "date": "2026-06-19", "count": 47, "actions": [{ "code": "SNTS", "nom": "SONATEL", "cours": 28150, "variation_pct": 0.54, "volume": 21619, "valeur_echangee": 608600000 }] }
GET/api/public/v1/actions/{code}

Cours actuel + historique des 90 dernières séances d’une action (ex. SNTS).

{ "code": "SNTS", "cours": 28150, "variation_pct": 0.54, "date": "2026-06-19", "historique": [{ "date": "...", "cours": 28000, "variation_pct": -0.2, "volume": 1200 }] }
GET/api/public/v1/indices

Indices BRVM de la dernière séance (BRVM-Composite, BRVM-30, sectoriels).

{ "date": "2026-06-19", "indices": [{ "code": "BRVMC", "nom": "BRVM Composite", "valeur": 438.68, "variation_pct": 0.5 }] }
GET/api/public/v1/obligations

Obligations cotées de la dernière séance, avec YTM et duration modifiée dérivés.

{ "date": "2026-06-19", "count": 30, "obligations": [{ "code": "...", "emetteur": "ETAT DU SENEGAL", "taux_coupon_pct": 6.5, "maturite": "2028-12-31", "cours": 99.5, "ytm_pct": 6.7, "duration_modifiee": 2.4 }] }

Codes de réponse

200  OK
401  Clé absente ou invalide      → demandez un accès ci-dessus
403  Accès non actif ou révoqué   → contactez-nous
429  Quota journalier dépassé     → réinitialisé à minuit UTC

Widgets embarquables

Intégrez les données BRVM sur votre site en copiant une ligne. Les widgets ne posent aucun cookie et n'utilisent aucun traceur : leur intégration ne déclenche pas d'obligation de consentement chez vous. Paramètres : ?theme=dark|light, ?lang=fr|en, et ?codes=SNTS,ETIT (ticker, 20 maximum).

Bandeau des cours
<iframe title="Cours BRVM" src="https://www.westbourse.com/embed/ticker" width="100%" height="56" frameborder="0" loading="lazy"></iframe>
Heatmap du jour
<iframe title="Heatmap BRVM" src="https://www.westbourse.com/embed/heatmap" width="100%" height="420" frameborder="0" loading="lazy"></iframe>
Fiche valeur
<iframe title="Cours SNTS" src="https://www.westbourse.com/embed/valeur/SNTS" width="100%" height="180" frameborder="0" loading="lazy"></iframe>

Hauteur automatique (facultatif)

Le widget publie sa hauteur réelle. Ce script l'applique — il vérifie l'origine, ce qui est indispensable : sans ce contrôle, n'importe quelle autre iframe de votre page pourrait redimensionner le widget.

<iframe id="wb-widget" title="Cours BRVM"
  src="https://www.westbourse.com/embed/ticker" width="100%" height="56"
  frameborder="0" loading="lazy"></iframe>
<script>
  window.addEventListener('message', function (e) {
    if (e.origin !== 'https://www.westbourse.com') return;   // obligatoire
    if (!e.data || e.data.type !== 'wb-resize') return;
    document.getElementById('wb-widget').style.height = e.data.height + 'px';
  });
</script>