africaAPI

Reference

Markets

Query African exchanges, tickers, historical market data, and FX rates through Africa API.

Current exchange coverage includes:

  • CSE for Morocco
  • NGX for Nigeria
  • JSE for South Africa

Current official FX coverage includes:

  • fx_usd_daily for broad USD-based daily rates across African currencies
  • bot_tz_fx_rates for official Bank of Tanzania-published TZS rates
  • bkam_ma_fx_rates for official Bank Al-Maghrib-published MAD rates for Morocco
  • bceao_fx_rates for official BCEAO-published XOF rates used across WAEMU countries
  • beac_fx_rates for official BEAC-published XAF rates used across CEMAC countries

Current WAEMU official FX coverage applies to:

  • Benin
  • Burkina Faso
  • Côte d'Ivoire
  • Guinea-Bissau
  • Mali
  • Niger
  • Senegal
  • Togo

Current CEMAC official FX coverage applies to:

  • Cameroon
  • Central African Republic
  • Chad
  • Congo
  • Equatorial Guinea
  • Gabon

Morocco is currently strengthened by official Bank Al-Maghrib-published MAD rates via bkam_ma_fx_rates.

Tanzania is currently strengthened by official Bank of Tanzania-published TZS rates via bot_tz_fx_rates.

List Exchanges

GET/v1/markets/exchanges

Returns exchange records with ticker counts and latest trade dates.

country_codestring
Filter to one country
limitinteger
Maximum rows to return (1-500)
Request
curl "https://api.africa-api.com/v1/markets/exchanges" \
  -G \
  -d "country_code=ng" \
  -H "Authorization: Bearer $AFRICA_API_KEY"
Response
{
  "data": [
    {
      "code": "NGX",
      "name": "Nigerian Exchange",
      "country_code": "ng",
      "currency": "NGN",
      "timezone": "Africa/Lagos",
      "primary_index_name": "NGX All-Share Index",
      "ticker_count": 189,
      "latest_trade_date": "2026-03-06"
    }
  ]
}

List Tickers

GET/v1/markets/tickers

Returns exchange-backed instruments.

exchange_codestring
Filter to one exchange, such as NGX or JSE
country_codestring
Filter to one country
instrument_typestring
Filter by type such as EQUITY, INDEX, BOND, or ETP
qstring
Search by symbol or security name
limitinteger
Maximum rows to return (1-500)
Request
curl "https://api.africa-api.com/v1/markets/tickers" \
  -G \
  -d "exchange_code=JSE" \
  -d "instrument_type=EQUITY" \
  -d "limit=2" \
  -H "Authorization: Bearer $AFRICA_API_KEY"
Response
{
  "data": [
    {
      "exchange_code": "JSE",
      "symbol": "AGL",
      "security_name": "Anglo American plc",
      "instrument_type": "EQUITY",
      "sector": "Basic Materials",
      "industry": "Metals & Mining",
      "country_code": "za",
      "latest_trade_date": "2026-03-06",
      "latest_close_price": 512.35,
      "latest_change_percent": 1.27
    }
  ]
}

Get Ticker Detail

GET/v1/markets/tickers/{exchange_code}/{symbol}
curl "https://api.africa-api.com/v1/markets/tickers/NGX/MTNN" \
  -H "Authorization: Bearer $AFRICA_API_KEY"

Get Ticker History

GET/v1/markets/tickers/{exchange_code}/{symbol}/history
curl "https://api.africa-api.com/v1/markets/tickers/NGX/MTNN/history" \
  -G \
  -d "start_date=2026-02-01" \
  -d "end_date=2026-03-06" \
  -H "Authorization: Bearer $AFRICA_API_KEY"

List Latest FX Rates

GET/v1/markets/fx-rates

Returns the latest known FX rates for the requested base currency.

For XOF and XAF countries, official regional central-bank rates may appear alongside the broader daily FX source depending on the base currency you request.

For Morocco, official Bank Al-Maghrib-published MAD rates may appear alongside the broader daily FX source depending on the base currency you request.

For Tanzania, official Bank of Tanzania-published TZS rates may appear alongside the broader daily FX source depending on the base currency you request.

If you are integrating across WAEMU countries, expect bceao_fx_rates to be the cleanest official source for XOF quotes.

If you are integrating across CEMAC countries, expect beac_fx_rates to be the cleanest official source for XAF quotes.

If you are integrating for Morocco, expect bkam_ma_fx_rates to be the cleanest official source for MAD quotes.

If you are integrating for Tanzania, expect bot_tz_fx_rates to be the cleanest official source for TZS quotes.

base_currencystring
Base currency, default USD
quote_currenciesstring
Comma-separated quote currencies
country_codestring
Filter by associated country
limitinteger
Maximum rows to return (1-500)
Request
curl "https://api.africa-api.com/v1/markets/fx-rates" \
  -G \
  -d "base_currency=USD" \
  -d "quote_currencies=NGN,ZAR,KES" \
  -H "Authorization: Bearer $AFRICA_API_KEY"
Response
{
  "data": [
    {
      "source_code": "fx_usd_daily",
      "base_currency": "USD",
      "quote_currency": "NGN",
      "country_codes": ["ng"],
      "rate_date": "2026-03-07",
      "rate": 1538.12,
      "created_at": "2026-03-07T01:05:00Z"
    }
  ]
}

Get FX History

GET/v1/markets/fx-rates/{base_currency}/{quote_currency}/history
curl "https://api.africa-api.com/v1/markets/fx-rates/USD/NGN/history" \
  -G \
  -d "start_date=2026-02-01" \
  -d "end_date=2026-03-07" \
  -H "Authorization: Bearer $AFRICA_API_KEY"

On this page