Open interest API. Per venue. Stored as published.
Open interest for every perpetual DEBYKO collects on 16 venues: live, at any past instant, and in buckets. Each figure keeps the venue's unit, or is converted to the base asset when you ask.
Live
Live open interest in one call.
curl -s https://api.debyko.com/v2/snapshots \
-H "authorization: Bearer $DEBYKO_KEY" -H 'content-type: application/json' \
-d '{"where":"base = BTC","layers":["oi","mark"],"units":"base"}'
With units: published (the default) each figure is in the venue's own unit: contracts, coins or dollars, named in units. With units: base it is converted to the base asset by the registry's rules and the answer carries normalisation_version.
History
Open interest history, as stored then.
curl -s https://api.debyko.com/v2/snapshots/history \
-H "authorization: Bearer $DEBYKO_KEY" -H 'content-type: application/json' \
-d '{"where":"instrument = ETH-PERP","layers":["oi"],"interval":"1h","from":"2026-10-01T00:00:00Z","to":"2026-10-02T00:00:00Z","units":"base"}'
DQL
Ask across venues in one line.
sum(venues, oi) where base in (BTC, ETH)
A venue whose open interest is stale is left out of the sum, and the answer names the venues it was computed from.
Documentation