API & Documentation

L'API Africa Markets Analytics expose, en REST/JSON, les données de marché et les analyses techniques calculées côté serveur (indicateurs, signaux, backtest, analyses). Toutes les routes sont en GET et renvoient du JSON (CSV disponible pour l'historique).

🐍 Préférez Python ? Le module africaMarketsAnalytics enveloppe cette API en quelques lignes (gratuit pour la BRVM, sans clé). Télécharger le module Python →

Authentification

Chaque requête (hors endpoints publics) doit porter votre clé API dans l'en-tête X-API-Key. Générez vos clés depuis votre espace (offres Premium / Entreprise).

curl -H "X-API-Key: brvm_live_xxxxxxxx" \
  "https://africamarkets.easyit4finance.com/api/v1/ohlcv?sym=SNTS&from=2024-01-01"

SDK Python

Plutôt que d'appeler les points d'entrée à la main, le SDK officiel les enveloppe : OHLCV en DataFrames pandas, indicateurs, signaux, backtests, dividendes et obligations.

pip install africaMarketsAnalytics

import africaMarketsAnalytics as ama
ama.set_key("brvm_live_xxxxxxxx")
ama.Ticker("SNTS").history(period="1y")

Documentation et téléchargement du SDK →

Quotas & offres

Le quota d'appels et la profondeur d'historique dépendent de votre offre : Gratuit (BRVM/UEMOA, sans clé, historique limité), Premium (toutes les bourses africaines, ≈ 10 000 appels/jour, historique 5 ans), Entreprise (toutes les bourses, ≈ 100 000 appels/jour, historique complet). Un dépassement renvoie 429 Too Many Requests. Une clé révoquée ou un endpoint non autorisé renvoie 401/403.

Données de marché

GET/api/v1/markets
Liste des places boursières couvertes (code bourse, nom du marché, pays, nombre de sociétés) — BRVM, Casablanca, NGX, JSE, EGX, NSE, SEM…
curl -H "X-API-Key: …" "https://africamarkets.easyit4finance.com/api/v1/markets"
Exemple de réponse
{
  "count": 15,
  "generated_at": "2026-06-19",
  "markets": [
    { "bourse": "brvm", "marche": "BRVM",
      "pays": ["Côte d'Ivoire", "Sénégal", "…"], "tickers": 46 }
  ]
}
GET/api/v1/tickers
Univers des sociétés cotées sur les bourses africaines (code, nom, secteur, pays, bourse). Le plan gratuit est limité à la BRVM/UEMOA ; Premium/Entreprise couvre toutes les places (≈ 1 400 titres). Filtrable et exportable en CSV.
ParamètreDescription
paysFiltrer par pays (ex. Nigeria, Maroc) — optionnel
bourseFiltrer par code de bourse (brvm, bvc, ngse, jse, egx…) — optionnel
qRecherche par code ou nom de société — optionnel
secteurFiltrer par secteur (sous-chaîne) — optionnel (renseigné sur la BRVM/UEMOA uniquement)
formatjson (défaut) ou csv
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/tickers?bourse=ngse&q=bank"
Exemple de réponse
{
  "count": 1,
  "generated_at": "2026-06-19",
  "tickers": [
    { "symbol": "SNTS", "nom": "Sonatel", "secteur": "Télécoms",
      "pays": "Sénégal", "bourse": "brvm", "marche": "BRVM",
      "statut": "active", "dateMin": "1998-09-29",
      "dateMax": "2026-06-19", "nBars": 6890 }
  ]
}
GET/api/v1/ohlcv
Historique OHLCV (open/high/low/close/volume) d'une valeur, toutes places confondues. Donnée brute réservée aux plans payants (clé API) — indisponible en accès gratuit.
ParamètreDescription
symCode valeur (ex. SNTS) — requis
fromDate début AAAA-MM-JJ (optionnel)
toDate fin (optionnel)
formatjson (défaut) ou csv
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/ohlcv?sym=SNTS&from=2024-01-01&format=csv"
Exemple de réponse
{
  "symbol": "SNTS", "count": 2, "history_days": 1825,
  "bars": [
    { "date": "2024-01-02", "open": 14800, "high": 14990,
      "low": 14800, "close": 14900, "volume": 3120 }
  ]
}
GET/api/v1/market
Tableau de bord BRVM : indices, activité du jour, capitalisation, BOC. (BRVM/UEMOA uniquement.)
curl -H "X-API-Key: …" "https://africamarkets.easyit4finance.com/api/v1/market"
Exemple de réponse
{
  "date": "2026-06-19",
  "indices": [ { "nom": "BRVM Composite", "fermeture": 442.87,
    "variationPct": 0.95, "ytdPct": 12.3, "date": "2026-06-19" } ],
  "activite": [ { "sym": "SNTS", "valeur": 1.2e9, "pct": 18.4 } ],
  "capitalisation": [ { "sym": "SNTS", "globale": 1.5e12 } ]
}
GET/api/v1/indices
Indices BRVM (BRVM-30, Composite, sectoriels) et variations. (BRVM/UEMOA uniquement.)
curl -H "X-API-Key: …" "https://africamarkets.easyit4finance.com/api/v1/indices"
Exemple de réponse
{
  "count": 1,
  "indices": [
    { "nom": "BRVM Composite", "categorie": "Principal",
      "fermeture": 442.87, "precedent": 438.68,
      "variationPct": 0.95, "ytdPct": 12.3, "date": "2026-06-19" }
  ]
}
GET/api/v1/indices/history
Historique des grands indices africains (BRVM Composite, EGX30, MASI, NSE…), valeur de clôture par jour. BRVM gratuit (≈ 1 an) ; les autres places nécessitent une clé Premium/Entreprise.
ParamètreDescription
marketCode de place : brvm, egx, bvc, nse, gse, ngse, zse… (défaut brvm)
slugIndice précis (optionnel), ex. NSE_20_SHARE_INDEX
fromDate début AAAA-MM-JJ (optionnel)
toDate fin (optionnel)
formatjson (défaut) ou csv
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/indices/history?market=brvm&from=2024-01-01"
Exemple de réponse
{
  "market": "BRVM", "code": "brvm", "currency": "FCFA",
  "generated_at": "2026-06-23T15:00:00+00:00",
  "history_days": 1825, "count": 1,
  "indices": [
    { "index": "BRVM-COMPOSITE INDEX", "slug": "BRVM_COMPOSITE_INDEX",
      "definition": { "en": "Broad benchmark of the BRVM…",
        "fr": "Indice large de la BRVM…",
        "source": "https://en.wikipedia.org/wiki/BRVM",
        "confidence": "medium" },
      "data": [ { "date": "2026-06-19", "close": 442.87, "volume": 1399063 } ] }
  ]
}
GET/api/v1/indices/history?market=ama
Historique des indices AMA propriétaires (market=ama) : AMALC, JSELIQ, AMA-BRVM… Chaque point porte le prix, le rendement total BRUT et NET, plus les variantes USD (price_usd, tr_gross_usd, tr_net_usd) pour les indices en devise locale ; les panafricains sont nativement en USD. Le champ currency donne la devise native. Premium/Entreprise.
ParamètreDescription
marketama
slugIndice précis (optionnel), ex. NSE_20_SHARE_INDEX
fromDate début AAAA-MM-JJ (optionnel)
toDate fin (optionnel)
formatjson (défaut) ou csv
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/indices/history?market=ama&slug=JSELIQ&format=csv"
Exemple de réponse
{
  "market": "AMA Indices (propriétaires)", "code": "ama", "currency": "",
  "count": 1,
  "indices": [
    { "index": "AMA JSE Top 50 Liquidity-Weighted Index", "slug": "JSELIQ",
      "currency": "ZAR", "wht": 0.2,
      "data": [ { "date": "2026-07-23",
        "price": 922.11, "tr": 936.49, "tr_net": 933.60,
        "price_usd": 904.42, "tr_gross_usd": 918.52, "tr_net_usd": 915.68 } ] }
  ]
}
GET/api/v1/indices/constituents
Constituants (participants) d'un indice AMA et leur poids : sym, nom, pays, secteur, poids_pct. Liste complète pour les indices panafricains et mono-bourse ; top 10 pour la famille AMA-BRVM. market=ama, slug requis. Premium/Entreprise.
ParamètreDescription
marketama
slug
formatjson (défaut) ou csv
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/indices/constituents?market=ama&slug=JSELIQ"
Exemple de réponse
{
  "slug": "JSELIQ", "coverage": "full", "count": 50,
  "constituents": [
    { "rang": 1, "sym": "NPN", "nom": "Naspers",
      "pays": "Afrique du Sud", "secteur": "Consommation", "poids_pct": 8.233 },
    { "rang": 2, "sym": "GFI", "nom": "Gold Fields",
      "pays": "Afrique du Sud", "secteur": "Industrie & matériaux", "poids_pct": 6.79 }
  ]
}
GET/api/v1/news
Actualités économiques d'Afrique de l'Ouest (flux agrégés).
curl -H "X-API-Key: …" "https://africamarkets.easyit4finance.com/api/v1/news"
Exemple de réponse
{
  "count": 1,
  "items": [
    { "tag": "BRVM", "label": "BRVM", "title": "…", "body": "…",
      "url": "https://…", "date": "19/06/2026", "time": "10:30" }
  ],
  "tags": ["BRVM"]
}
GET/api/v1/dividends
Dividendes nets par action déclarés à la BRVM (montant, exercice comptable, dates de détachement et de paiement, avis PDF). BRVM/UEMOA uniquement.
ParamètreDescription
symbolCode valeur (ex. SNTS) — optionnel (sinon tous les titres)
fromDate début AAAA-MM-JJ (optionnel)
toDate fin (optionnel)
formatjson (défaut) ou csv
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/dividends?symbol=SNTS"
Exemple de réponse
{
  "symbol": "SNTS", "nom": "Sonatel", "currency": "FCFA", "count": 1,
  "dividends": [
    { "exercice": "2024", "exDate": "2025-06-30",
      "paymentDate": "2025-07-15", "amount": 1500,
      "currency": "FCFA", "avisUrls": ["https://…pdf"] }
  ]
}
GET/api/v1/bonds
Obligations cotées à la BRVM (émetteur, coupon, échéance, cours, coupon couru…). Réservé aux offres Premium et Entreprise. BRVM/UEMOA uniquement.
ParamètreDescription
emetteurRecherche par code ou nom de société — optionnel
type / statutConditions (optionnel)
maturite_min / maturite_maxBornes de dates (optionnel)
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/bonds?actif=true"
Exemple de réponse
{
  "market": "BRVM", "date": "2026-06-19", "count": 1,
  "bonds": [
    { "emetteur": "TPCI", "type": "Obligation d'État",
      "coupon": 6.25, "echeance": "2030-12-31",
      "anneeMaturite": 2030, "cours": 99.5, "actif": true }
  ]
}

Analyses techniques

GET/api/v1/indicators/{name}
Valeurs d'un indicateur : sma, ema, rsi, macd, bollinger, stochastic, atr, obv, vwap.
ParamètreDescription
symCode valeur — requis
periodPériode (selon l'indicateur)
from / toBornes de dates (optionnel)
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/indicators/rsi?sym=SNTS&period=14"
Exemple de réponse
{
  "symbol": "SNTS", "indicator": "rsi", "count": 2,
  "dates": ["2026-06-18", "2026-06-19"],
  "series": { "rsi": [56.2, 58.1] }
}
GET/api/v1/signals/{strategy}
Signaux achat/vente d'une stratégie : rsi, macd, macross, boll, rsi_trend, macd_rsi, boll_rsi.
ParamètreDescription
symCode valeur — requis
Paramètres de la stratégie (period, fast, slow…)
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/signals/macd?sym=SNTS"
Exemple de réponse
{
  "symbol": "SNTS", "strategy": "macd",
  "params": { "fast": 12, "slow": 26, "signal": 9 }, "count": 1,
  "signals": [ { "i": 120, "date": "2026-05-12", "type": "buy", "close": 14250 } ]
}
GET/api/v1/backtest
Backtest long-only d'une stratégie : performance, trades, taux de réussite, drawdown, vs Buy & Hold.
ParamètreDescription
symCode valeur — requis
strategyIdentifiant de stratégie
capital, fee, slippage, stopLoss, takeProfitConditions (optionnel)
from / toPériode de test
curl -H "X-API-Key: …" \
  "https://africamarkets.easyit4finance.com/api/v1/backtest?sym=SNTS&strategy=macd&fee=0.5"
Exemple de réponse
{
  "symbol": "SNTS", "strategy": "macd",
  "params": { "fast": 12, "slow": 26, "signal": 9 },
  "result": { "finalEquity": 12450, "returnPct": 24.5,
    "trades": 18, "winRate": 0.61, "maxDrawdownPct": -9.8 }
}
GET/api/v1/advice
Synthèse technique d'une valeur : score, verdict (Achat fort → Vente forte) et raisons.
curl -H "X-API-Key: …" "https://africamarkets.easyit4finance.com/api/v1/advice?sym=SNTS"
Exemple de réponse
{
  "symbol": "SNTS",
  "advice": { "score": 72, "verdict": "Acheter", "tone": "positive",
    "price": 14900, "chg": 0.95, "date": "2026-06-19" }
}
GET/api/v1/usage
État de votre clé : plan, quota journalier et nombre d'appels déjà consommés aujourd'hui.
curl -H "X-API-Key: …" "https://africamarkets.easyit4finance.com/api/v1/usage"
Exemple de réponse
{ "plan": "pro", "daily_quota": 10000, "used_today": 42 }

Endpoint public

GET/api/public/teaser
Aperçu public (sans clé) : principaux indices et tendance. Utilisé par la page d'accueil.
curl "https://africamarkets.easyit4finance.com/api/public/teaser"
Exemple de réponse
{ "market": "BRVM", "date": "2026-06-19",
  "sample": [ { "sym": "SNTS", "close": 14900, "chg": 0.95 } ] }

Référence interactive

Une spécification OpenAPI interactive est disponible sur https://africamarkets.easyit4finance.com/api/v1/docs (essai des requêtes en direct).

Créer un compte pour obtenir une clé