{"openapi":"3.1.0","info":{"title":"Long/Short Ratio API","version":"1.0.0","description":"Live crypto long/short trader-positioning sentiment as an API, streamed from the Bybit v5 public account-ratio feed. For any USDT perpetual futures contract it returns the share of accounts positioned long versus short (buy/sell ratio) and the derived long/short ratio — either the latest reading or a full time-series across 5m, 15m, 30m, 1h, 4h and 1d buckets. The crowd-positioning signal traders use to spot one-sided, over-leveraged markets. Look up by symbol or base coin, pull history, or list tradable symbols. Live, no key. Distinct from funding-rate, price and open-interest APIs — this is the account long/short sentiment.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/longshortratio-api","description":"oanor gateway"}],"tags":[{"name":"Sentiment"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/history":{"get":{"operationId":"get_v1_history","tags":["Sentiment"],"summary":"Long/short ratio time-series","description":"","parameters":[{"name":"symbol","in":"query","required":false,"description":"Contract symbol","schema":{"type":"string"},"example":"BTCUSDT"},{"name":"base","in":"query","required":false,"description":"Base coin","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"5m | 15m | 30m | 1h | 4h | 1d","schema":{"type":"string"},"example":"1h"},{"name":"limit","in":"query","required":false,"description":"Max 1-500","schema":{"type":"string"},"example":"50"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":50,"period":"1h","symbol":"BTCUSDT","history":[{"symbol":"BTCUSDT","long_pct":62.32,"short_pct":37.68,"timestamp":"2026-06-07T02:00:00.000Z","long_ratio":0.6232,"short_ratio":0.3768,"long_short_ratio":1.6539},{"symbol":"BTCUSDT","long_pct":62.45,"short_pct":37.55,"timestamp":"2026-06-07T03:00:00.000Z","long_ratio":0.6245,"short_ratio":0.3755,"long_short_ratio":1.6631},{"symbol":"BTCUSDT","long_pct":62.75,"short_pct":37.25,"timestamp":"2026-06-07T04:00:00.000Z","long_ratio":0.6275,"short_ratio":0.3725,"long_short_ratio":1.6846},{"symbol":"BTCUSDT","long_pct":62.94,"short_pct":37.06,"timestamp":"2026-06-07T05:00:00.000Z","long_ratio":0.6294,"short_ratio":0.3706,"long_short_ratio":1.6983},{"symbol":"BTCUSDT","long_pct":63.21,"short_pct":36.79,"timestamp":"2026-06-07T06:00:00.000Z","long_ratio":0.6321,"short_ratio":0.3679,"long_short_ratio":1.7181},{"symbol":"BTCUSDT","long_pct":63.43,"short_pct":36.57,"timestamp":"2026-06-07T07:00:00.000Z","long_ratio":0.6343,"short_ratio":0.3657,"long_short_ratio":1.7345},{"symbol":"BTCUSDT","long_pct":63.85,"short_pct":36.15,"timestamp":"2026-06-07T08:00:00.000Z","long_ratio":0.6385,"short_ratio":0.3615,"long_short_ratio":1.7663},{"symbol":"BTCUSDT","long_pct":64.58,"short_pct":35.42,"timestamp":"2026-06-07T09:00:00.000Z","long_ratio":0.6458,"short_ratio":0.3542,"long_short_ratio":1.8233},{"symbol":"BTCUSDT","long_pct":63.8,"short_pct":36.2,"timestamp":"2026-06-07T10:00:00.000Z","long_ratio":0.638,"short_ratio":0.362,"long_short_ratio":1.7624},{"symbol":"BTCUSDT","long_pct":63.27,"short_pct":36.73,"timestamp":"2026-06-07T11:00:00.000Z","long_ratio":0.6327,"short_ratio":0.3673,"long_short_ratio":1.7226},{"symbol":"BTCUSDT","long_pct":63.63,"short_pct":36.37,"timestamp":"2026-06-07T12:00:00.000Z","long_ratio":0.6363,"short_ratio":0.3637,"long_short_ratio":1.7495},{"symbol":"BTCUSDT","long_pct":62.98,"short_pct":37.02,"timestamp":"2026-06-07T13:00:00.000Z","long_ratio":0.6298,"short_ratio":0.3702,"long_short_ratio":1.7012},{"symbol":"BTCUSDT","long_pct":62.93,"short_pct":37.07,"timestamp":"2026-06-07T14:00:00.000Z","long_ratio":0.6293,"short_ratio":0.3707,"long_short_ratio":1.6976},{"symbol":"BTCUSDT","long_pct":63.25,"short_pct":36.75,"timestamp":"2026-06-07T15:00:00.000Z","long_ratio":0.6325,"short_ratio":0.3675,"long_short_ratio":1.7211},{"symbol":"BTCUSDT","long_pct":63.33,"short_pct":36.67,"timestamp":"2026-06-07T16:00:00.000Z","long_ratio":0.6333,"short_ratio":0.3667,"long_short_ratio":1.727},{"symbol":"BTCUSDT","long_pct":63.24,"short_pct":36.76,"timestamp":"2026-06-07T17:00:00.000Z","long_ratio":0.6324,"short_ratio":0.3676,"long_short_ratio":1.7203},{"symbol":"BTCUSDT","long_pct":63.22,"short_pct":36.78,"timestamp":"2026-06-07T18:00:00.000Z","long_ratio":0.6322,"short_ratio":0.3678,"long_short_ratio":1.7189},{"symbol":"BTCUSDT","long_pct":63.06,"short_pct":36.94,"timestamp":"2026-06-07T19:00:00.000Z","long_ratio":0.6306,"short_ratio":0.3694,"long_short_ratio":1.7071},{"symbol":"BTCUSDT","long_pct":62.35,"short_pct":37.65,"timestamp":"2026-06-07T20:00:00.000Z","long_ratio":0.6235,"short_ratio":0.3765,"long_short_ratio":1.656},{"symbol":"BTCUSDT","long_pct":62.63,"short_pct":37.37,"timestamp":"2026-06-07T21:00:00.000Z","long_ratio":0.6263,"short_ratio":0.3737,"long_short_ratio":1.6759},{"symbol":"BTCUSDT","long_pct":62.39,"short_pct":37.61,"timestamp":"2026-06-07T22:00:00.000Z","long_ratio":0.6239,"short_ratio":0.3761,"long_short_ratio":1.6589},{"symbol":"BTCUSDT","long_pct":63.96,"short_pct":36.04,"timestamp":"2026-06-07T23:00:00.000Z","long_ratio":0.6396,"short_ratio":0.3604,"long_short_ratio":1.7747},{"symbol":"BTCUSDT","long_pct":64.15,"short_pct":35.85,"timestamp":"2026-06-08T00:00:00.000Z","long_ratio":0.6415,"short_ratio":0.3585,"long_short_ratio":1.7894},{"symbol":"BTCUSDT","long_pct":64.11,"short_pct":35.89,"timestamp":"2026-06-08T01:00:00.000Z","long_ratio":0.6411,"short_ratio":0.3589,"long_short_ratio":1.7863},{"symbol":"BTCUSDT","long_pct":63.91,"short_pct":36.09,"timestamp":"2026-06-08T02:00:00.000Z","long_ratio":0.6391,"short_ratio":0.3609,"long_short_ratio":1.7709},{"symbol":"BTCUSDT","long_pct":63.73,"short_pct":36.27,"timestamp":"2026-06-08T03:00:00.000Z","long_ratio":0.6373,"short_ratio":0.3627,"long_short_ratio":1.7571},{"symbol":"BTCUSDT","long_pct":63.77,"short_pct":36.23,"timestamp":"2026-06-08T04:00:00.000Z","long_ratio":0.6377,"short_ratio":0.3623,"long_short_ratio":1.7601},{"symbol":"BTCUSDT","long_pct":63.53,"short_pct":36.47,"timestamp":"2026-06-08T05:00:00.000Z","long_ratio":0.6353,"short_ratio":0.3647,"long_short_ratio":1.742},{"symbol":"BTCUSDT","long_pct":63.23,"short_pct":36.77,"timestamp":"2026-06-08T06:00:00.000Z","long_ratio":0.6323,"short_ratio":0.3677,"long_short_ratio":1.7196},{"symbol":"BTCUSDT","long_pct":63.35,"short_pct":36.65,"timestamp":"2026-06-08T07:00:00.000Z","long_ratio":0.6335,"short_ratio":0.3665,"long_short_ratio":1.7285},{"symbol":"BTCUSDT","long_pct":63.59,"short_pct":36.41,"timestamp":"2026-06-08T08:00:00.000Z","long_ratio":0.6359,"short_ratio":0.3641,"long_short_ratio":1.7465},{"symbol":"BTCUSDT","long_pct":63.22,"short_pct":36.78,"timestamp":"2026-06-08T09:00:00.000Z","long_ratio":0.6322,"short_ratio":0.3678,"long_short_ratio":1.7189},{"symbol":"BTCUSDT","long_pct":63.45,"short_pct":36.55,"timestamp":"2026-06-08T10:00:00.000Z","long_ratio":0.6345,"short_ratio":0.3655,"long_short_ratio":1.736},{"symbol":"BTCUSDT","long_pct":63.07,"short_pct":36.93,"timestamp":"2026-06-08T11:00:00.000Z","long_ratio":0.6307,"short_ratio":0.3693,"long_short_ratio":1.7078},{"symbol":"BTCUSDT","long_pct":63.02,"short_pct":36.98,"timestamp":"2026-06-08T12:00:00.000Z","long_ratio":0.6302,"short_ratio":0.3698,"long_short_ratio":1.7042},{"symbol":"BTCUSDT","long_pct":63.29,"short_pct":36.71,"timestamp":"2026-06-08T13:00:00.000Z","long_ratio":0.6329,"short_ratio":0.3671,"long_short_ratio":1.7241},{"symbol":"BTCUSDT","long_pct":62.99,"short_pct":37.01,"timestamp":"2026-06-08T14:00:00.000Z","long_ratio":0.6299,"short_ratio":0.3701,"long_short_ratio":1.702},{"symbol":"BTCUSDT","long_pct":63.04,"short_pct":36.96,"timestamp":"2026-06-08T15:00:00.000Z","long_ratio":0.6304,"short_ratio":0.3696,"long_short_ratio":1.7056},{"symbol":"BTCUSDT","long_pct":62.7,"short_pct":37.3,"timestamp":"2026-06-08T16:00:00.000Z","long_ratio":0.627,"short_ratio":0.373,"long_short_ratio":1.681},{"symbol":"BTCUSDT","long_pct":62.36,"short_pct":37.64,"timestamp":"2026-06-08T17:00:00.000Z","long_ratio":0.6236,"short_ratio":0.3764,"long_short_ratio":1.6567},{"symbol":"BTCUSDT","long_pct":62.55,"short_pct":37.45,"timestamp":"2026-06-08T18:00:00.000Z","long_ratio":0.6255,"short_ratio":0.3745,"long_short_ratio":1.6702},{"symbol":"BTCUSDT","long_pct":62.62,"short_pct":37.38,"timestamp":"2026-06-08T19:00:00.000Z","long_ratio":0.6262,"short_ratio":0.3738,"long_short_ratio":1.6752},{"symbol":"BTCUSDT","long_pct":62.63,"short_pct":37.37,"timestamp":"2026-06-08T20:00:00.000Z","long_ratio":0.6263,"short_ratio":0.3737,"long_short_ratio":1.6759},{"symbol":"BTCUSDT","long_pct":62.62,"short_pct":37.38,"timestamp":"2026-06-08T21:00:00.000Z","long_ratio":0.6262,"short_ratio":0.3738,"long_short_ratio":1.6752},{"symbol":"BTCUSDT","long_pct":62.86,"short_pct":37.14,"timestamp":"2026-06-08T22:00:00.000Z","long_ratio":0.6286,"short_ratio":0.3714,"long_short_ratio":1.6925},{"symbol":"BTCUSDT","long_pct":62.87,"short_pct":37.13,"timestamp":"2026-06-08T23:00:00.000Z","long_ratio":0.6287,"short_ratio":0.3713,"long_short_ratio":1.6932},{"symbol":"BTCUSDT","long_pct":62.66,"short_pct":37.34,"timestamp":"2026-06-09T00:00:00.000Z","long_ratio":0.6266,"short_ratio":0.3734,"long_short_ratio":1.6781},{"symbol":"BTCUSDT","long_pct":62.42,"short_pct":37.58,"timestamp":"2026-06-09T01:00:00.000Z","long_ratio":0.6242,"short_ratio":0.3758,"long_short_ratio":1.661},{"symbol":"BTCUSDT","long_pct":62.65,"short_pct":37.35,"timestamp":"2026-06-09T02:00:00.000Z","long_ratio":0.6265,"short_ratio":0.3735,"long_short_ratio":1.6774},{"symbol":"BTCUSDT","long_pct":62.58,"short_pct":37.42,"timestamp":"2026-06-09T03:00:00.000Z","long_ratio":0.6258,"short_ratio":0.3742,"long_short_ratio":1.6724}]},"meta":{"timestamp":"2026-06-09T03:03:41.889Z","request_id":"8d53e54e-a1a4-4ebb-96f5-e97797a961f5"},"status":"ok","message":"History retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/ratio":{"get":{"operationId":"get_v1_ratio","tags":["Sentiment"],"summary":"Latest long/short ratio for a contract","description":"","parameters":[{"name":"symbol","in":"query","required":false,"description":"Contract symbol (preferred)","schema":{"type":"string"},"example":"BTCUSDT"},{"name":"base","in":"query","required":false,"description":"Base coin, e.g. BTC","schema":{"type":"string"}},{"name":"period","in":"query","required":false,"description":"5m | 15m | 30m | 1h | 4h | 1d","schema":{"type":"string"},"example":"1h"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"period":"1h","symbol":"BTCUSDT","long_pct":62.58,"short_pct":37.42,"timestamp":"2026-06-09T03:00:00.000Z","long_ratio":0.6258,"short_ratio":0.3742,"long_short_ratio":1.6724},"meta":{"timestamp":"2026-06-09T03:03:42.172Z","request_id":"37752e22-d188-4f3b-95e6-5addc37ce333"},"status":"ok","message":"Long/short ratio retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/symbols":{"get":{"operationId":"get_v1_symbols","tags":["Sentiment"],"summary":"List tradable perpetual symbols","description":"","parameters":[{"name":"q","in":"query","required":false,"description":"Symbol fragment, e.g. PEPE","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"Max 1-2000","schema":{"type":"string"},"example":"100"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":100,"total":582,"symbols":["0GUSDT","1000000BABYDOGEUSDT","1000000MOGUSDT","10000NEXUSDT","10000SATSUSDT","1000BONKUSDT","1000BTTUSDT","1000CATUSDT","1000FLOKIUSDT","1000LUNCUSDT","1000NEIROCTOUSDT","1000PEPEUSDT","1000RATSUSDT","1000TAGUSDT","1000TOSHIUSDT","1000TURBOUSDT","1000XECUSDT","1INCHUSDT","2ZUSDT","4USDT","AAPLUSDT","AAVEUSDT","ACEUSDT","ACHUSDT","ACTUSDT","ACUUSDT","ACXUSDT","ADAUSDT","AERGOUSDT","AEROUSDT","AEVOUSDT","AGIUSDT","AGLDUSDT","AIGENSYNUSDT","AIOUSDT","AIOZUSDT","AIXBTUSDT","AKEUSDT","AKTUSDT","ALCHUSDT","ALGOUSDT","ALICEUSDT","ALLOUSDT","ALPINEUSDT","ALTUSDT","AMATUSDT","AMDSTOCKUSDT","AMZNUSDT","ANIMEUSDT","ANKRUSDT","APEUSDT","APEXUSDT","API3USDT","APRUSDT","APTUSDT","ARBUSDT","ARCUSDT","ARIAUSDT","ARKMUSDT","ARKUSDT","ARMUSDT","ARPAUSDT","ARUSDT","ASPUSDT","ASRUSDT","ASTERUSDT","ASTRUSDT","ASTSUSDT","ATHUSDT","ATOMUSDT","ATUSDT","AUCTIONUSDT","AUSDT","AVAAIUSDT","AVAUSDT","AVAXUSDT","AVGOUSDT","AVNTUSDT","AWEUSDT","AXLUSDT","AXSUSDT","AZTECUSDT","B2USDT","B3USDT","BABAUSDT","BABYUSDT","BANANAS31USDT","BANANAUSDT","BANDUSDT","BANKUSDT","BANUSDT","BARDUSDT","BASEDUSDT","BATUSDT","BBUSDT","BCHUSDT","BEAMUSDT","BEATUSDT","BELUSDT","BERAUSDT"]},"meta":{"timestamp":"2026-06-09T03:03:42.481Z","request_id":"eb579b04-6f71-4cc0-b030-1f2854e0bab8"},"status":"ok","message":"Symbols retrieved successfully","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Service metadata","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"source":"Bybit v5 account-ratio (live)","periods":["5m","15m","30m","1h","4h","1d"],"service":"longshortratio-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/ratio":"Latest long/short ratio (symbol=BTCUSDT or base=BTC, period=5m|15m|30m|1h|4h|1d).","GET /v1/history":"Long/short ratio time-series (symbol, period, limit up to 500).","GET /v1/symbols":"List tradable perpetual symbols (q= filter, limit)."},"description":"Live crypto long/short trader-positioning sentiment from Bybit v5 (USDT perpetuals): share of accounts long vs short (buy/sell ratio) and the derived long/short ratio, latest or as a time-series across 5m–1d buckets. Look up by symbol or base coin, pull history, or list symbols. Live, no key. Distinct from funding-rate and price APIs.","symbols_live":582},"meta":{"timestamp":"2026-06-09T03:03:42.764Z","request_id":"978085b5-64db-4956-a867-4a67f5be2cc0"},"status":"ok","message":"Meta","success":true}}}},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":200,"rps_limit":3,"hard_limit":true},{"slug":"trader","name":"Trader","price_cents_month":1100,"monthly_call_quota":9000,"rps_limit":10,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3100,"monthly_call_quota":45000,"rps_limit":25,"hard_limit":true},{"slug":"desk","name":"Desk","price_cents_month":7400,"monthly_call_quota":220000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/longshortratio-api"}