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.

1
Request Access
Use the self-serve form below to request an API key. Personal/Learning requests are issued instantly.
2
Receive Your Key
You'll receive a unique API key tied to your account and access tier. Keep this key secure — do not expose it in client-side code.
3
Authenticate Requests
Pass your key in the X-API-Key header on every request.
HTTP Request Header
X-API-Key: your_api_key_here Content-Type: application/json
For institutional integrations, dedicated API keys with elevated rate limits and priority support are available. Reach out to discuss your requirements.

Endpoint Root

All API endpoints are served from the following base URL. Requests must be made over HTTPS.

Base URL https://www.ngxpulse.ng
All endpoints return JSON. Equities and market overview refresh during NGX market hours; ETF and index snapshots are database-backed and refreshed every 30 minutes for stable Mansa Markets ingestion.

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.

Equities
stocks
Listed NGX ordinary shares with price, volume, market cap, sector, and history coverage.
ETFs
funds
NGX exchange-traded funds with canonical symbol normalization and trading snapshot fields.
Indices
benchmarks
Full NGX index universe including ASI, sector, pension, bond, commodity, and specialist benchmarks.
Refresh
cadence
ETF and index snapshots are persisted 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
Exceeding rate limits will return a 429 Too Many Requests response. Institutional clients with high-frequency requirements should contact us for custom arrangements.

Market Data

GET /api/ngxdata/stocks All listed equities

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.

Request
GET https://www.ngxpulse.ng/api/ngxdata/stocks X-API-Key: your_api_key_here
Response · 200 OK
[ { "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 ]
Response Fields
symbol
string
NGX ticker symbol
name
string
Full company name
current_price
number
Latest trade price in NGN
change_percent
number
Percentage change from previous close
volume
integer
Shares traded today
shares_outstanding
integer
Total issued shares
sector
string
NGX sector classification
pe_ratio
number
Price-to-earnings ratio
GET /api/ngxdata/prices/:symbol Single stock price

Returns real-time price data for a single NGX listed equity by ticker symbol. Optimised for high-frequency polling of specific instruments.

Path Parameters
ParameterTypeRequiredDescription
symbol string required NGX ticker symbol e.g. DANGCEM, GTCO, ZENITHBANK
Request
GET https://www.ngxpulse.ng/api/ngxdata/prices/DANGCEM X-API-Key: your_api_key_here
Response · 200 OK
{ "symbol": "DANGCEM", "name": "Dangote Cement Plc", "current_price": 665.00, "change_percent": 2.31, "volume": 1245890, "sector": "Industrial", "pe_ratio": 18.5 }
GET /api/ngxdata/market Market overview

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.

Request
GET https://www.ngxpulse.ng/api/ngxdata/market X-API-Key: your_api_key_here
Response · 200 OK
{ "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 */ ] }
asi
number
All Share Index value
pct_change
number
ASI daily percentage change
market_cap
number
Total market capitalisation in NGN
volume
integer
Total shares traded today
value
number
Total value traded in NGN
deals
integer
Number of deals executed
advancers
integer
Number of stocks that gained
decliners
integer
Number of stocks that declined
GET /api/ngxdata/indices Full NGX index universe

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.

Request
GET https://www.ngxpulse.ng/api/ngxdata/indices
Response · 200 OK
{ "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. Example lookups include ASI and ngx-bnk.

Request
GET https://www.ngxpulse.ng/api/ngxdata/indices/ngx-bnk
Response · 200 OK
{ "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 } }
GET /api/ngxdata/etfs Full NGX ETF universe

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.

Request
GET https://www.ngxpulse.ng/api/ngxdata/etfs
Response · 200 OK
{ "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 ETF

Returns one ETF by canonical symbol, for example NEWGOLD.

Request
GET https://www.ngxpulse.ng/api/ngxdata/etfs/NEWGOLD
Response · 200 OK
{ "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 } }
GET /api/ngxdata/etfs/resolve/:symbol Normalize ETF symbol

Resolves legacy, shorthand, and vendor ETF tickers into canonical symbols used by the API.

Request
GET https://www.ngxpulse.ng/api/ngxdata/etfs/resolve/LOTUSHAL
Response · 200 OK
{ "success": true, "input": "LOTUSHAL", "canonical_symbol": "LOTUSHAL15", "slug": "lotushal15", "name": "Lotus Halal Equity ETF" }

Changelog

May 2026: Added NGX ETF and full index endpoint support. Coverage now includes equities, ETFs, and indices with database-backed 30-minute snapshots for Mansa Markets ingestion.
GET /api/ngxdata/market-status Market open/closed

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.

Response · 200 OK
{ "status": "open", // "open" | "closed" "message": "NGX Market is Open", "timestamp": "2026-03-13T10:45:00.000Z" }
NGX trading hours are 10:00 AM – 2:30 PM WAT, Monday to Friday, excluding Nigerian public holidays.
GET /api/ngxdata/disclosures Corporate disclosures

Returns recent corporate disclosures from NGX listed companies including earnings announcements, dividend declarations, rights issues, board resolutions, and other material filings.

Request
GET https://www.ngxpulse.ng/api/ngxdata/disclosures X-API-Key: your_api_key_here
Disclosures include earnings releases, dividend announcements, AGM notices, rights issues, and material regulatory filings — critical inputs for quantitative event-driven strategies.
GET /api/news Market news

Returns the latest Nigerian capital market news aggregated from leading financial publishers including Nairametrics and BusinessDay. Updated continuously during market hours.

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

StatusCodeDescription
200OKRequest successful
400Bad RequestInvalid parameters or malformed request
401UnauthorizedMissing or invalid API key
404Not FoundSymbol or resource not found
429Too Many RequestsRate limit exceeded
500Server ErrorInternal error — contact support
Error Response
{ "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.

Institutional & Enterprise Enquiries
[email protected]

General Support
Visit ngxpulse.ng/contact

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.

Personal
Personal

Get started with live NGX market data.

$ 0
Forever free
What's included
  • 100 req/day
  • Stock prices and market overview
  • NGX data only
  • Community support
Get started free
Starter
Starter

For developers building with NGX data.

$ 19
per month
↓ Billed as $180/year
Everything in Personal, plus
  • 1,000 req/day
  • All NGX endpoints
  • NASD OTC included
  • Disclosures included
  • Email support
Get Started →
Institutional
Institutional

For enterprise teams and trading desks.

$ 200
per month
↓ Billed as $2,400/year
Everything in Professional, plus
  • Custom rate limits
  • All endpoints
  • Dedicated support
  • SLA guarantee
Contact Sales →
Personal keys are issued instantly. Starter and Professional use secure Paddle checkout. Institutional remains manual review.