NGX Pulse
API Reference
Real-time Nigerian Stock Exchange data infrastructure. 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 | Solo builders / Small teams |
| Professional | 60 | 10,000 | Production Apps |
| Institutional | Custom | Unlimited | Enterprise / Trading Terminals |
429 Too Many Requests response. Institutional clients with high-frequency requirements should contact us for custom arrangements. Market Data
Returns real-time 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 real-time 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 |
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 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 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 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 Paddle 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