# Symbol price ticker (MARKET_DATA)

## API Description

Latest quote for a symbol, or for every symbol.

## HTTP Request

```http
GET /v1/ticker/price
```

## Request Weight

1 with `symbol`, 2 without

## Request Parameters

| Name | Type | Mandatory | Description |
| - | - | - | - |
| `symbol` | STRING | NO | Exact, case-sensitive. Omit for all symbols. |

## Response Example

**Response** (with `symbol`)

```json
{"symbol":"XAUUSD","bid":"2331.15","ask":"2331.42","last":"2331.15","time":1789012345678}
```

**Response** (without `symbol`) — an array of the same object.

```json
[
  {"symbol":"XAUUSD","bid":"2331.15","ask":"2331.42","last":"2331.15","time":1789012345678},
  {"symbol":"BTCUSD","bid":"64120.50","ask":"64135.00","last":"64120.50","time":1789012345671}
]
```

| Field | Type | Description |
| - | - | - |
| `symbol` | STRING | |
| `bid` | DECIMAL | Best bid. What a sell fills at. |
| `ask` | DECIMAL | Best ask. What a buy fills at. |
| `last` | DECIMAL | Last traded price. On many forex/CFD symbols MT5 reports `last` as `0` or equal to `bid` — the tradable prices are `bid` and `ask`. |
| `time` | LONG | Quote time, Unix ms. |

A symbol that is currently streamed is served from the live feed. Otherwise the single-symbol form
reads the last quote from the trade server (`-5015` if it cannot be reached), and the all-symbols
form takes `bid`, `ask` and `last` from the trade server's daily statistics with `time` set to the
moment of the response. If the trade server cannot be reached, the all-symbols form returns only the
streamed symbols — possibly an empty array — rather than an error. An unknown `symbol` is `-1121`.
