Get current normalized quotes for assets
Get normalized real-time and near-real-time price quotes for up to 20 canonical asset IDs in a single request.
📌 Supported Canonical Asset ID Formats
IDs are case-insensitive; the response echoes the ID exactly as sent. An unsupported ID returns price: null with the reason in warnings.
- Cryptocurrency:
crypto:<TICKER>-<QUOTE>— any major-exchange ticker resolves, including long-tail coins (e.g.crypto:LTC-USD,crypto:TRX-USD,crypto:PEPE-USD).crypto:BTC-VNDis priced in VND.crypto:USDT-USDis derived from the inverse of a USD stablecoin pair (data_status: partial).crypto:USDT-VND/crypto:USDC-VND(orcurrency=VND) use the P2P market rate (median of the top 10 merchant offers) withbid/ask, falling back to the USD price × bank rate. - Forex:
fx:<BASE>-<QUOTE>orforex:<BASE>-<QUOTE>, any ISO-4217 pair. VND pairs use a Vietnamese bank board (bid= transfer buy,ask= sell), falling back to a daily reference rate; other pairs use central-bank reference rates. - Precious Metals (spot):
metal:XAU,metal:XAG,metal:XPT,metal:XPD— USD per troy ounce; futures are used as a flagged proxy if spot sources fail. - Vietnam domestic gold:
gold_vn:SJC,gold_vn:RING-9999(vàng nhẫn 999.9),gold_vn:JEWELRY-9999, … — VND perchi, retailer board withbid(giá mua vào) andask(giá bán ra). - Equities / Stocks:
stock:<TICKER>with an exchange suffix outside the US (e.g.stock:AAPL,stock:VNM.VN). - Market Indexes:
index:^GSPC,index:NDX. - Commodity Futures:
future:gold,future:silver,future:crude_oil,future:brent_crude_oil.
⚙️ Unit, Currency & Side
currency: Convert into any ISO-4217 currency (e.g.USD,VND,EUR). Conversion uses the live FX rate and is noted inwarnings.unit: Mass units convert into each other for metals andgold_vn:troy_ounce,g,kg,chi(3.75 g),luong(37.5 g). Other supported units:coin,barrel,share,point,currency. An incompatible unit is reported inwarnings, never silently relabelled.rate_type: For two-way quotes (bid/askpresent: fx VND,gold_vn, USDT/USDC in VND), choose which side becomesprice:mid(default),buy(dealer buys = giá mua vào, what you receive when selling),sell(dealer sells = giá bán ra).
📊 Data Statuses (data_status)
live: Real-time data from primary market provider.delayed: Market provider data delayed (e.g., stock market 15-min delay).stale: Last known quote exceeds freshness thresholds.partial: Fallback or derived pricing applied (seewarnings).unavailable: Data temporarily unavailable from providers.
💳 Billing & Rate Limits
- Cost: 0.20 credit points per request.
- Rate Limit: 60 requests per second.
Parameters
query
| Name | Type | Description |
|---|---|---|
assets* |
string |
Comma-separated canonical asset IDs (e.g. crypto:BTC-USD,fx:USD-VND,metal:XAU,gold_vn:RING-9999); max 20 (e.g.crypto:BTC-USD,metal:XAU) |
currency |
string |
ISO-4217 quote currency conversion (e.g. USD, EUR, VND) (e.g.USD) |
unit |
string |
Compatible unit conversion (e.g. troy_ounce, g, kg, chi, luong for metals) (e.g.coin) |
include_change |
boolean |
Include 24h price change and previous close (e.g.true) |
rate_type |
string |
Which side of a two-way quote becomes mid) |
Responses
Successful response returning normalized asset quotes
Response schema
| Property | Type | Description |
|---|---|---|
data* |
array[object] |
List of market quotes matching request order |
Response example (Crypto & Precious Metal Quotes)
{
"data": [
{
"asset_id": "crypto:BTC-USD",
"name": "Bitcoin",
"price": 67420.5,
"currency": "USD",
"unit": "coin",
"change_24h": 1620.5,
"change_24h_percent": 2.46,
"updated_at": 1774684800,
"data_status": "live"
},
{
"asset_id": "metal:XAU",
"name": "Gold Spot",
"price": 2350.75,
"currency": "USD",
"unit": "troy_ounce",
"change_24h": 10.75,
"change_24h_percent": 0.46,
"updated_at": 1774684800,
"data_status": "live"
}
]
}
Response example (Currency Converted Quote (VND))
{
"data": [
{
"asset_id": "crypto:BTC-USD",
"name": "Bitcoin",
"price": 1715851725,
"currency": "VND",
"unit": "coin",
"change_24h": 41241725,
"change_24h_percent": 2.46,
"updated_at": 1774684800,
"data_status": "live"
}
]
}
Bad Request - Invalid query parameters or unsupported unit
Response example
{
"detail": {
"error": {
"code": 400,
"message": "unit must be one of ['barrel', 'coin', 'currency', 'g', 'kg', 'point', 'share', 'troy_ounce']"
}
}
}
Unauthorized - Missing or invalid X-Api-Key header
Response example
{
"statusCode": 401,
"error": "Unauthorized",
"message": "api_key: Invalid credentials"
}
Unprocessable Entity - Request validation failed (e.g. >20 assets or invalid currency code)
Response example
{
"detail": {
"error": {
"code": 422,
"message": "Maximum 20 assets allowed per request"
}
}
}
Bad Gateway - Data provider connectivity or retrieval error
Response example
{
"detail": {
"error": {
"code": 502,
"message": "Upstream market data provider error"
}
}
}