{"openapi":"3.1.0","info":{"title":"Crypto Order Flow & CVD API","version":"1.0.0","description":"Who is actually hitting the market — buyers or sellers — read live from Binance's aggregated trade tape, no key, nothing stored. Every trade carries a flag for which side was the aggressor: a taker buy lifts the ask, a taker sell hits the bid. Summing those over a window gives order flow — the net buying or selling pressure that price action follows — and its running total is the Cumulative Volume Delta (CVD), the metric order-flow traders watch to spot absorption and divergence. The flow endpoint scans the recent aggregated trades for a pair (up to 5,000) and returns the taker-buy and taker-sell volume in base and quote, the delta (buy minus sell), the CVD over the window, the buy/sell ratio, the share of volume that was buying, a net-pressure label and the time span covered. The large endpoint surfaces the big prints — single aggressive trades above a notional threshold — and tags each as a taker buy or sell, so you see the whale orders moving the tape, with the buy- and sell-side large-trade totals. The symbols endpoint lists tradable pairs. This is the trade-flow / CVD microstructure analytics cut for crypto — distinct from the raw recent-trades feed, the order-book depth and the price, ticker and slippage APIs in the catalogue. Pairs are Binance symbols (BTCUSDT) or a coin=BTC&quote=USDT form.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/orderflow-api","description":"oanor gateway"}],"tags":[{"name":"Order Flow"},{"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/flow":{"get":{"operationId":"get_v1_flow","tags":["Order Flow"],"summary":"Order flow, delta & CVD for a pair","description":"","parameters":[{"name":"symbol","in":"query","required":true,"description":"Binance pair","schema":{"type":"string"},"example":"BTCUSDT"},{"name":"trades","in":"query","required":false,"description":"Recent trades to scan (100-5000, default 1000)","schema":{"type":"string"},"example":"2000"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"delta_quote (the CVD over the window) is taker-buy minus taker-sell quote volume; positive = net aggressive buying. Up to 5000 recent trades scanned (trades=N).","source":"Binance","symbol":"BTCUSDT","pressure":"balanced","cvd_quote":-42965.6,"buy_trades":1066,"delta_base":-0.6786,"last_price":63354.69,"delta_quote":-42965.6,"sell_trades":934,"buy_sell_ratio":0.9824,"taker_buy_base":37.98445,"trades_scanned":2000,"window_seconds":338.4,"taker_buy_quote":2406493.72,"taker_sell_base":38.66305,"buy_volume_share":0.4956,"taker_sell_quote":2449459.32},"meta":{"timestamp":"2026-06-12T01:41:13.615Z","request_id":"ecd0bc1c-c7d5-4b42-8019-04739c368b01"},"status":"ok","message":"Flow 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/large":{"get":{"operationId":"get_v1_large","tags":["Order Flow"],"summary":"Large aggressive prints (whales)","description":"","parameters":[{"name":"symbol","in":"query","required":true,"description":"Binance pair","schema":{"type":"string"},"example":"BTCUSDT"},{"name":"min_notional","in":"query","required":false,"description":"Minimum trade size in quote currency","schema":{"type":"string"},"example":"100000"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"single aggressive aggregated trades at or above min_notional (default $100,000); side is the aggressor.","source":"Binance","symbol":"BTCUSDT","largest":[{"qty":2.98439,"side":"buy","time":1781228423554,"price":63342.46,"notional_usd":189038.6},{"qty":2.76,"side":"buy","time":1781228423552,"price":63342.46,"notional_usd":174825.19},{"qty":1.98418,"side":"buy","time":1781228389649,"price":63369.53,"notional_usd":125736.55},{"qty":1.98418,"side":"buy","time":1781228389649,"price":63364.25,"notional_usd":125726.08},{"qty":1.98418,"side":"buy","time":1781228389649,"price":63361.54,"notional_usd":125720.7},{"qty":1.98418,"side":"buy","time":1781228389649,"price":63358.99,"notional_usd":125715.64},{"qty":1.98418,"side":"buy","time":1781228389649,"price":63355.92,"notional_usd":125709.55},{"qty":1.98418,"side":"buy","time":1781228389649,"price":63352.87,"notional_usd":125703.5}],"large_count":8,"min_notional":100000,"trades_scanned":2000,"large_buy_quote":1118175.81,"large_sell_quote":0},"meta":{"timestamp":"2026-06-12T01:41:14.216Z","request_id":"45e3859e-6575-4578-b68b-b40d98c98755"},"status":"ok","message":"Large trades 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":["Order Flow"],"summary":"Tradable Binance pairs","description":"","parameters":[{"name":"quote","in":"query","required":false,"description":"Filter by quote asset","schema":{"type":"string"},"example":"USDT"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"count":435,"quote":"USDT","source":"Binance","symbols":["0GUSDT","1000CATUSDT","1000CHEEMSUSDT","1000SATSUSDT","1INCHUSDT","1MBABYDOGEUSDT","2ZUSDT","AAVEUSDT","ACEUSDT","ACHUSDT","ACMUSDT","ACTUSDT","ACXUSDT","ADAUSDT","ADXUSDT","AEURUSDT","AEVOUSDT","AGLDUSDT","AIGENSYNUSDT","AIUSDT","AIXBTUSDT","ALCXUSDT","ALGOUSDT","ALICEUSDT","ALLOUSDT","ALPINEUSDT","ALTUSDT","AMPUSDT","ANIMEUSDT","ANKRUSDT","APEUSDT","API3USDT","APTUSDT","ARBUSDT","ARDRUSDT","ARKMUSDT","ARKUSDT","ARPAUSDT","ARUSDT","ASRUSDT","ASTERUSDT","ASTRUSDT","ATMUSDT","ATOMUSDT","ATUSDT","AUCTIONUSDT","AUDIOUSDT","AUSDT","AVAUSDT","AVAXUSDT","AVNTUSDT","AWEUSDT","AXLUSDT","AXSUSDT","BABYUSDT","BANANAS31USDT","BANANAUSDT","BANDUSDT","BANKUSDT","BARDUSDT","BARUSDT","BATUSDT","BBUSDT","BCHUSDT","BEAMXUSDT","BELUSDT","BERAUSDT","BFUSDUSDT","BICOUSDT","BIGTIMEUSDT","BIOUSDT","BLURUSDT","BMTUSDT","BNBUSDT","BNSOLUSDT","BNTUSDT","BOMEUSDT","BONKUSDT","BREVUSDT","BROCCOLI714USDT","BTCUSDT","BTTCUSDT","C98USDT","CAKEUSDT","CATIUSDT","CELOUSDT","CELRUSDT","CETUSUSDT","CFGUSDT","CFXUSDT","CGPTUSDT","CHIPUSDT","CHRUSDT","CHZUSDT","CITYUSDT","CKBUSDT","COMPUSDT","COOKIEUSDT","COSUSDT","COTIUSDT","COWUSDT","CRCLBUSDT","CRVUSDT","CTKUSDT","CTSIUSDT","CUSDT","CVCUSDT","CVXUSDT","CYBERUSDT","DASHUSDT","DCRUSDT","DEXEUSDT","DGBUSDT","DIAUSDT","DODOUSDT","DOGEUSDT","DOGSUSDT","DOLOUSDT","DOTUSDT","DUSDT","DUSKUSDT","DYDXUSDT","DYMUSDT","EDENUSDT","EDUUSDT","EGLDUSDT","EIGENUSDT","ENAUSDT","ENJUSDT","ENSOUSDT","ENSUSDT","EPICUSDT","ERAUSDT","ESPUSDT","ETCUSDT","ETHFIUSDT","ETHUSDT","EULUSDT","EURIUSDT","EURUSDT","FDUSDUSDT","FETUSDT","FFUSDT","FIDAUSDT","FILUSDT","FLOKIUSDT","FLOWUSDT","FLUXUSDT","FOGOUSDT","FORMUSDT","FRAXUSDT","FTTUSDT","FUSDT","GALAUSDT","GASUSDT","GENIUSUSDT","GIGGLEUSDT","GLMRUSDT","GLMUSDT","GMTUSDT","GMXUSDT","GNOUSDT","GNSUSDT","GPSUSDT","GRTUSDT","GTCUSDT","GUNUSDT","GUSDT","HAEDALUSDT","HBARUSDT","HEIUSDT","HEMIUSDT","HFTUSDT","HIGHUSDT","HIVEUSDT","HMSTRUSDT","HOLOUSDT","HOMEUSDT","HOTUSDT","HUMAUSDT","HYPERUSDT","ICPUSDT","ICXUSDT","IDUSDT","ILVUSDT","IMXUSDT","INITUSDT","INJUSDT","IOSTUSDT","IOTAUSDT","IOTXUSDT","IOUSDT","IQUSDT","JASMYUSDT","JOEUSDT","JSTUSDT","JTOUSDT","JUPUSDT","JUVUSDT","KAIAUSDT","KAITOUSDT","KATUSDT","KAVAUSDT","KERNELUSDT","KGSTUSDT","KITEUSDT","KMNOUSDT","KNCUSDT","KSMUSDT","LAUSDT","LAYERUSDT","LAZIOUSDT","LDOUSDT","LINEAUSDT","LINKUSDT","LISTAUSDT","LPTUSDT","LQTYUSDT","LSKUSDT","LTCUSDT","LUMIAUSDT","LUNAUSDT","LUNCUSDT","MAGICUSDT","MANAUSDT","MANTAUSDT","MANTRAUSDT","MASKUSDT","MAVUSDT","MBLUSDT","MBOXUSDT","MEGAUSDT","MEMEUSDT","METISUSDT","METUSDT","MEUSDT","MINAUSDT","MIRAUSDT","MITOUSDT","MMTUSDT","MORPHOUSDT","MOVEUSDT","MOVRUSDT","MTLUSDT","MUBARAKUSDT","MUBUSDT","NEARUSDT","NEIROUSDT","NEOUSDT","NEWTUSDT","NEXOUSDT","NFPUSDT","NIGHTUSDT","NILUSDT","NMRUSDT","NOMUSDT","NOTUSDT","NVDABUSDT","NXPCUSDT","OGNUSDT","OGUSDT","ONDOUSDT","ONEUSDT","ONGUSDT","ONTUSDT","OPENUSDT","OPGUSDT","OPNUSDT","OPUSDT","ORCAUSDT","ORDIUSDT","OSMOUSDT","PARTIUSDT","PAXGUSDT","PENDLEUSDT","PENGUUSDT","PEOPLEUSDT","PEPEUSDT","PHAUSDT","PIVXUSDT","PIXELUSDT","PLUMEUSDT","PNUTUSDT","POLUSDT","POLYXUSDT","PONDUSDT","PORTALUSDT","PORTOUSDT","POWRUSDT","PROMUSDT","PROVEUSDT","PSGUSDT","PUMPUSDT","PUNDIXUSDT","PYRUSDT","PYTHUSDT","QIUSDT","QKCUSDT","QNTUSDT","QTUMUSDT","QUICKUSDT","RADUSDT","RAREUSDT","RAYUSDT","REDUSDT","RENDERUSDT","REQUSDT","RESOLVUSDT","REZUSDT","RIFUSDT","RLCUSDT","RLUSDUSDT","ROBOUSDT","RONINUSDT","ROSEUSDT","RPLUSDT","RSRUSDT","RUNEUSDT","RVNUSDT","SAGAUSDT","SAHARAUSDT","SANDUSDT","SANTOSUSDT","SAPIENUSDT","SCRTUSDT","SCRUSDT","SCUSDT","SEIUSDT","SENTUSDT","SFPUSDT","SHELLUSDT","SHIBUSDT","SIGNUSDT","SKLUSDT","SKYUSDT","SLPUSDT","SNDKBUSDT","SNXUSDT","SOLUSDT","SOLVUSDT","SOMIUSDT","SOPHUSDT","SPELLUSDT","SPKUSDT","SSVUSDT","STEEMUSDT","STGUSDT","STORJUSDT","STOUSDT","STRAXUSDT","STRKUSDT","STXUSDT","SUIUSDT","SUNUSDT","SUPERUSDT","SUSDT","SUSHIUSDT","SXTUSDT","SYNUSDT","SYRUPUSDT","TAOUSDT","TFUELUSDT","THETAUSDT","THEUSDT","TIAUSDT","TKOUSDT","TLMUSDT","TNSRUSDT","TONUSDT","TOWNSUSDT","TRBUSDT","TREEUSDT","TRUMPUSDT","TRXUSDT","TSLABUSDT","TSTUSDT","TURBOUSDT","TURTLEUSDT","TUSDT","TUSDUSDT","TUTUSDT","TWTUSDT","UMAUSDT","UNIUSDT","USD1USDT","USDCUSDT","USDEUSDT","USDPUSDT","USDSUSDT","USTCUSDT","USUALUSDT","UUSDT","VANAUSDT","VANRYUSDT","VELODROMEUSDT","VETUSDT","VICUSDT","VIRTUALUSDT","VTHOUSDT","WALUSDT","WAXPUSDT","WBETHUSDT","WBTCUSDT","WCTUSDT","WIFUSDT","WINUSDT","WLDUSDT","WLFIUSDT","WOOUSDT","WUSDT","XAIUSDT","XAUTUSDT","XECUSDT","XLMUSDT","XNOUSDT","XPLUSDT","XRPUSDT","XTZUSDT","XUSDUSDT","XVGUSDT","XVSUSDT","YBUSDT","YFIUSDT","YGGUSDT","ZAMAUSDT","ZBTUSDT","ZECUSDT","ZENUSDT","ZILUSDT","ZKCUSDT","ZKPUSDT","ZKUSDT","ZROUSDT","ZRXUSDT","币安人生USDT"]},"meta":{"timestamp":"2026-06-12T01:41:14.316Z","request_id":"66f8940a-5b52-4e41-9a1b-81799cbdc93a"},"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":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"symbol is a Binance pair (BTCUSDT) or coin=BTC&quote=USDT. flow scans up to 5000 recent trades (trades=N, default 1000). A taker buy lifts the ask; a taker sell hits the bid. delta_quote is the CVD over the window. Read fresh per call; only the tradable-symbol list is cached hourly.","source":"Binance public REST (api.binance.com/api/v3/aggTrades, live)","service":"orderflow-api","endpoints":{"GET /v1/flow":"Taker buy/sell volume, delta/CVD, ratio and pressure for a pair (symbol=BTCUSDT, trades=1000).","GET /v1/meta":"This document.","GET /v1/large":"Large aggressive prints above a notional threshold, tagged buy/sell (symbol=BTCUSDT, min_notional=100000).","GET /v1/symbols":"Tradable Binance pairs, optionally filtered by quote (quote=USDT)."},"description":"Crypto order flow and Cumulative Volume Delta (CVD), read live from Binance's aggregated trade tape, no key, nothing stored. flow scans recent trades for a pair and returns taker-buy vs taker-sell volume (base & quote), the delta/CVD, the buy/sell ratio, the buy-volume share and a net-pressure label. large surfaces the big aggressive prints above a notional threshold, each tagged buy or sell. symbols lists tradable pairs. The trade-flow / CVD microstructure analytics cut — distinct from the raw recent-trades feed, order-book depth and price/ticker APIs.","trading_symbols":1370,"upstream_status":"ok"},"meta":{"timestamp":"2026-06-12T01:41:14.398Z","request_id":"20ea9c95-2e76-4475-a4ee-813be533e443"},"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":450,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1218,"monthly_call_quota":11500,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3744,"monthly_call_quota":68000,"rps_limit":18,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":8470,"monthly_call_quota":360000,"rps_limit":45,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/orderflow-api"}