# Johannesburg Stock Exchange — Wrapped API

> **You are on:** `https://api.paywithlocus.com/api` | [llms.txt](https://paywithlocus.com/llms.txt) | [docs](https://docs.paywithlocus.com)
>
> Locus runs on multiple environments -- make sure every URL you call matches your expected environment.
> | Environment | Landing | API | Docs |
> |---|---|---|---|
> | Production | paywithlocus.com | api.paywithlocus.com | docs.paywithlocus.com |
> | Beta | beta.paywithlocus.com | api.beta.paywithlocus.com | docs.paywithlocus.com |
> | Stage | stage.paywithlocus.com | api.stage.paywithlocus.com | docs.paywithlocus.com |
>
> If the API URL above doesn't match your expected environment, re-fetch this file from the correct domain.

> Access live JSE stock prices, company profiles, and market indices from the Johannesburg Stock Exchange. Search SENS announcements and view comprehensive market statistics to stay informed on JSE activity.

**Category:** Finance & Markets | **Website:** [jse.co.za/](https://jse.co.za/) | **Docs:** [parse.bot/marketplace/a87c3097-c188-4979-83c0-3228485b42e1/jse-co-za-api](https://parse.bot/marketplace/a87c3097-c188-4979-83c0-3228485b42e1/jse-co-za-api)

Pay-per-use API proxy. Each call is automatically billed to your wallet in USDC.

## Access

**Base URL:** `https://api.paywithlocus.com/api/wrapped/parse-jse-co-za-api-a87c3097/`
**Auth:** `Authorization: Bearer <LOCUS_API_KEY>`

## Endpoints

### get_company_profile

Retrieves the profile of a specific listed company by its ticker symbol. Matches against both AlphaCode and CustomerAlphaCode fields. Returns stale_input with kind 'input_not_found' if the symbol does not match any listed company. Use get_listed_companies to discover valid symbols.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `symbol` | string | Yes | The company's ticker symbol or alpha code, case-insensitive (e.g., '4SI', 'ABG', 'AGL') |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jse-co-za-api-a87c3097/get_company_profile \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"symbol":"<string>"}'
```

### get_homepage_indices

Retrieves the four main market indices from the JSE homepage (All Property, All Share, Top 40, Tradable Property) with current prices and change percentages. Returns a fixed set of four indices that represent the JSE's headline performance.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jse-co-za-api-a87c3097/get_homepage_indices \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_listed_companies

Retrieves the full list of listed companies and financial instruments from the JSE Client Portal, including full profile details such as address, phone, email, and website. Typically returns 300+ equity issuers.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jse-co-za-api-a87c3097/get_listed_companies \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_market_statistics_summary

Retrieves a summary of market statistics combining the main indices from the homepage and top movers (by absolute change percent) from the equity market ticker data. Provides a single-call overview of market conditions.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jse-co-za-api-a87c3097/get_market_statistics_summary \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### get_ticker_prices

Retrieves live stock ticker prices for all listed equities using the JSE's internal AJAX API. Returns symbol, name, price, change_percent, volume, high, and low for each equity. The full list typically contains 300+ equities.

**Estimated cost:** Metered

_No parameters required._

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jse-co-za-api-a87c3097/get_ticker_prices \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{}'
```

### search_sens_announcements

Searches for SENS (Stock Exchange News Service) announcements within a date range. Defaults to the last 30 days if no dates are specified. Returns announcements sorted by date descending with title, date, issuers, and PDF link. Can return hundreds of announcements for wide date ranges.

**Estimated cost:** Metered

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `end_date` | string | No | End date in YYYY-MM-DD format. Omitting defaults to today. |
| `start_date` | string | No | Start date in YYYY-MM-DD format. Omitting defaults to 30 days before today. |

```bash
curl -X POST https://api.paywithlocus.com/api/wrapped/parse-jse-co-za-api-a87c3097/search_sens_announcements \
  -H "Authorization: Bearer YOUR_LOCUS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"end_date":"<string>","start_date":"<string>"}'
```
