NGX Pulse
API Reference
Live Nigerian Stock Exchange data infrastructure — updated every 20 minutes during market hours. Built for developers, analysts, and institutional integrations requiring reliable, low-latency NGX market data.
API Keys
All API requests require authentication via an API key passed in the request header. Keys are issued per integration and scoped to specific access tiers.
X-API-Key header on every request.X-API-Key: your_api_key_here Content-Type: application/json
Endpoint Root
All API endpoints are served from the following base URL. Requests must be made over HTTPS.
Instrument Coverage
NGX Pulse market data now covers the full NGX instrument stack used by Mansa Markets ingestion: equities, ETFs, and indices. ETF and index endpoints are public, database-backed, served from Supabase-backed snapshots, and refreshed every 30 minutes.
Request Limits
Rate limits are applied per API key. Institutional and enterprise keys are available with custom limits based on integration requirements.
| Tier | Requests / Min | Requests / Day | Use Case |
|---|---|---|---|
| Personal | 10 | 100 | Personal / Learning |
| Starter | 20 | 1,000 | Developers / Small apps |
| Professional | 60 | 10,000 | Production Apps |
| Institutional | 120 | 50,000 | Enterprise / Trading Terminals |
429 Too Many Requests response. Institutional clients with high-frequency requirements should contact us for custom arrangements. Market Data
Returns the latest price and market data for all 150+ NGX listed equities.Includes price, percentage change, volume, market capitalisation, sector classification, and key financial ratios.
GET https://www.ngxpulse.ng/api/ngxdata/stocks X-API-Key: your_api_key_here
[ { "symbol": "DANGCEM", "name": "Dangote Cement Plc", "current_price": 665.00, "change_percent": 2.31, "volume": 1245890, "shares_outstanding": 17040507405, "sector": "Industrial", "pe_ratio": 18.5 }, // … 150+ equities ] Returns the latest price data for a single NGX listed equity by ticker symbol. Optimised for high-frequency polling of specific instruments.
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbol | string | required | NGX ticker symbol e.g. DANGCEM, GTCO, ZENITHBANK |
| days | integer | optional | Return only the most recent N trading days, e.g. ?days=30 |
| from | string | optional | Earliest trade date to include, YYYY-MM-DD. Full history runs from January 2017. |
| to | string | optional | Latest trade date to include, YYYY-MM-DD |
GET https://www.ngxpulse.ng/api/ngxdata/prices/DANGCEM X-API-Key: your_api_key_here
{ "symbol": "DANGCEM", "name": "Dangote Cement Plc", "current_price": 665.00, "change_percent": 2.31, "volume": 1245890, "sector": "Industrial", "pe_ratio": 18.5 } Returns the NGX All Share Index (ASI), total market capitalisation, trading volume, value, number of deals, and breadth data including advancers, decliners, top gainers and losers.
GET https://www.ngxpulse.ng/api/ngxdata/market X-API-Key: your_api_key_here
{ "asi": 198204.02, "pct_change": 0.63, "market_cap": 35000000000000, "volume": 540000000, "value": 4200000000, "deals": 4500, "advancers": 44, "decliners": 24, "unchanged": 2, "gainers": [ /* top gaining stocks */ ], "losers": [ /* top declining stocks */ ] }Returns the full NGX index universe snapshot. This endpoint is public, database-backed, persisted in Supabase snapshots, refreshed every 30 minutes, and intended for Mansa Markets ingestion alongside stock coverage.
GET https://www.ngxpulse.ng/api/ngxdata/indices
{ "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 } ] } Returns one NGX index by code or slug. Example lookups include ASI and ngx-bnk.
GET https://www.ngxpulse.ng/api/ngxdata/indices/ngx-bnk
{ "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 } }Returns the complete daily value series for an NGX index, sourced from official NGX data. The All-Share Index covers 1996 to the latest close — three decades of history; sector indices cover their full published life. Use from and to to slice the window.
| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | required | Index code or slug, e.g. ASI, ngx-30, ngx-bnk |
| from | string | optional | Earliest date to include, YYYY-MM-DD |
| to | string | optional | Latest date to include, YYYY-MM-DD |
GET https://www.ngxpulse.ng/api/ngxdata/indices/asi/history?from=2020-01-01
{ "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 } ] }Returns the full NGX ETF universe snapshot. This endpoint is database-backed, served from Supabase snapshots, refreshed every 30 minutes, and designed for Mansa Markets ingestion.
GET https://www.ngxpulse.ng/api/ngxdata/etfs
{ "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" } ] }Returns one ETF by canonical symbol, for example NEWGOLD.
GET https://www.ngxpulse.ng/api/ngxdata/etfs/NEWGOLD
{ "success": true, "input": "NEWGOLD", "canonical_symbol": "NEWGOLD", "updated_at": "2026-05-20T10:30:00.000Z", "data": { "symbol": "NEWGOLD", "name": "NewGold ETF", "close": 58000, "change_percentage": 0.87 } }Resolves legacy, shorthand, and vendor ETF tickers into canonical symbols used by the API.
GET https://www.ngxpulse.ng/api/ngxdata/etfs/resolve/LOTUSHAL
{ "success": true, "input": "LOTUSHAL", "canonical_symbol": "LOTUSHAL15", "slug": "lotushal15", "name": "Lotus Halal Equity ETF" }Changelog
Returns every bond listed on the NGX (FGN local bonds, FGN Eurobonds, FGN Sukuk, state government bonds, and corporate bonds) with issuer, coupon rate, maturity, currency, and the most recent secondary-market price.
GET https://www.ngxpulse.ng/api/ngxdata/bonds
{ "success": true, "source": "ngx_bonds", "count": 48, "data": [ { "ticker": "FG142037S2", "name": "FGN 14% 2037 Series 2", "issuer": "Federal Government of Nigeria", "issuer_type": "sovereign", "bond_type": "govt_local", "currency": "NGN", "coupon_rate": 14.29, "maturity_date": "2037-04-18", "clean_price": 130.0001, "latest_quote_date": "2026-05-26" } ] }Returns recent Central Bank of Nigeria primary-market auction results — Nigerian Treasury Bills (91/182/364-day), FGN bond auctions, and OMO bills. Includes stop rate, subscription rate, offered and allotted amounts.
GET https://www.ngxpulse.ng/api/ngxdata/bonds/auctions?limit=50
limit — integer, default 50, max 500{ "success": true, "source": "cbn", "count": 50, "data": [ { "country": "Nigeria", "instrument_type": "tbill", "tenor_days": 364, "tenor_label": "364-day", "auction_date": "2026-05-20", "stop_rate": 16.149, "offered_amount": 500000, "allotted_amount": 683289.346, "subscription_rate": 367.83, "currency": "NGN" } ] }Returns the current trading status of the Nigerian Stock Exchange. Useful for conditional logic in trading terminals — only poll price endpoints when the market is open.
{ "status": "open", // "open" | "closed" "message": "NGX Market is Open", "timestamp": "2026-03-13T10:45:00.000Z" } Returns recent corporate disclosures from NGX listed companies including earnings announcements, dividend declarations, rights issues, board resolutions, and other material filings.
GET https://www.ngxpulse.ng/api/ngxdata/disclosures X-API-Key: your_api_key_here
Returns the full dividend history for a single NGX listed equity, including declaration date, ex-dividend date, payment date, cash amount per share, and dividend type (interim, final, special). Ideal for yield calculations, payout-consistency screening, and dividend-investor workflows.
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbol | string | required | NGX ticker symbol e.g. GTCO, DANGCEM |
GET https://www.ngxpulse.ng/api/ngxdata/dividends/GTCO X-API-Key: your_api_key_here
Returns the latest pricing and market data for all securities listed on the NASD OTC Securities Exchange — Nigeria's over-the-counter market for unlisted public companies. Includes symbol, company name, current price, daily change, volume, and market cap.
GET https://www.ngxpulse.ng/api/nasddata/stocks X-API-Key: your_api_key_here
Returns historical daily OHLCV (open, high, low, close, volume) data for a NASD OTC listed security. Useful for backtesting, volatility studies, and longitudinal performance analysis on the Nigerian over-the-counter market.
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbol | string | required | NASD OTC ticker symbol |
GET https://www.ngxpulse.ng/api/nasddata/history/FBNH X-API-Key: your_api_key_here
Returns live foreign exchange rates for Nigerian Naira and other major African currencies against USD, GBP, EUR. Useful for currency-aware portfolio valuation, ADR analysis, and cross-border equity research.
| Parameter | Type | Required | Description |
|---|---|---|---|
| symbols | string | optional | Comma-separated currency codes e.g. NGN-USD,GHS-USD. Defaults to all tracked rates. |
GET https://www.ngxpulse.ng/api/forex/rates X-API-Key: your_api_key_here
Returns the latest Nigerian capital market news aggregated from leading financial publishers including Nairametrics and BusinessDay. Updated continuously during market hours.
GET https://www.ngxpulse.ng/api/news X-API-Key: your_api_key_here
Error Reference
NGX Pulse API uses standard HTTP status codes. All error responses include a JSON body with a message field describing the issue.
| Status | Code | Description |
|---|---|---|
| 200 | OK | Request successful |
| 400 | Bad Request | Invalid parameters or malformed request |
| 401 | Unauthorized | Missing or invalid API key |
| 404 | Not Found | Symbol or resource not found |
| 429 | Too Many Requests | Rate limit exceeded |
| 500 | Server Error | Internal error — contact support |
{ "error": true, "status": 401, "message": "Invalid or missing API key" } Get in Touch
For API access requests, institutional integration enquiries, or technical support, reach out directly.
Get Your API Key
Choose a plan below. Personal keys are issued instantly, Starter and Professional use secure self-serve checkout, and Institutional requests are reviewed within 24 hours.
Get started with live NGX market data.
- 100 req/day
- Stock prices and market overview
- NGX data only
- Community support
For developers building with NGX data.
- 1,000 req/day
- All NGX endpoints
- NASD OTC included
- Disclosures included
- Email support
For production apps and commercial integrations.
- 10,000 req/day
- All NGX endpoints
- NASD OTC included
- Disclosures included
- Forex rates
- Historical data
- Priority support
- Commercial use license
For enterprise teams and trading desks.
- Custom rate limits
- All endpoints
- Dedicated support
- SLA guarantee