GSE Market Data — Ghana Stock Exchange API
Pricing
from $0.25 / quotes snapshot
GSE Market Data — Ghana Stock Exchange API
The only programmatic source for Ghana Stock Exchange (GSE) data — quotes, indices, 10-day price history, company fundamentals, and official announcements for all ~40 listed equities. Prices in GHS. The data always has a delay (no real-time)
Fetch delayed equity quotes, index values, 10-day price history, company fundamentals, and official announcements for all securities listed on the Ghana Stock Exchange (GSE) in Accra.
What is the GSE?
The Ghana Stock Exchange is Ghana's national stock exchange and the principal exchange in West Africa. Key facts:
- ~38 listed equities (ordinary shares, preference shares, ETFs)
- Trading hours: Monday–Friday, 09:30–15:00 GMT
- Prices in GHS (Ghana Cedi)
- Two benchmark indices: GSE Composite Index (GSE-CI) and GSE Financial Stocks Index (GSE-FSI)
- Settlement: T+3 basis via Bank of Ghana's Central Securities Depositary
Notable listed companies include GCB Bank, MTN Ghana (MTNGH), Ecobank Ghana (EGH), Standard Chartered Ghana (SCB), AngloGold Ashanti (AGA/AADS), and TotalEnergies Ghana (TOTAL).
Modes
| Mode | Description | Source |
|---|---|---|
quotes | Latest price, change, and volume for all listed equities | kwayisi.org API |
indices | GSE Composite Index (GSE-CI) value, change, and date | afx.kwayisi.org |
historical | Daily close prices for the last ~10 trading days per ticker | afx.kwayisi.org |
company | Market cap, shares outstanding, EPS/DPS, sector, contact info | kwayisi.org API |
announcements | Official GSE news and corporate announcements with dates | gse.com.gh RSS |
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | "quotes" | Data mode: quotes, indices, historical, company, or announcements |
tickers | string[] | (all) | Optional list of GSE ticker symbols to filter, e.g. ["GCB", "MTNGH", "EGH"]. Not used in indices mode. |
maxItems | integer | 1000 | Maximum output records. Most useful for announcements and historical modes. |
Output Examples
quotes
{"ticker": "GCB","name": "GCB Bank Limited","isin": null,"sector": "Financials","currency": "GHS","price": 36.0,"change": 0.0,"change_pct": 0.0,"volume": null,"source": "kwayisi.org","fetched_at": "2026-05-28T19:15:15.121Z"}
indices
{"code": "GSE-CI","name": "GSE Composite Index","value": 14379.41,"change": 0.0,"change_pct": 0.0,"trading_date": "2026-05-28","source": "afx.kwayisi.org","fetched_at": "2026-05-28T19:15:32.437Z"}
Note: Only GSE-CI is currently machine-readable from the data source. GSE-FSI values are not published in a parseable format.
historical
{"ticker": "GCB","date": "2026-05-26","close": 36.0,"volume": 14893,"change": null,"change_pct": null,"source": "afx.kwayisi.org","fetched_at": "2026-05-28T19:16:00.000Z"}
Historical data limitation: Only the last ~10 trading days are available per ticker. There is no date selector and no way to query older data from the source. The historical data provides close price and volume only — open, high, and low are not available and are not fabricated.
company
{"ticker": "GCB","name": "GCB Bank Limited","isin": null,"sector": "Financials","industry": "Banking","market_cap_ghs": 9540000000,"shares_outstanding": 265000000,"eps": null,"dps": null,"price": 36.0,"website": "www.gcbbank.com.gh","email": "corporateaffairs@gcb.com.gh","address": "GCB Building, Thorpe Road/High Street, PO Box GP 134, Accra, Ghana","source": "kwayisi.org","fetched_at": "2026-05-28T19:15:44.820Z"}
announcements
{"ticker": null,"title": "PR-470 LISTING OF FIRST ATLANTIC BANK PLC","published_at": "2025-12-16","url": "https://gse.com.gh/pr-470-listing-of-first-atlantic-bank-plc/","summary": "PR 470 LISTING OF FIRST...","source": "gse.com.gh","fetched_at": "2026-05-28T19:15:51.862Z"}
Why Use GSE Market Data?
- Fintech apps: display live GHS stock prices for diaspora remittance and investment platforms
- Academic research: West African capital markets data for economics and finance studies
- BI tools: feed dashboards with GSE equity performance data
- Portfolio tracking: monitor GCB Bank, MTN Ghana, Ecobank, AngloGold Ashanti, and more
Scheduling (Daily EOD)
Recommended cron to pull end-of-day data:
0 16 * * 1-5
(Runs Monday–Friday at 16:00 UTC, one hour after market close)
Pricing
This actor uses pay-per-event pricing.
| Event | Price | When charged |
|---|---|---|
apify-actor-start | $0.00005 | Auto-charged by Apify on each run |
quotes-snapshot | $0.25 | Once per unfiltered quotes run (all equities) |
quote-filtered | $0.05 | Per ticker in a filtered quotes run |
index-snapshot | $0.10 | Once per indices run |
historical-row | $0.01 | Per daily row in historical mode |
company-record | $0.10 | Per company in company mode |
announcement | $0.01 | Per announcement in announcements mode |
Cost examples:
- Daily EOD quotes snapshot (all tickers): $0.25
- 5 specific tickers, filtered: $0.25 (5 × $0.05)
- 1 ticker, 10 days of history: $0.10 (10 × $0.01)
- All 38 company records: $3.80 (38 × $0.10)
- 50 announcements: $0.50 (50 × $0.01)
API Usage
JavaScript / Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('simon_maltzen/gse-market-data').call({mode: 'quotes',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_API_TOKEN')run = client.actor('simon_maltzen/gse-market-data').call(run_input={'mode': 'quotes'})items = client.dataset(run['defaultDatasetId']).list_items().items
curl
curl -X POST \'https://api.apify.com/v2/acts/simon_maltzen~gse-market-data/runs?token=YOUR_TOKEN' \-H 'Content-Type: application/json' \-d '{"mode":"quotes"}'
For AI Agents
This actor is available via the Apify MCP server. Add it to your Claude or OpenAI assistant to enable live GSE market data queries.
FAQ
What is the data latency? The kwayisi.org API is updated during market hours. Exact latency is not specified by the provider. Treat data as delayed (not real-time).
How far back does historical data go? Only the last ~10 trading days per ticker are available. There is no historical archive and no date selector. This limitation cannot be worked around — it is a constraint of the data source.
Are ISINs available?
ISINs are not published by the GSE API. The isin field will always be null.
What currency are prices in? All prices are in GHS (Ghana Cedi).
Is GSE-FSI available? Only GSE-CI is published in a machine-readable format. GSE-FSI is mentioned on the page but no numerical value is exposed.
Does the actor support real-time data? No. The exchange data is delayed. Real-time feeds are not available from any free public source.