Get comparables data (JSON body)
curl --request POST \
--url https://api.glassmarkets.io/v2/metrics/comparables/aggregate/ \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"interval": "a",
"lookback": "1-day",
"bps": [
10,
50
]
}
'import requests
url = "https://api.glassmarkets.io/v2/metrics/comparables/aggregate/"
payload = {
"interval": "a",
"lookback": "1-day",
"bps": [10, 50]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({interval: 'a', lookback: '1-day', bps: [10, 50]})
};
fetch('https://api.glassmarkets.io/v2/metrics/comparables/aggregate/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.glassmarkets.io/v2/metrics/comparables/aggregate/"
payload := strings.NewReader("{\n \"interval\": \"a\",\n \"lookback\": \"1-day\",\n \"bps\": [\n 10,\n 50\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.glassmarkets.io/v2/metrics/comparables/aggregate/")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"interval\": \"a\",\n \"lookback\": \"1-day\",\n \"bps\": [\n 10,\n 50\n ]\n}")
.asString();{
"coverage": [
{
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 11650000,
"twap": 0.5089,
"vwap": 0.5082
},
{
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT",
"volume": 79460000,
"twap": 0.5086,
"vwap": 0.5081
}
],
"table": {
"rows": [
{
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 11650000,
"twap": 0.5089,
"vwap": 0.5082,
"bid_10bps": 21830,
"ask_10bps": 21840,
"n_bid_10bps": 4.975,
"n_ask_10bps": 4.978,
"bid_50bps": 116200,
"ask_50bps": 128300,
"n_bid_50bps": 25.27,
"n_ask_50bps": 25.57
},
{
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT",
"volume": 79460000,
"twap": 0.5086,
"vwap": 0.5081,
"bid_10bps": 53300,
"ask_10bps": 54490,
"n_bid_10bps": 4.997,
"n_ask_10bps": 4.997,
"bid_50bps": 525200,
"ask_50bps": 535600,
"n_bid_50bps": 25.32,
"n_ask_50bps": 25.65,
"latest_funding_rate": 0.005,
"funding_rate_interval_seconds": 14400,
"funding_rate_8h": 0.01,
"base_open_interest": 176000000,
"usd_open_interest": 89580000,
"base_liquidations": 0,
"quote_liquidations": 0,
"liquidation_price": 0,
"liquidation_orders": 0,
"funding_rate_positive_pct": 100,
"funding_rate_neutral_pct": 0,
"funding_rate_negative_pct": 0,
"funding_rate_observed_hours": 6
}
],
"volumes": [
{
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 11650000,
"twap": 0.5089,
"vwap": 0.5082
},
{
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT",
"volume": 79460000,
"twap": 0.5086,
"vwap": 0.5081
}
],
"depths": [
{
"bid_10bps": 21830,
"ask_10bps": 21840,
"n_bid_10bps": 4.975,
"n_ask_10bps": 4.978,
"bid_50bps": 116200,
"ask_50bps": 128300,
"n_bid_50bps": 25.27,
"n_ask_50bps": 25.57,
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT"
},
{
"bid_10bps": 53300,
"ask_10bps": 54490,
"n_bid_10bps": 4.997,
"n_ask_10bps": 4.997,
"bid_50bps": 525200,
"ask_50bps": 535600,
"n_bid_50bps": 25.32,
"n_ask_50bps": 25.65,
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT"
}
],
"futures": [
{
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT",
"latest_funding_rate": 0.005,
"funding_rate_interval_seconds": 14400,
"funding_rate_8h": 0.01,
"base_open_interest": 176000000,
"usd_open_interest": 89580000,
"base_liquidations": 0,
"quote_liquidations": 0,
"liquidation_price": 0,
"liquidation_orders": 0,
"funding_rate_positive_pct": 100,
"funding_rate_neutral_pct": 0,
"funding_rate_negative_pct": 0,
"funding_rate_observed_hours": 6
}
]
},
"charts": {
"mid_prices": [
{
"timestamp": "2026-09-29T00:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"mid_price": 0.5211,
"spread_abs": 0.0001183,
"spread_bps": 2.269
},
{
"timestamp": "2026-09-29T01:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"mid_price": 0.5089,
"spread_abs": 0.0001117,
"spread_bps": 2.195
}
],
"volumes": [
{
"timestamp": "2026-09-29T00:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 1674000,
"twap": 0.5212,
"vwap": 0.5217
},
{
"timestamp": "2026-09-29T01:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 3123000,
"twap": 0.5088,
"vwap": 0.5058
}
],
"depths": [
{
"timestamp": "2026-09-29T00:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"bid_10bps": 21460,
"ask_10bps": 22970,
"n_bid_10bps": 5,
"n_ask_10bps": 5
},
{
"timestamp": "2026-09-29T01:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"bid_10bps": 20680,
"ask_10bps": 20670,
"n_bid_10bps": 5,
"n_ask_10bps": 5
}
]
}
}Market data
Get comparables data (JSON body)
Same as GET /v2/metrics/comparables/aggregate/, with the parameters in a JSON body instead of the query string. List parameters accept a JSON array or a comma-separated string.
POST
/
v2
/
metrics
/
comparables
/
aggregate
/
Get comparables data (JSON body)
curl --request POST \
--url https://api.glassmarkets.io/v2/metrics/comparables/aggregate/ \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"interval": "a",
"lookback": "1-day",
"bps": [
10,
50
]
}
'import requests
url = "https://api.glassmarkets.io/v2/metrics/comparables/aggregate/"
payload = {
"interval": "a",
"lookback": "1-day",
"bps": [10, 50]
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({interval: 'a', lookback: '1-day', bps: [10, 50]})
};
fetch('https://api.glassmarkets.io/v2/metrics/comparables/aggregate/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.glassmarkets.io/v2/metrics/comparables/aggregate/"
payload := strings.NewReader("{\n \"interval\": \"a\",\n \"lookback\": \"1-day\",\n \"bps\": [\n 10,\n 50\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.glassmarkets.io/v2/metrics/comparables/aggregate/")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"interval\": \"a\",\n \"lookback\": \"1-day\",\n \"bps\": [\n 10,\n 50\n ]\n}")
.asString();{
"coverage": [
{
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 11650000,
"twap": 0.5089,
"vwap": 0.5082
},
{
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT",
"volume": 79460000,
"twap": 0.5086,
"vwap": 0.5081
}
],
"table": {
"rows": [
{
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 11650000,
"twap": 0.5089,
"vwap": 0.5082,
"bid_10bps": 21830,
"ask_10bps": 21840,
"n_bid_10bps": 4.975,
"n_ask_10bps": 4.978,
"bid_50bps": 116200,
"ask_50bps": 128300,
"n_bid_50bps": 25.27,
"n_ask_50bps": 25.57
},
{
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT",
"volume": 79460000,
"twap": 0.5086,
"vwap": 0.5081,
"bid_10bps": 53300,
"ask_10bps": 54490,
"n_bid_10bps": 4.997,
"n_ask_10bps": 4.997,
"bid_50bps": 525200,
"ask_50bps": 535600,
"n_bid_50bps": 25.32,
"n_ask_50bps": 25.65,
"latest_funding_rate": 0.005,
"funding_rate_interval_seconds": 14400,
"funding_rate_8h": 0.01,
"base_open_interest": 176000000,
"usd_open_interest": 89580000,
"base_liquidations": 0,
"quote_liquidations": 0,
"liquidation_price": 0,
"liquidation_orders": 0,
"funding_rate_positive_pct": 100,
"funding_rate_neutral_pct": 0,
"funding_rate_negative_pct": 0,
"funding_rate_observed_hours": 6
}
],
"volumes": [
{
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 11650000,
"twap": 0.5089,
"vwap": 0.5082
},
{
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT",
"volume": 79460000,
"twap": 0.5086,
"vwap": 0.5081
}
],
"depths": [
{
"bid_10bps": 21830,
"ask_10bps": 21840,
"n_bid_10bps": 4.975,
"n_ask_10bps": 4.978,
"bid_50bps": 116200,
"ask_50bps": 128300,
"n_bid_50bps": 25.27,
"n_ask_50bps": 25.57,
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT"
},
{
"bid_10bps": 53300,
"ask_10bps": 54490,
"n_bid_10bps": 4.997,
"n_ask_10bps": 4.997,
"bid_50bps": 525200,
"ask_50bps": 535600,
"n_bid_50bps": 25.32,
"n_ask_50bps": 25.65,
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT"
}
],
"futures": [
{
"exchange": {
"slug": "binance_futures",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO_PERP",
"pair": "ONDO/USDT",
"latest_funding_rate": 0.005,
"funding_rate_interval_seconds": 14400,
"funding_rate_8h": 0.01,
"base_open_interest": 176000000,
"usd_open_interest": 89580000,
"base_liquidations": 0,
"quote_liquidations": 0,
"liquidation_price": 0,
"liquidation_orders": 0,
"funding_rate_positive_pct": 100,
"funding_rate_neutral_pct": 0,
"funding_rate_negative_pct": 0,
"funding_rate_observed_hours": 6
}
]
},
"charts": {
"mid_prices": [
{
"timestamp": "2026-09-29T00:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"mid_price": 0.5211,
"spread_abs": 0.0001183,
"spread_bps": 2.269
},
{
"timestamp": "2026-09-29T01:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"mid_price": 0.5089,
"spread_abs": 0.0001117,
"spread_bps": 2.195
}
],
"volumes": [
{
"timestamp": "2026-09-29T00:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 1674000,
"twap": 0.5212,
"vwap": 0.5217
},
{
"timestamp": "2026-09-29T01:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"volume": 3123000,
"twap": 0.5088,
"vwap": 0.5058
}
],
"depths": [
{
"timestamp": "2026-09-29T00:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"bid_10bps": 21460,
"ask_10bps": 22970,
"n_bid_10bps": 5,
"n_ask_10bps": 5
},
{
"timestamp": "2026-09-29T01:00:00Z",
"exchange": {
"slug": "binance",
"name": "Binance",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/630.png"
},
"asset": "ONDO",
"pair": "ONDO/USDT",
"bid_10bps": 20680,
"ask_10bps": 20670,
"n_bid_10bps": 5,
"n_ask_10bps": 5
}
]
}
}Authorizations
metricsApiKeyAuthtokenAuth
Body
application/jsonapplication/x-www-form-urlencodedmultipart/form-data
Relative window ending now. Can't be combined with time_start/time_end.
30-minutes- 30-minutes1-hour- 1-hour3-hours- 3-hours6-hours- 6-hours12-hours- 12-hours1-day- 1-day7-days- 7-days1-month- 1-month3-months- 3-months6-months- 6-months1-year- 1-year
Available options:
30-minutes, 1-hour, 3-hours, 6-hours, 12-hours, 1-day, 7-days, 1-month, 3-months, 6-months, 1-year Trading session to restrict the window to. Requires market_hours_days; can't be combined with time_start/time_end or lookback.
pre-market- pre-marketopening-bell- opening-bellmarket-hours- market-hoursclosing-bell- closing-bellafter-hours- after-hoursblue-ocean- blue-oceanweekend-hours- weekend-hours
Available options:
pre-market, opening-bell, market-hours, closing-bell, after-hours, blue-ocean, weekend-hours 1M- Aggregated in 1 month periods.1w- Aggregated in 1 week periods.1d- Aggregated in 1 day periods.4h- Aggregated in 4 hour periods.1h- Aggregated in 1 hour periods.30m- Aggregated in 30 minute periods.15m- Aggregated in 15 minute periods.5m- Aggregated in 5 minute periods.1m- Aggregated in 1 minute periods.c- Will return chart data using the biggest periods possible.
Available options:
1M, 1w, 1d, 4h, 1h, 30m, 15m, 5m, 1m, c Response
Object with coverage and the requested table and charts sections.

