curl https://api.gammaflip.io/api/v1/history/coverage \
-H "X-API-Key: gex_sk_your_key_here"
import requests
import pandas as pd
resp = requests.get(
"https://api.gammaflip.io/api/v1/history/coverage",
headers={"X-API-Key": "gex_sk_your_key_here"},
)
print(pd.DataFrame(resp.json()["data"]))
{
"data": [
{
"exchange": "deribit",
"symbol": "BTC",
"first_ts": "2026-05-01T00:00:00Z",
"last_ts": "2026-10-06T09:45:00Z",
"sessions": 159,
"files_first_date": "2026-05-01",
"files_last_date": "2026-10-05"
},
{
"exchange": "tradfi",
"symbol": "QQQ",
"first_ts": "2026-05-04T13:30:00Z",
"last_ts": "2026-10-06T09:45:00Z",
"sessions": 109,
"files_first_date": "2026-05-04",
"files_last_date": "2026-10-05"
}
],
"meta": { "timestamp": "2026-10-06T10:00:00.000000+00:00" }
}
History
History: Coverage
What history exists for each exchange and symbol. Free: not counted against the quota
GET
/
history
/
coverage
curl https://api.gammaflip.io/api/v1/history/coverage \
-H "X-API-Key: gex_sk_your_key_here"
import requests
import pandas as pd
resp = requests.get(
"https://api.gammaflip.io/api/v1/history/coverage",
headers={"X-API-Key": "gex_sk_your_key_here"},
)
print(pd.DataFrame(resp.json()["data"]))
{
"data": [
{
"exchange": "deribit",
"symbol": "BTC",
"first_ts": "2026-05-01T00:00:00Z",
"last_ts": "2026-10-06T09:45:00Z",
"sessions": 159,
"files_first_date": "2026-05-01",
"files_last_date": "2026-10-05"
},
{
"exchange": "tradfi",
"symbol": "QQQ",
"first_ts": "2026-05-04T13:30:00Z",
"last_ts": "2026-10-06T09:45:00Z",
"sessions": 109,
"files_first_date": "2026-05-04",
"files_last_date": "2026-10-05"
}
],
"meta": { "timestamp": "2026-10-06T10:00:00.000000+00:00" }
}
What it returns
One row per exchange and symbol that has stored history: when it starts and ends, how many sessions it spans and which daily files are available. Use it before a backfill to see, for example, that a symbol’s history starts in May instead of guessing. This endpoint is free: it does not count against your request quota. The result is cached for up to an hour.Response
array
One object per
(exchange, symbol):Show fields
Show fields
string
bybit, deribit, okx, derive, combined or tradfi.string
For example
BTC, QQQ.string
First stored capture, ISO 8601 UTC
Z.string
Latest stored capture, ISO 8601 UTC
Z.integer
Number of distinct session dates with at least one capture.
string | null
First session date with a daily file;
null when no file has been built yet.string | null
Latest session date with a daily file;
null when none.curl https://api.gammaflip.io/api/v1/history/coverage \
-H "X-API-Key: gex_sk_your_key_here"
import requests
import pandas as pd
resp = requests.get(
"https://api.gammaflip.io/api/v1/history/coverage",
headers={"X-API-Key": "gex_sk_your_key_here"},
)
print(pd.DataFrame(resp.json()["data"]))
{
"data": [
{
"exchange": "deribit",
"symbol": "BTC",
"first_ts": "2026-05-01T00:00:00Z",
"last_ts": "2026-10-06T09:45:00Z",
"sessions": 159,
"files_first_date": "2026-05-01",
"files_last_date": "2026-10-05"
},
{
"exchange": "tradfi",
"symbol": "QQQ",
"first_ts": "2026-05-04T13:30:00Z",
"last_ts": "2026-10-06T09:45:00Z",
"sessions": 109,
"files_first_date": "2026-05-04",
"files_last_date": "2026-10-05"
}
],
"meta": { "timestamp": "2026-10-06T10:00:00.000000+00:00" }
}
The values above are illustrative.