Prices
Reference prices for assets in usd, eur, gbp, ghs or ngn (median of public exchange feeds).
# Prices
`GET https://api.rarebl.com/open/market/price`
Reference prices aggregated from public exchange feeds: the median of fresh sources, outliers more than 2% from the median excluded. Not Rarebl trading rates.
**Rate class:** read (5 requests per second, burst 20, per IP). **Available since:** Open API v2.
## Request
Send the parameters as query parameters (GET) or as a JSON object (POST with `Content-Type: application/json`). They are identical either way. No API key is needed: `X-API-KEY` is reserved and ignored.
Example: `curl "https://api.rarebl.com/open/market/price?assets=btc%2Ceth"e=usd"`
## Parameters
| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `assets` | string | Yes | Comma-separated asset symbols. |
| `quote` | string | No | Quote currency. Besides usd, eur, gbp, ghs and ngn are derived through FX. Default usd. One of: usd, eur, gbp, ghs, ngn. |
## Responses
### API200 (HTTP 200): OK
Prices (a real reply, shortened).
```json
{
"status": 1,
"code": "API200",
"message": "success",
"data": {
"prices": [
{
"asset": "BTC",
"quote": "USD",
"price": "63421.45",
"change24h": "-7.1155",
"sources": [
{
"id": "binance",
"pair": "BTC/USD",
"price": 63449.83,
"volume": 11.75039
},
{
"id": "kraken",
"pair": "BTC/USD",
"price": 63426.4,
"volume": 5752.38744852
},
{
"id": "coinbase",
"pair": "BTC/USD",
"price": 63421.45,
"volume": 16529.56926348
}
],
"stale": false,
"updatedAt": "2026-11-15T01:00:51.309Z"
},
{
"asset": "ETH",
"quote": "USD",
"price": "1741.94",
"change24h": "-9.7052",
"sources": [
{
"id": "binance",
"pair": "ETH/USD",
"price": 1742.98,
"volume": 122.249
},
{
"id": "kraken",
"pair": "ETH/USD",
"price": 1740.61,
"volume": 63575.06022326
},
{
"id": "coinbase",
"pair": "ETH/USD",
"price": 1740.96,
"volume": 265726.23468535
}
],
"stale": false,
"updatedAt": "2026-11-15T01:00:51.437Z"
}
]
},
"go": null,
"meta": {
"requestid": "0123456789abcdef",
"notices": []
}
}
```
| Field | Type | Description |
| --- | --- | --- |
| `data.prices[]` | object[] | `{asset, quote, price, change24h, sources[], stale, updatedAt}`. |
| `prices[].stale` | boolean | true when fresh sources are missing. |
### API400 (HTTP 400): Bad Request
A parameter is missing or malformed. `data.param` names it (here `assets`).
```json
{
"status": 0,
"code": "API400",
"message": "Missing parameter: assets.",
"data": {
"param": "assets"
},
"go": null,
"meta": {
"requestid": "0123456789abcdef",
"notices": []
}
}
```
### API429 (HTTP 429): Too Many Requests
Rate limited (read class: 5 requests per second, burst 20, per IP). A `Retry-After` header says how long to wait, in seconds.
```json
{
"status": 0,
"code": "API429",
"message": "Too many requests. Please retry shortly.",
"data": null,
"go": null,
"meta": {
"requestid": "0123456789abcdef",
"notices": []
}
}
```
## Notes
- **Reference prices, not trading rates.** Rarebl does not guarantee that you can trade at these prices. See [Market data and fees](https://docs.rarebl.com/guides/market-data).
- Sources are attributed in `sources`. Check `stale` before you display a price.