{"openapi":"3.1.0","info":{"title":"Crypto Volume Profile (VPVR) API","version":"1.0.0","description":"Where a crypto pair has actually traded the most volume by price level, computed live from Binance candles — no key, nothing stored. Most charts show volume over time; the volume profile shows it over price, and that is where support and resistance really live. The profile endpoint splits the price range into buckets and distributes each candle's volume across the prices it spanned, returning the volume-by-price histogram, the Point of Control (POC — the single price with the most traded volume, the market's fair-value magnet), the Value Area (the price band holding roughly 70% of all volume) with its high (VAH) and low (VAL), and the high-volume nodes. The levels endpoint returns just those key levels plus where the current price sits relative to the value area — above it (acceptance higher), inside it, or below — the read traders use for mean-reversion and breakout setups. The symbols endpoint lists tradable pairs. This is the volume-by-price / market-profile cut for crypto — distinct from the raw OHLCV candle feed, the time-of-day seasonality API, the trade-size distribution and the order-flow APIs in the catalogue. Pairs are Binance symbols (BTCUSDT) or a coin=BTC&quote=USDT form; interval is 15m/1h/4h/1d.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/volumeprofile-api","description":"oanor gateway"}],"tags":[{"name":"Volume Profile"},{"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/levels":{"get":{"operationId":"get_v1_levels","tags":["Volume Profile"],"summary":"Key levels: POC, VAH, VAL, high-volume nodes","description":"","parameters":[{"name":"symbol","in":"query","required":true,"description":"Binance pair","schema":{"type":"string"},"example":"BTCUSDT"},{"name":"interval","in":"query","required":false,"description":"15m, 1h, 4h or 1d (default 1h)","schema":{"type":"string"},"example":"1h"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"poc":63110.2189,"note":"poc is the fair-value magnet; VAH/VAL bound the 70% value area; high_volume_nodes are the strongest support/resistance prices. position tells you where price sits relative to the value area.","source":"Binance","symbol":"BTCUSDT","candles":500,"interval":"1h","position":"inside value area (balanced)","last_close":63723.63,"value_area_low":59320.4009,"value_area_high":72584.7639,"high_volume_nodes":[63110.2189,62731.2371,63489.2007,62352.2553,61594.2917]},"meta":{"timestamp":"2026-06-12T10:35:49.668Z","request_id":"d91b7096-fe6c-4271-bb15-dffaf70db2dc"},"status":"ok","message":"Levels 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/profile":{"get":{"operationId":"get_v1_profile","tags":["Volume Profile"],"summary":"Volume-by-price histogram, POC & value area","description":"","parameters":[{"name":"symbol","in":"query","required":true,"description":"Binance pair","schema":{"type":"string"},"example":"BTCUSDT"},{"name":"interval","in":"query","required":false,"description":"15m, 1h, 4h or 1d (default 1h)","schema":{"type":"string"},"example":"1h"},{"name":"bins","in":"query","required":false,"description":"Price buckets (10-150, default 50)","schema":{"type":"string"},"example":"50"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"poc":63110.2189,"bins":50,"note":"Volume distributed by price across bins. poc (Point of Control) is the most-traded price; the value area (VAH-VAL) holds ~70% of volume. High-volume prices act as support/resistance.","source":"Binance","symbol":"BTCUSDT","candles":500,"interval":"1h","histogram":[{"pct":0.417,"price":59320.4009,"volume":1843.7539},{"pct":0.724,"price":59699.3827,"volume":3204.6172},{"pct":1.177,"price":60078.3645,"volume":5210.6994},{"pct":2.311,"price":60457.3463,"volume":10230.4685},{"pct":3.904,"price":60836.3281,"volume":17279.5736},{"pct":4.447,"price":61215.3099,"volume":19682.5607},{"pct":5.039,"price":61594.2917,"volume":22303.6821},{"pct":4.653,"price":61973.2735,"volume":20595.8431},{"pct":5.107,"price":62352.2553,"volume":22604.3576},{"pct":6.12,"price":62731.2371,"volume":27090.0906},{"pct":6.307,"price":63110.2189,"volume":27915.3654},{"pct":6.025,"price":63489.2007,"volume":26666.5848},{"pct":3.75,"price":63868.1825,"volume":16600.0828},{"pct":1.873,"price":64247.1643,"volume":8288.6879},{"pct":0.728,"price":64626.1461,"volume":3220.3206},{"pct":0.393,"price":65005.1279,"volume":1741.4211},{"pct":0.602,"price":65384.1097,"volume":2665.4646},{"pct":0.857,"price":65763.0915,"volume":3792.1936},{"pct":0.919,"price":66142.0733,"volume":4069.0468},{"pct":1.532,"price":66521.0551,"volume":6780.1258},{"pct":2.03,"price":66900.0369,"volume":8986.9731},{"pct":1.892,"price":67279.0187,"volume":8373.0018},{"pct":1.272,"price":67658.0005,"volume":5631.525},{"pct":0.553,"price":68036.9823,"volume":2449.2207},{"pct":0.217,"price":68415.9641,"volume":961.4491},{"pct":0.416,"price":68794.9459,"volume":1842.8636},{"pct":0.536,"price":69173.9277,"volume":2373.9074},{"pct":0.607,"price":69552.9095,"volume":2687.9029},{"pct":0.602,"price":69931.8913,"volume":2662.789},{"pct":0.515,"price":70310.8731,"volume":2277.4858},{"pct":0.628,"price":70689.8549,"volume":2779.2731},{"pct":0.868,"price":71068.8367,"volume":3840.1885},{"pct":1.412,"price":71447.8185,"volume":6247.9971},{"pct":0.994,"price":71826.8003,"volume":4399.4032},{"pct":0.455,"price":72205.7821,"volume":2015.2298},{"pct":1.3,"price":72584.7639,"volume":5756.066},{"pct":1.631,"price":72963.7457,"volume":7218.3962},{"pct":4.014,"price":73342.7275,"volume":17764.934},{"pct":4.296,"price":73721.7093,"volume":19015.1903},{"pct":2.441,"price":74100.6911,"volume":10805.6845},{"pct":1.417,"price":74479.6729,"volume":6269.8631},{"pct":1.444,"price":74858.6547,"volume":6390.5854},{"pct":1.643,"price":75237.6365,"volume":7274.0758},{"pct":2.004,"price":75616.6183,"volume":8869.6954},{"pct":1.883,"price":75995.6001,"volume":8334.3707},{"pct":1.303,"price":76374.5819,"volume":5765.2682},{"pct":3.082,"price":76753.5637,"volume":13644.0062},{"pct":1.94,"price":77132.5455,"volume":8589.1993},{"pct":1.435,"price":77511.5273,"volume":6350.9188},{"pct":0.286,"price":77890.5091,"volume":1266.2528}],"price_low":59130.91,"last_close":63723.63,"price_high":78080,"value_area_low":59320.4009,"value_area_high":72584.7639,"value_area_volume_pct":71.2},"meta":{"timestamp":"2026-06-12T10:35:50.006Z","request_id":"18d570d8-ba1b-4a39-a932-ac1e0fbca4f3"},"status":"ok","message":"Profile 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":["Volume Profile"],"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-12T10:35:50.112Z","request_id":"4bb852c7-b1ed-4f26-869c-938f26e06f09"},"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. interval is 15m/1h/4h/1d (default 1h), candles 50-1000 (default 500), bins 10-150 (default 50). Volume is spread by price across each candle's high-low range. Read fresh per call; only the tradable-symbol list is cached hourly.","source":"Binance public REST (api.binance.com/api/v3/klines, live)","service":"volumeprofile-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/levels":"Key levels: POC, VAH, VAL, high-volume nodes and price position (symbol=BTCUSDT).","GET /v1/profile":"Volume-by-price histogram with POC and value area (symbol=BTCUSDT, interval=1h, bins=50).","GET /v1/symbols":"Tradable Binance pairs, optionally filtered by quote (quote=USDT)."},"description":"Crypto volume profile (VPVR) — where a pair has traded the most volume by price level, computed live from Binance candles (no key, nothing stored). profile returns the volume-by-price histogram, the Point of Control (POC), the Value Area (VAH/VAL, ~70% of volume) and high-volume nodes. levels returns just the key levels plus where the current price sits relative to the value area. symbols lists tradable pairs. The volume-by-price / market-profile cut for crypto — distinct from the raw OHLCV feed, time-of-day seasonality, trade-size and order-flow APIs.","trading_symbols":1363,"upstream_status":"ok"},"meta":{"timestamp":"2026-06-12T10:35:50.200Z","request_id":"de41099d-7cf0-4990-884a-0f998dcd9634"},"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":400,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1188,"monthly_call_quota":11600,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3644,"monthly_call_quota":69000,"rps_limit":16,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":8240,"monthly_call_quota":345000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/volumeprofile-api"}