One API.
33 Countries.
Access real-time and historical stock market data across 33 African countries and 21 tracked exchanges through a single, developer-friendly REST API. Self-serve keys. Transparent pricing. No Bloomberg terminal required.
# Get all NGX stocks import requests r = requests.get( "https://www.mansaapi.com/api/v1/stocks", params={"exchange": "NGX"} ) # → {"stocks": [...], "count": 148}
// Get GSE index value const res = await fetch( `https://www.mansaapi.com/api/v1/index/GSE`) const { index_value, change_pct } = await res.json() // → { index_value: 15700.75, change_pct: -1.34 }
{
"ticker": "MTNGH",
"exchange": "GSE",
"price": 6.53,
"change_pct": 0.77,
"volume": 34850000
}Equities, ETFs, and Indices
The NGX ETF and index endpoints are live from NGX Pulse and exposed for Mansa API ingestion through mansaapi.com. On Mansa API they require a Bearer API key, are database-backed, persisted in Supabase snapshots, and refreshed every 30 minutes during market coverage windows.
NGX indices snapshot
Returns the full NGX index universe snapshot. This is a database-backed NGX Pulse feed, refreshed every 30 minutes and intended for Mansa Markets ingestion alongside stock coverage.
https://www.mansaapi.com/api/ngxdata/indices Authorization: Bearer mansa_live_sk_your_key_here
{ "success": true, "source": "NGX chartdata", "updated_at": "2026-05-20T10:30:00.000Z", "count": 21, "data": [ { "code": "ASI", "slug": "asi", "name": "NGX ALL SHARE INDEX", "description": "The All-Share Index tracks the general market movement.", "currentPrice": 251635.42, "changePercentage": 0.57, "currentDateTime": "2026-05-20T10:30:00.000Z", "points": 7510, "weekChange": -0.11, "monthChange": 15.21, "yearChange": 128.06, "inceptionChange": 4677.59 } ]
}Single NGX index
Returns one NGX index by code or slug. Valid lookups include ASI and ngx-bnk.
https://www.mansaapi.com/api/ngxdata/indices/ngx-bnk Authorization: Bearer mansa_live_sk_your_key_here
{ "success": true, "input": "ngx-bnk", "code": "NGXBNK", "slug": "ngx-bnk", "updated_at": "2026-05-20T10:30:00.000Z", "data": { "code": "NGXBNK", "name": "NGX BANKING", "currentPrice": 2394.25, "changePercentage": 0.17, "weekChange": -1.60, "monthChange": 5.91, "yearChange": 103.96 }
}NGX index history
Returns the complete daily value series for an NGX index from official NGX data. The All-Share Index covers 1996 to the latest close; sector indices cover their full published life. Filter the window with from and to (YYYY-MM-DD).
https://www.ngxpulse.ng/api/ngxdata/indices/asi/history?from=2020-01-01 X-API-Key: your_ngx_pulse_key
{ "success": true, "code": "ASI", "slug": "asi", "name": "NGX ALL SHARE INDEX", "count": 1592, "first_date": "2020-01-02", "last_date": "2026-06-09", "history": [ { "date": "2020-01-02", "value": 26867.79 } ]
}NGX ETF snapshot
Returns the full NGX ETF universe snapshot. Data is persisted, served from Supabase-backed snapshots, and refreshed every 30 minutes.
https://www.mansaapi.com/api/ngxdata/etfs Authorization: Bearer mansa_live_sk_your_key_here
{ "success": true, "source": "NGX ETF snapshot", "updated_at": "2026-05-20T10:30:00.000Z", "count": 12, "data": [ { "symbol": "NEWGOLD", "canonical_symbol": "NEWGOLD", "slug": "newgold", "name": "NewGold ETF", "issuer": "NewGold Issuer Limited", "isin": "NGNEWGOLD001", "description": "Exchange traded fund listed on NGX.", "instrument_type": "ETF", "exchange": "NGX", "currency": "NGN", "sector": "Exchange Traded Fund", "previous_close": 57500, "open": 57500, "high": 58000, "low": 57500, "close": 58000, "change": 500, "change_percentage": 0.87, "trades": 14, "volume": 1200, "value": 69600000, "detail_url": "https://ngxpulse.ng/etfs/newgold" } ]
}Single NGX ETF
Returns one ETF by canonical symbol.
https://www.mansaapi.com/api/ngxdata/etfs/NEWGOLD Authorization: Bearer mansa_live_sk_your_key_here
{ "success": true, "input": "NEWGOLD", "canonical_symbol": "NEWGOLD", "updated_at": "2026-05-20T10:30:00.000Z", "data": { "symbol": "NEWGOLD", "canonical_symbol": "NEWGOLD", "name": "NewGold ETF", "close": 58000, "change_percentage": 0.87, "volume": 1200, "value": 69600000 }
}Resolve ETF symbol
Normalizes legacy, shorthand, or vendor ETF tickers into the canonical symbols used by the API.
https://www.mansaapi.com/api/ngxdata/etfs/resolve/LOTUSHAL Authorization: Bearer mansa_live_sk_your_key_here
{ "success": true, "input": "LOTUSHAL", "canonical_symbol": "LOTUSHAL15", "slug": "lotushal15", "name": "Lotus Halal Equity ETF"
}Built For
API Endpoints
| Method | Endpoint | Description | Auth |
|---|---|---|---|
| GET | /api/v1/markets/exchanges | All tracked African exchanges with metadata, trading hours, and live status. | API Key |
| GET | /api/v1/markets/exchanges/{exchange_code} | Single exchange detail, country, currency, trading sessions, listed count. | API Key |
| GET | /api/v1/markets/exchanges/{exchange_code}/stocks | All stocks listed on an exchange. Filter by sector and market cap. | API Key |
| GET | /api/v1/markets/exchanges/{exchange_code}/stocks/{ticker} | Single stock, price, change, volume, market cap, OHLCV. | API Key |
| GET | /api/v1/markets/exchanges/{exchange_code}/stocks/{ticker}/history | Historical daily OHLCV. Params: from, to, interval. | API Key |
| GET | /api/v1/markets/exchanges/{exchange_code}/stocks/{ticker}/fundamentals | Company fundamentals, P/E, EPS, dividend yield, revenue, sector classification. | API Key |
| GET | /api/v1/markets/exchanges/{exchange_code}/movers | Top gainers and losers for a single exchange today. | API Key |
| GET | /api/v1/markets/search | Full-text search across all listings on all tracked exchanges. | API Key |
| GET | /api/v1/markets/trending | Trending stocks across all African exchanges by volume and momentum. | API Key |
| GET | /api/v1/markets/movers/pan-african | Top gainers and losers across ALL tracked African exchanges. | API Key |
| GET | /api/v1/markets/indices | All pan-African benchmark indices. Index value, daily change, 52W high/low, YTD. | API Key |
| GET | /api/v1/markets/indices/{index_code}/history | Daily historical values for any tracked African index. NGX ASI from 1996, JSE All Share from 1995, SEMDEX from 1990, EGX 30 and TUNINDEX from 1998, most frontier indices from 2015. Params: from, to. | API Key |
| GET | /api/v1/markets/exchanges/{exchange_code}/indices | All available indices for one exchange. DSE returns TSI, DSEI, BI, IA, and CS when current data is available. | API Key |
| GET | /api/v1/markets/exchanges/{exchange_code}/indices/{code} | Single index by code. Example: DSEI, TSI, BI, IA, or CS on DSE. | API Key |
| GET | /api/v1/markets/exchanges/{exchange_code}/indices/{code}/history | Historical index points for one code. Example: DSEI history with range=1Y. | API Key |
| GET | /api/v1/markets/exchange-metadata | Aggregate metadata for every exchange, listed count, total market cap, session windows. | API Key |
| GET | /api/v1/markets/forex | African currency rates, NGN, GHS, KES, ZAR, EGP, MAD, XOF, and more vs USD/EUR/GBP. | API Key |
| GET | /api/v1/markets/commodities | Commodity prices relevant to African markets, gold, oil, cocoa, copper, coffee, lithium. | API Key |
| GET | /api/v1/markets/exchanges/NGX/indices | NGX index universe, All-Share, sector indices, premium board. | API Key |
| GET | /api/v1/markets/exchanges/NGX/indices/{code} | Single NGX index by code or slug, e.g. ASI or ngx-bnk. | API Key |
| GET | /api/v1/markets/exchanges/NGX/etfs | NGX ETF universe snapshot. Refreshed every 30 minutes. | API Key |
| GET | /api/v1/markets/exchanges/NGX/etfs/{symbol} | Single NGX ETF by canonical symbol, e.g. NEWGOLD. | API Key |
| GET | /api/v1/markets/exchanges/NGX/etfs/resolve/{symbol} | ETF symbol normalization helper for legacy, shorthand, and vendor tickers. | API Key |
| SOON | /api/v1/markets/bonds | Pan-African sovereign bonds, FGN, Kenyan T-bonds, SARB, GoG, plus Eurobonds. | Planned |
| SOON | /api/v1/markets/bonds/auctions | Treasury Bill and bond auction results across African central banks (CBK, BoG, BoZ, BoM, RBM, SARB, NGX). | Planned |
| SOON | /api/v1/markets/dividends | Dividend declarations, ex-dividend dates, and payment calendars across tracked exchanges. | Planned |
| SOON | /api/v1/markets/disclosures | Corporate disclosures and regulatory filings from listed African companies. | Planned |
| SOON | /api/v1/markets/crypto | Crypto prices denominated in African currencies (BTC-NGN, ETH-ZAR, SOL-KES, etc.). | Planned |
API Pricing
Standard is free and issued instantly. Paid plans are billed in USD and your API key is issued automatically right after payment.
- ✓100 requests per day
- ✓33 countries across 21 exchanges
- ✓Real-time stock prices
- ✓Index values & movers
- ✓Personal use only
- ✓1000 requests per day
- ✓33 countries across 21 exchanges
- ✓Real-time prices
- ✓Commercial use rights
- ✓Monthly access request
- ✓10,000 requests per day
- ✓33 countries across 21 exchanges
- ✓Commercial use rights
- ✓Use in production apps
- ✓Monthly access request
- ✓Unlimited requests
- ✓Custom endpoints available
- ✓Bulk export + support
- ✓SLA guarantee
- ✓Dedicated onboarding