cURL
curl --request GET \
--url 'https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000' \
--header 'Authorization: ApiKey <key>'import requests
url = "https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000"
headers = {"Authorization": "ApiKey <key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'ApiKey <key>'}};
fetch('https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "ApiKey <key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000")
.header("Authorization", "ApiKey <key>")
.asString();[
{
"timestamp": "2026-09-29T00:00:00Z",
"exchange": {
"slug": "bithumb",
"name": "Bithumb",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/200.png"
},
"asset": "BTC",
"pair": "BTC/KRW",
"25000_at_10bps": 55,
"50000_at_10bps": 16.67,
"25000_at_50bps": 75,
"50000_at_50bps": 38.33
}
]
Market data
Get depth uptime
Share of minutes in which both the bid and the ask side held more than each amount (USD) within each level in bps of the mid price, as a percentage from 0 to 100, in columns named <amount>_at_<level>bps. Returns one row per exchange pair and time bucket; interval=a returns one row per pair for the whole window, without timestamp. Set the window with time_start and time_end, lookback, or the market_hours_* parameters. Only assets of your organizations are allowed; omit assets to get all of them.
GET
/
v2
/
metrics
/
uptime
/
depth
/
cURL
curl --request GET \
--url 'https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000' \
--header 'Authorization: ApiKey <key>'import requests
url = "https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000"
headers = {"Authorization": "ApiKey <key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'ApiKey <key>'}};
fetch('https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "ApiKey <key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.glassmarkets.io/v2/metrics/uptime/depth/?interval=1h&lookback=1-day&bps=10,50&amount=25000,50000")
.header("Authorization", "ApiKey <key>")
.asString();[
{
"timestamp": "2026-09-29T00:00:00Z",
"exchange": {
"slug": "bithumb",
"name": "Bithumb",
"icon_url": "https://s2.coinmarketcap.com/static/img/exchanges/64x64/200.png"
},
"asset": "BTC",
"pair": "BTC/KRW",
"25000_at_10bps": 55,
"50000_at_10bps": 16.67,
"25000_at_50bps": 75,
"50000_at_50bps": 38.33
}
]
Authorizations
metricsApiKeyAuthtokenAuth
Query Parameters
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 all the data for the specified time range using the biggest periods possible.a- Will return the aggregate of the data for the specified time range.
Available options:
1M, 1w, 1d, 4h, 1h, 30m, 15m, 5m, 1m, c, a Minimum string length:
1Example:
"1h"
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 Minimum string length:
1Example:
"1-day"
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 Minimum string length:
1
