{"openapi":"3.1.0","info":{"title":"Crypto Intraday & Seasonality API","version":"1.0.0","description":"The time-of-day and day-of-week patterns hiding in a crypto pair's price history, computed live from Binance candles — no key, nothing stored. Crypto trades 24/7, but it does not trade evenly: some hours (the US equity open, the Asia session) carry far more volume and volatility than others, and some weekdays run hotter than weekends. The hourly endpoint buckets recent hourly candles by UTC hour of day and returns, for each of the 24 hours, the average return, the average volume, the average high-low range (a volatility proxy) and the up-rate (how often that hour closed green) — plus the most volatile and most bullish hours. The dayofweek endpoint does the same across the seven weekdays from daily candles, with the best and worst day. The symbols endpoint lists tradable pairs. This is the intraday / seasonality pattern cut for crypto — distinct from the raw OHLCV candle feed, the realised-volatility API and the FX-seasonality (calendar-month) API in the catalogue. It tells you WHEN a market tends to move, not just how much. Patterns are descriptive, not predictive. Pairs are Binance symbols (BTCUSDT) or a coin=BTC&quote=USDT form; all times are UTC.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/cryptoseasonality-api","description":"oanor gateway"}],"tags":[{"name":"Seasonality"},{"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/dayofweek":{"get":{"operationId":"get_v1_dayofweek","tags":["Seasonality"],"summary":"Seven-weekday profile","description":"","parameters":[{"name":"symbol","in":"query","required":true,"description":"Binance pair","schema":{"type":"string"},"example":"BTCUSDT"},{"name":"days","in":"query","required":false,"description":"Daily candles to scan (60-1000, default 365)","schema":{"type":"string"},"example":"365"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"days":[{"day":"Sunday","samples":52,"weekday":0,"avg_volume":12989.2724,"up_rate_pct":55.8,"avg_range_pct":2.7645,"avg_return_pct":0.2467},{"day":"Monday","samples":52,"weekday":1,"avg_volume":21035.1056,"up_rate_pct":55.8,"avg_range_pct":3.61,"avg_return_pct":0.2904},{"day":"Tuesday","samples":52,"weekday":2,"avg_volume":20846.414,"up_rate_pct":36.5,"avg_range_pct":3.7197,"avg_return_pct":-0.3798},{"day":"Wednesday","samples":52,"weekday":3,"avg_volume":19890.2683,"up_rate_pct":53.8,"avg_range_pct":3.5529,"avg_return_pct":0.2794},{"day":"Thursday","samples":52,"weekday":4,"avg_volume":20916.3878,"up_rate_pct":42.3,"avg_range_pct":3.5929,"avg_return_pct":-0.7599},{"day":"Friday","samples":53,"weekday":5,"avg_volume":24274.7101,"up_rate_pct":45.3,"avg_range_pct":4.0275,"avg_return_pct":-0.2653},{"day":"Saturday","samples":52,"weekday":6,"avg_volume":10860.4983,"up_rate_pct":46.2,"avg_range_pct":1.9394,"avg_return_pct":-0.2133}],"note":"UTC day-of-week profile from daily candles. avg_return_pct is the average daily open-to-close move on that weekday. Descriptive, not predictive.","source":"Binance","symbol":"BTCUSDT","candles":365,"best_day":"Monday","interval":"1d","worst_day":"Thursday"},"meta":{"timestamp":"2026-06-12T01:41:06.644Z","request_id":"3e3c31de-a994-4c14-bf64-816855af308e"},"status":"ok","message":"Day of week 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/hourly":{"get":{"operationId":"get_v1_hourly","tags":["Seasonality"],"summary":"24-hour UTC intraday profile","description":"","parameters":[{"name":"symbol","in":"query","required":true,"description":"Binance pair","schema":{"type":"string"},"example":"BTCUSDT"},{"name":"candles","in":"query","required":false,"description":"Hourly candles to scan (168-1000, default 1000)","schema":{"type":"string"},"example":"1000"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"UTC hour-of-day profile from hourly candles. avg_return_pct/avg_range_pct are per-hour open-to-close move and high-low range; up_rate_pct is how often that hour closed green. Patterns are descriptive, not predictive.","hours":[{"samples":42,"hour_utc":0,"avg_volume":682.9217,"up_rate_pct":57.1,"avg_range_pct":0.5878,"avg_return_pct":-0.0315},{"samples":42,"hour_utc":1,"avg_volume":700.1833,"up_rate_pct":47.6,"avg_range_pct":0.6443,"avg_return_pct":-0.0718},{"samples":41,"hour_utc":2,"avg_volume":712.9592,"up_rate_pct":48.8,"avg_range_pct":0.6021,"avg_return_pct":-0.0057},{"samples":41,"hour_utc":3,"avg_volume":663.966,"up_rate_pct":61,"avg_range_pct":0.5477,"avg_return_pct":0.0094},{"samples":41,"hour_utc":4,"avg_volume":562.4001,"up_rate_pct":53.7,"avg_range_pct":0.5225,"avg_return_pct":0.037},{"samples":41,"hour_utc":5,"avg_volume":634.9494,"up_rate_pct":43.9,"avg_range_pct":0.5214,"avg_return_pct":-0.0288},{"samples":41,"hour_utc":6,"avg_volume":762.3583,"up_rate_pct":46.3,"avg_range_pct":0.5062,"avg_return_pct":0.0039},{"samples":41,"hour_utc":7,"avg_volume":759.1626,"up_rate_pct":46.3,"avg_range_pct":0.5311,"avg_return_pct":0.0249},{"samples":41,"hour_utc":8,"avg_volume":615.3896,"up_rate_pct":56.1,"avg_range_pct":0.4572,"avg_return_pct":-0.0133},{"samples":41,"hour_utc":9,"avg_volume":633.6108,"up_rate_pct":43.9,"avg_range_pct":0.4667,"avg_return_pct":-0.0426},{"samples":42,"hour_utc":10,"avg_volume":731.7426,"up_rate_pct":50,"avg_range_pct":0.5259,"avg_return_pct":-0.0576},{"samples":42,"hour_utc":11,"avg_volume":555.6056,"up_rate_pct":47.6,"avg_range_pct":0.4558,"avg_return_pct":-0.0253},{"samples":42,"hour_utc":12,"avg_volume":778.8356,"up_rate_pct":54.8,"avg_range_pct":0.6485,"avg_return_pct":0.0706},{"samples":42,"hour_utc":13,"avg_volume":1108.0751,"up_rate_pct":28.6,"avg_range_pct":0.8062,"avg_return_pct":-0.2495},{"samples":42,"hour_utc":14,"avg_volume":1346.7632,"up_rate_pct":47.6,"avg_range_pct":0.8852,"avg_return_pct":-0.0272},{"samples":42,"hour_utc":15,"avg_volume":1100.2922,"up_rate_pct":50,"avg_range_pct":0.7442,"avg_return_pct":-0.0476},{"samples":42,"hour_utc":16,"avg_volume":1015.8558,"up_rate_pct":42.9,"avg_range_pct":0.6889,"avg_return_pct":0.0577},{"samples":42,"hour_utc":17,"avg_volume":784.6409,"up_rate_pct":61.9,"avg_range_pct":0.6439,"avg_return_pct":0.0993},{"samples":42,"hour_utc":18,"avg_volume":608.7063,"up_rate_pct":42.9,"avg_range_pct":0.5638,"avg_return_pct":-0.1151},{"samples":42,"hour_utc":19,"avg_volume":571.6156,"up_rate_pct":61.9,"avg_range_pct":0.53,"avg_return_pct":0.0393},{"samples":42,"hour_utc":20,"avg_volume":535.0087,"up_rate_pct":50,"avg_range_pct":0.5667,"avg_return_pct":0.0673},{"samples":42,"hour_utc":21,"avg_volume":476.032,"up_rate_pct":42.9,"avg_range_pct":0.5318,"avg_return_pct":-0.0713},{"samples":42,"hour_utc":22,"avg_volume":641.8516,"up_rate_pct":42.9,"avg_range_pct":0.6899,"avg_return_pct":-0.0226},{"samples":42,"hour_utc":23,"avg_volume":555.6289,"up_rate_pct":52.4,"avg_range_pct":0.5626,"avg_return_pct":-0.0492}],"source":"Binance","symbol":"BTCUSDT","candles":1000,"interval":"1h","days_covered":41.7,"most_bullish_hour_utc":17,"most_volatile_hour_utc":14},"meta":{"timestamp":"2026-06-12T01:41:07.019Z","request_id":"3fc951d6-e7fd-4e9a-9517-f6cb69bd83fe"},"status":"ok","message":"Hourly 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":["Seasonality"],"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:07.108Z","request_id":"31a71669-3841-4574-b35a-9a0c4d01d9dd"},"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. hourly uses up to ~41 days of hourly candles (candles=1000); dayofweek up to a year of daily candles (days=365). All times UTC. Patterns are descriptive, not predictive. Read fresh per call; only the tradable-symbol list is cached hourly.","source":"Binance public REST (api.binance.com/api/v3/klines, live)","service":"cryptoseasonality-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/hourly":"24-hour UTC profile: avg return, volume, range and up-rate per hour (symbol=BTCUSDT).","GET /v1/symbols":"Tradable Binance pairs, optionally filtered by quote (quote=USDT).","GET /v1/dayofweek":"Seven-weekday profile from daily candles (symbol=BTCUSDT, days=365)."},"description":"Crypto intraday and day-of-week seasonality, computed live from Binance candles (no key, nothing stored). hourly buckets recent hourly candles by UTC hour of day and returns each hour's average return, volume, high-low range and up-rate, plus the most volatile and most bullish hours. dayofweek does the same across the seven weekdays from daily candles. symbols lists tradable pairs. The intraday/seasonality pattern cut for crypto — distinct from the raw OHLCV candle feed, the realised-volatility API and the FX-seasonality (calendar-month) API. It tells you WHEN a market tends to move.","trading_symbols":1370,"upstream_status":"ok"},"meta":{"timestamp":"2026-06-12T01:41:07.207Z","request_id":"9dd3a6a9-250a-4672-970c-62e619c6ed5e"},"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":500,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":994,"monthly_call_quota":14500,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3288,"monthly_call_quota":76000,"rps_limit":16,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":7640,"monthly_call_quota":400000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/cryptoseasonality-api"}