marketsafricaguide

Pan-African stock market data for developers: exchanges, endpoints, and what you can build

A technical guide to getting live stock prices, indices, ETFs, and market movers from NGX, GSE, NSE, JSE, BRVM, and more via one API.

2026-05-29·10 min read

African stock markets have historically been hard to access programmatically. Every exchange has its own data vendor, its own format, and its own quirks — and most global market data APIs cover African markets poorly or not at all. This guide shows how to get live African stock market data through one API, with real code.

Which exchanges can you access?

CodeExchangeCountry
NGXNigerian Exchange GroupNigeria
GSEGhana Stock ExchangeGhana
NSENairobi Securities ExchangeKenya
JSEJohannesburg Stock ExchangeSouth Africa
BRVMBourse Régionale des Valeurs MobilièresWest Africa (UEMOA)
DSEDar es Salaam Stock ExchangeTanzania
LUSELusaka Securities ExchangeZambia

Getting started

The base URL is https://mansaapi.com and every request uses a Bearer token.

List all exchanges
curl https://mansaapi.com/api/v1/markets/exchanges \
  -H "Authorization: Bearer YOUR_API_KEY"

Live stock prices on an exchange

curl
curl "https://mansaapi.com/api/v1/markets/exchanges/NGX/stocks?limit=20&sort_by=change_pct&order=desc" \
  -H "Authorization: Bearer YOUR_API_KEY"

Pan-African movers in one call

The standout endpoint: top gainers and losers across every live exchange in a single request — no need to query each market separately.

curl
curl https://mansaapi.com/api/v1/markets/movers/pan-african \
  -H "Authorization: Bearer YOUR_API_KEY"

Using the Node.js SDK

Node.js
import { MansaAPI } from "mansaapi";

const mansa = new MansaAPI({ apiKey: "mansa_live_sk_..." });

// Pan-African movers
const movers = await mansa.markets.getPanAfricanMovers({ limit: 10 });

// NGX banking stocks
const stocks = await mansa.markets.getStocks("NGX", { sector: "Banking" });

// NGX index universe
const indices = await mansa.markets.getIndices("NGX");

// Search across all exchanges
const results = await mansa.markets.search("Safaricom");

What you can build

Portfolio trackers, market dashboards, trading terminals, research tools, and AI agents that reason over African market data. Because the schema is identical across exchanges, your code doesn't change when you add a new market — query NGX today, add JSE tomorrow with the same parser.

Data refreshes every 30 minutes during market hours, with an updated_at timestamp on every response. Premium endpoints (dividends, disclosures, broker recommendations, insider trades) are available on Starter and Pro tiers.

Next steps

Read the African stock market API page, explore the markets suite docs, or get a free key and run your first call in under five minutes.

Try it now

Free API key — 100 requests/day, no credit card.

Read docs