jse.co.za APIjse.co.za ↗
Access live JSE stock prices, market indices, company profiles, and SENS announcements via the Johannesburg Stock Exchange API. 6 endpoints, no scraping setup required.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/90a6e6bc-cee5-49eb-b586-83f8689fca4d/get_homepage_indices' \ -H 'X-API-Key: $PARSE_API_KEY'
Retrieves the four main market indices from the JSE homepage (All Property, All Share, Top 40, Tradable Property) with current prices and change percentages.
No input parameters required.
{
"type": "object",
"fields": {
"indices": "array of objects with name, price, change, and timestamp"
},
"sample": {
"data": {
"indices": [
{
"name": "All Property",
"price": "11,927",
"change": "↑1.01%",
"timestamp": "30.04.2026 17:02"
},
{
"name": "All Share",
"price": "115,181",
"change": "↑1.15%",
"timestamp": "30.04.2026 17:05"
}
]
},
"status": "success"
}
}About the jse.co.za API
This API exposes 6 endpoints covering live equity prices, four main JSE market indices, full company profiles for all listed instruments, and SENS regulatory announcements from the Johannesburg Stock Exchange. The get_ticker_prices endpoint returns symbol, price, change_percent, volume, high, and low for every listed equity, while search_sens_announcements lets you query announcements by date range with direct PDF links.
Market Indices and Equity Prices
The get_homepage_indices endpoint returns the four headline JSE indices — All Property, All Share, Top 40, and Tradable Property — with current price, change percentage, and timestamp. For full equity-level detail, get_ticker_prices returns a flat array covering every listed equity: each object includes symbol, name, price, change_percent, change_value, volume, high, and low. There are no filtering parameters; the endpoint returns the full market snapshot in one call.
Company Profiles and Instrument Directory
get_listed_companies returns the complete list of instruments from the JSE Client Portal. Each company object includes AlphaCode, CustomerAlphaCode, LongName, EmailAddress, TelephoneNumber, PhysicalAddress, and PostalAddress. To look up a single company, pass a ticker symbol to get_company_profile — matching is case-insensitive against both AlphaCode and CustomerAlphaCode. If the symbol is unrecognised, the response returns a stale_input object with kind: 'input_not_found'. Use get_listed_companies first to discover valid symbols.
SENS Announcements
search_sens_announcements queries the JSE's Stock Exchange News Service by date range. Both start_date and end_date accept YYYY-MM-DD strings; omitting them defaults to the last 30 days. Each result includes id, title, reference, date, issuers, pdf_url, and url. This is the primary channel through which JSE-listed companies disclose material information, so the endpoint is useful for compliance monitoring and event-driven workflows.
Market Statistics Summary
get_market_statistics_summary aggregates data from the homepage indices and the equity ticker into a single response: the indices array, a top_movers_sample of the five equities with the highest absolute change_percent, and total_listed_equities_sample — the integer count of equities in the current snapshot. This is useful for dashboard-style views where a single call needs to surface both index-level and equity-level context.
- Monitor daily price movements across all JSE-listed equities using
change_percentandvolumefromget_ticker_prices. - Build a compliance alert tool that polls
search_sens_announcementsfor new SENS disclosures by issuer. - Populate an investor dashboard with the Top 40 and All Share index values from
get_homepage_indices. - Enrich a South African company database with registered addresses, phone numbers, and emails from
get_listed_companies. - Identify the day's biggest movers on the JSE using the
top_movers_samplefield fromget_market_statistics_summary. - Cross-reference a ticker symbol to its full company profile — including contact details — using
get_company_profile. - Retrieve historical SENS PDFs for a specific date window by supplying
start_dateandend_datetosearch_sens_announcements.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does the JSE offer an official developer API?+
What does `get_company_profile` return when a symbol is not found?+
stale_input object with kind set to 'input_not_found' rather than throwing an error. Matching is case-insensitive and checks both AlphaCode and CustomerAlphaCode. To avoid this, call get_listed_companies first to confirm a valid symbol before passing it to get_company_profile.How far back do SENS announcements go?+
search_sens_announcements endpoint accepts arbitrary start_date and end_date values in YYYY-MM-DD format, but the accessible history depends on what the JSE's news service retains. In practice, results beyond several years may be incomplete or unavailable. For recent regulatory monitoring the endpoint is reliable; for deep historical research, gaps are possible.Does the API cover JSE bond, ETF, or derivative instruments separately?+
get_ticker_prices and get_market_statistics_summary endpoints focus on listed equities, and get_listed_companies returns instruments from the Client Portal without a dedicated filter for asset class. You can fork this API on Parse and revise it to add an endpoint that filters or targets bond or ETF instrument classes specifically.