# Market data

> Instruments, latest prices and OHLC history — for a watchlist or a chart in your own dashboard.

Source: https://www.propexecutor.com/docs/market-data
Whole reference in one file: https://www.propexecutor.com/doc.md

The prices your accounts are filled against, and the history behind the charts. Useful if you want a watchlist or a chart in your own dashboard rather than sending traders to the executor for it.

## Instruments

`GET /v1/instruments` · **Planned** · scope `accounts:read`

<!-- 200 OK -->
```json
{
  "data": [
    {
      "instrument": "EURUSD",
      "asset_class": "fx",
      "digits": 5,
      "contract_size": 100000,
      "default_leverage": 100
    },
    {
      "instrument": "XAUUSD",
      "asset_class": "metals",
      "digits": 2,
      "contract_size": 100,
      "default_leverage": 50
    }
  ],
  "next_cursor": null
}
```

Leverage is per asset class and is frozen onto an account at creation, so this shows the default your rule sets apply going forward — not necessarily what an existing account is margined at.

## Latest prices

`GET /v1/prices` · **Planned** · scope `accounts:read`

<!-- curl -->
```bash
curl "https://api.propexecutor.com/v1/prices?instruments=EURUSD,XAUUSD,BTCUSD" \
  -H "Authorization: Bearer $PFX_KEY"
```

| Field | Type | Description |
| --- | --- | --- |
| `instrument` | string | The symbol. |
| `bid` | number | Where a long closes. |
| `ask` | number | Where a long opens. |
| `timestamp` | integer | Unix milliseconds of the last update. |
| `stale` | boolean | `true` when nothing has been published for this symbol inside the cache window — the market is closed, or that symbol’s feed is down. Show it as stale rather than as a live price. |

> **This is a snapshot, not a stream**
> Polling this per symbol per second will spend your [read budget](https://www.propexecutor.com/docs/rate-limits) and still be behind. For a live ticker, use the executor, or ask us about a streaming endpoint — [book a call](https://www.propexecutor.com/consultation).

## Candles

`GET /v1/candles` · **Planned** · scope `accounts:read`

OHLC bars for one instrument, rolled up from one-minute bars. History goes back to 2000 for FX and metals and 2015 for BTCUSD; newer symbols start when our feed did.

| Field | Type | Description |
| --- | --- | --- |
| `instrument` | string · required | One symbol per request. |
| `interval` | string | `1m`, `5m`, `15m`, `1h`, `4h`, `1d`. Default `1h`. |
| `before` | timestamp | Page backwards from here — how the executor's chart loads older history on scroll. |
| `limit` | integer | Bars per request. Default 500, maximum 5000. |

Bars are bid-side, matching what the executor charts and what a real terminal shows.
