Mansa Markets/Developer API
◆ Pan-African Stock Market Data · REST API

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.

21 tracked exchanges · 33 countries · 21 full quote feeds
Real-time equities, ETFs, indices, gainers, losers, market cap
Historical OHLCV data going back years
Self-serve API keys, no sales call
Commercial licensing, redistribute data in your app
African forex rates, NGN, GHS, KES, ZAR and more
View Endpoints
◆ Quick Start
Python
# Get all NGX stocks
import requests r = requests.get(
 "https://www.mansaapi.com/api/v1/stocks",
 params={"exchange": "NGX"}
)
# → {"stocks": [...], "count": 148}
JavaScript
// 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 }
JSON Response
{
 "ticker": "MTNGH",
 "exchange": "GSE",
 "price": 6.53,
 "change_pct": 0.77,
 "volume": 34850000
}
◆ NGX Market Coverage

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.

GET/api/ngxdata/indices

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.

Example request
https://www.mansaapi.com/api/ngxdata/indices
Authorization: Bearer mansa_live_sk_your_key_here
Example JSON
{ "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 } ]
}
GET/api/ngxdata/indices/{code}

Single NGX index

Returns one NGX index by code or slug. Valid lookups include ASI and ngx-bnk.

Example request
https://www.mansaapi.com/api/ngxdata/indices/ngx-bnk
Authorization: Bearer mansa_live_sk_your_key_here
Example JSON
{ "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 }
}
GET/api/ngxdata/indices/{code}/history

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).

Example request
https://www.ngxpulse.ng/api/ngxdata/indices/asi/history?from=2020-01-01
X-API-Key: your_ngx_pulse_key
Example JSON
{ "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 } ]
}
GET/api/ngxdata/etfs

NGX ETF snapshot

Returns the full NGX ETF universe snapshot. Data is persisted, served from Supabase-backed snapshots, and refreshed every 30 minutes.

Example request
https://www.mansaapi.com/api/ngxdata/etfs
Authorization: Bearer mansa_live_sk_your_key_here
Example JSON
{ "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" } ]
}
GET/api/ngxdata/etfs/{symbol}

Single NGX ETF

Returns one ETF by canonical symbol.

Example request
https://www.mansaapi.com/api/ngxdata/etfs/NEWGOLD
Authorization: Bearer mansa_live_sk_your_key_here
Example JSON
{ "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 }
}
GET/api/ngxdata/etfs/resolve/{symbol}

Resolve ETF symbol

Normalizes legacy, shorthand, or vendor ETF tickers into the canonical symbols used by the API.

Example request
https://www.mansaapi.com/api/ngxdata/etfs/resolve/LOTUSHAL
Authorization: Bearer mansa_live_sk_your_key_here
Example JSON
{ "success": true, "input": "LOTUSHAL", "canonical_symbol": "LOTUSHAL15", "slug": "lotushal15", "name": "Lotus Halal Equity ETF"
}
Release note: NGX ETF and full NGX index endpoint support is now available for ingestion. Instrument coverage now includes Equities, ETFs, and Indices.
◆ Who Uses the API

Built For

📱
Fintech Apps
Portfolio trackers, investment platforms, and mobile trading tools. Power your Nigerian or Ghanaian fintech with live African market data.
🏦
Institutional Research
Asset managers, hedge funds, and research teams accessing pan-African equity data at scale. Replaces expensive Bloomberg African market subscriptions.
📊
Data Analytics
Quant researchers and data scientists building models on African equity markets. Historical OHLCV data going back years across all exchanges.
🌍
Pan-African Platforms
Platforms serving investors across multiple African countries. One API key gives you NGX, GSE, NSE, JSE data simultaneously.
📰
Media & Publishing
Financial news sites, newsletters, and publications displaying live African market data. Embed live prices directly into editorial content.
🤖
AI & Automation
Investment recommendation engines, automated alerts, and AI-powered financial tools. Feed African market data into your models via REST.
◆ REST API

API Endpoints

Base: www.mansaapi.com
GET/api/v1/markets/exchanges
All tracked African exchanges with metadata, trading hours, and live status.
Auth: API Key
GET/api/v1/markets/exchanges/{exchange_code}
Single exchange detail, country, currency, trading sessions, listed count.
Auth: API Key
GET/api/v1/markets/exchanges/{exchange_code}/stocks
All stocks listed on an exchange. Filter by sector and market cap.
Auth: API Key
GET/api/v1/markets/exchanges/{exchange_code}/stocks/{ticker}
Single stock, price, change, volume, market cap, OHLCV.
Auth: API Key
GET/api/v1/markets/exchanges/{exchange_code}/stocks/{ticker}/history
Historical daily OHLCV. Params: from, to, interval.
Auth: API Key
GET/api/v1/markets/exchanges/{exchange_code}/stocks/{ticker}/fundamentals
Company fundamentals, P/E, EPS, dividend yield, revenue, sector classification.
Auth: API Key
GET/api/v1/markets/exchanges/{exchange_code}/movers
Top gainers and losers for a single exchange today.
Auth: API Key
GET/api/v1/markets/search
Full-text search across all listings on all tracked exchanges.
Auth: API Key
GET/api/v1/markets/trending
Trending stocks across all African exchanges by volume and momentum.
Auth: API Key
GET/api/v1/markets/movers/pan-african
Top gainers and losers across ALL tracked African exchanges.
Auth: API Key
GET/api/v1/markets/indices
All pan-African benchmark indices. Index value, daily change, 52W high/low, YTD.
Auth: 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.
Auth: 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.
Auth: API Key
GET/api/v1/markets/exchanges/{exchange_code}/indices/{code}
Single index by code. Example: DSEI, TSI, BI, IA, or CS on DSE.
Auth: API Key
GET/api/v1/markets/exchanges/{exchange_code}/indices/{code}/history
Historical index points for one code. Example: DSEI history with range=1Y.
Auth: API Key
GET/api/v1/markets/exchange-metadata
Aggregate metadata for every exchange, listed count, total market cap, session windows.
Auth: API Key
GET/api/v1/markets/forex
African currency rates, NGN, GHS, KES, ZAR, EGP, MAD, XOF, and more vs USD/EUR/GBP.
Auth: API Key
GET/api/v1/markets/commodities
Commodity prices relevant to African markets, gold, oil, cocoa, copper, coffee, lithium.
Auth: API Key
GET/api/v1/markets/exchanges/NGX/indices
NGX index universe, All-Share, sector indices, premium board.
Auth: API Key
GET/api/v1/markets/exchanges/NGX/indices/{code}
Single NGX index by code or slug, e.g. ASI or ngx-bnk.
Auth: API Key
GET/api/v1/markets/exchanges/NGX/etfs
NGX ETF universe snapshot. Refreshed every 30 minutes.
Auth: API Key
GET/api/v1/markets/exchanges/NGX/etfs/{symbol}
Single NGX ETF by canonical symbol, e.g. NEWGOLD.
Auth: API Key
GET/api/v1/markets/exchanges/NGX/etfs/resolve/{symbol}
ETF symbol normalization helper for legacy, shorthand, and vendor tickers.
Auth: 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
◆ Simple Pricing

API Pricing

Standard is free and issued instantly. Paid plans are billed in USD and your API key is issued automatically right after payment.

Standard
Free
Request access by email
  • 100 requests per day
  • 33 countries across 21 exchanges
  • Real-time stock prices
  • Index values & movers
  • Personal use only
Starter
$20
per month · billed monthly
  • 1000 requests per day
  • 33 countries across 21 exchanges
  • Real-time prices
  • Commercial use rights
  • Monthly access request
Popular
Professional
$50
per month · billed monthly
  • 10,000 requests per day
  • 33 countries across 21 exchanges
  • Commercial use rights
  • Use in production apps
  • Monthly access request
Institutional
$200
per month · billed monthly
  • Unlimited requests
  • Custom endpoints available
  • Bulk export + support
  • SLA guarantee
  • Dedicated onboarding
◆ Frequently Asked

API FAQ

Is there a free African stock market API?
Yes. The Mansa Markets Standard tier is completely free with 100 requests per day. It covers 33 countries across 21 tracked African exchanges with full quote feeds. No credit card required — request your key instantly from this page.
Can I use the API commercially?
Commercial use, including redistribution of data in your app, requires the Professional tier at $50/month. The free Standard tier is for personal projects only.
What African exchanges does the API cover?
The API covers 33 countries through 21 tracked exchanges: NGX (Nigeria), GSE (Ghana), NSE (Kenya), JSE (South Africa), MSE (Malawi), RSE (Rwanda), EGX (Egypt), CSE (Morocco), BRVM (West Africa), BVMAC (Central Africa / CEMAC), DSE (Tanzania), LuSE (Zambia), BSE (Botswana), USE (Uganda), ZSE (Zimbabwe), SEM (Mauritius), ESE (Eswatini), BVC (Cape Verde), SGBV (Algeria), BVMT (Tunisia), and NSX (Namibia).
Does the API cover NGX ETFs and indices?
Yes. NGX coverage now includes equities, ETFs, and the full NGX index universe. The ETF and index endpoints are database-backed, persisted in Supabase snapshots, and refreshed every 30 minutes for Mansa Markets ingestion.
How often is API data updated?
API data is updated every 30 minutes during each exchange's market trading hours. After market close, data reflects official end-of-day closing figures. All responses include an updated_at timestamp.
Do you offer a pan-African movers endpoint?
Yes. The /movers/pan-african endpoint returns top gainers and losers across all covered African exchanges simultaneously, one of our most popular endpoints for cross-market fintech apps.
How do I get an API key?
Standard keys are issued instantly from this page. Starter, Professional, and Institutional plans open secure Flutterwave checkout, then your API key is created and emailed after payment confirmation.