{"openapi":"3.1.0","info":{"title":"Donchian Channel Breakout Screener (Multi-Asset) API","version":"1.0.0","description":"Which markets are breaking out of their recent trading range, computed live from Yahoo Finance (no key, nothing stored). The Donchian channel — the highest high and lowest low of the last N days — is the breakout system the legendary Turtle traders rode: a close above the 20-day high is a classic long entry, below the 20-day low a short, and the 55-day channel is the slower, higher-conviction version. For a cross-asset, cross-sector universe — equity indices and sectors, gold, oil, commodities, bonds and crypto — this computes each asset's 20-day and 55-day Donchian channels (upper, lower and midline), where price sits inside the 20-day channel, and flags fresh breakouts above the high or below the low. The screener endpoint returns the upside and downside breakouts across the board plus the channel-position ranking. The asset endpoint returns one market's Donchian card. The universe endpoint lists what is covered. The cross-asset Donchian / channel-breakout (Turtle) screener cut — distinct from the crypto-only Donchian screener, the 52-week-range screener (a much longer window), the Bollinger-Bands screener and the bring-your-own-candle indicator APIs. It catches the range breakouts across every asset class at once.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/donchian-api","description":"oanor gateway"}],"tags":[{"name":"Screener"},{"name":"Asset"},{"name":"Universe"},{"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/screener":{"get":{"operationId":"get_v1_screener","tags":["Screener"],"summary":"Cross-asset board with 20/55-day breakouts and channel-position ranking","description":"","parameters":[{"name":"class","in":"query","required":false,"description":"Filter by class: equities, sector, commodities, bonds, crypto","schema":{"type":"string"},"example":"commodities"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Each market's 20- and 55-day Donchian channels (highest high / lowest low of the prior N sessions). A close above the 20-day upper is an upside breakout (Turtle long entry); below the 20-day lower a downside breakout. new_55d_high/low flags the slower, higher-conviction breakout. channel_position_20 places price in the 20-day channel (0=on the low, 100=on the high). Sorted by channel position (strongest first).","class":"commodities","assets":[{"key":"natural_gas","class":"commodities","label":"Natural Gas","price":11.16,"status":"inside channel","breakout_up_20":false,"breakout_up_55":false,"donchian20_mid":11.495,"breakout_down_20":false,"breakout_down_55":false,"donchian20_lower":10.76,"donchian20_upper":12.23,"donchian55_lower":10.11,"donchian55_upper":12.39,"channel_position_20":27.2},{"key":"gold","class":"commodities","label":"Gold","price":386.32,"status":"inside channel","breakout_up_20":false,"breakout_up_55":false,"donchian20_mid":403.52,"breakout_down_20":false,"breakout_down_55":false,"donchian20_lower":374.55,"donchian20_upper":432.49,"donchian55_lower":374.55,"donchian55_upper":448.7,"channel_position_20":20.3},{"key":"silver","class":"commodities","label":"Silver","price":60.82,"status":"approaching lower channel","breakout_up_20":false,"breakout_up_55":false,"donchian20_mid":69.245,"breakout_down_20":false,"breakout_down_55":false,"donchian20_lower":57.63,"donchian20_upper":80.86,"donchian55_lower":57.63,"donchian55_upper":80.86,"channel_position_20":13.7},{"key":"oil","class":"commodities","label":"Crude Oil","price":128.83,"status":"approaching lower channel","breakout_up_20":false,"breakout_up_55":false,"donchian20_mid":140.315,"breakout_down_20":false,"breakout_down_55":false,"donchian20_lower":126.55,"donchian20_upper":154.08,"donchian55_lower":109.02,"donchian55_upper":154.08,"channel_position_20":8.3},{"key":"broad_commodities","class":"commodities","label":"Broad Commodities","price":28.85,"status":"approaching lower channel","breakout_up_20":false,"breakout_up_55":false,"donchian20_mid":30.305,"breakout_down_20":false,"breakout_down_55":false,"donchian20_lower":28.82,"donchian20_upper":31.79,"donchian55_lower":27.78,"donchian55_upper":31.79,"channel_position_20":1}],"source":"Yahoo Finance","scanned":5,"upside_breakouts":[],"downside_breakouts":[]},"meta":{"timestamp":"2026-06-12T10:35:04.975Z","request_id":"01ed3845-27cb-4411-9a35-dafd46a4b73a"},"status":"ok","message":"Screener 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/asset":{"get":{"operationId":"get_v1_asset","tags":["Asset"],"summary":"One market Donchian channel card","description":"","parameters":[{"name":"asset","in":"query","required":true,"description":"Asset key (see /v1/universe)","schema":{"type":"string"},"example":"sp500"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"key":"sp500","note":"One market's Donchian card: 20- and 55-day channel highs/lows and midline, where price sits in the 20-day channel, and breakout flags above/below each channel.","class":"equities","label":"S&P 500","price":737.76,"source":"Yahoo Finance","status":"inside channel","symbol":"SPY","breakout_up_20":false,"breakout_up_55":false,"donchian20_mid":741.495,"breakout_down_20":false,"breakout_down_55":false,"donchian20_lower":722.59,"donchian20_upper":760.4,"donchian55_lower":629.28,"donchian55_upper":760.4,"channel_position_20":40.1},"meta":{"timestamp":"2026-06-12T10:35:05.171Z","request_id":"d1c261bd-b4a2-4cab-9f97-a96a3c1607d8"},"status":"ok","message":"Asset 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/universe":{"get":{"operationId":"get_v1_universe","tags":["Universe"],"summary":"Supported instruments","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Supported instruments. Pass key as asset= to /v1/asset, class= to /v1/screener.","count":21,"assets":[{"key":"sp500","class":"equities","label":"S&P 500","symbol":"SPY"},{"key":"nasdaq100","class":"equities","label":"Nasdaq 100","symbol":"QQQ"},{"key":"small_caps","class":"equities","label":"US Small Caps","symbol":"IWM"},{"key":"developed_intl","class":"equities","label":"Developed ex-US","symbol":"EFA"},{"key":"emerging","class":"equities","label":"Emerging Markets","symbol":"EEM"},{"key":"technology","class":"sector","label":"Technology","symbol":"XLK"},{"key":"financials","class":"sector","label":"Financials","symbol":"XLF"},{"key":"energy","class":"sector","label":"Energy","symbol":"XLE"},{"key":"health_care","class":"sector","label":"Health Care","symbol":"XLV"},{"key":"industrials","class":"sector","label":"Industrials","symbol":"XLI"},{"key":"utilities","class":"sector","label":"Utilities","symbol":"XLU"},{"key":"real_estate","class":"sector","label":"Real Estate","symbol":"XLRE"},{"key":"gold","class":"commodities","label":"Gold","symbol":"GLD"},{"key":"silver","class":"commodities","label":"Silver","symbol":"SLV"},{"key":"oil","class":"commodities","label":"Crude Oil","symbol":"USO"},{"key":"natural_gas","class":"commodities","label":"Natural Gas","symbol":"UNG"},{"key":"broad_commodities","class":"commodities","label":"Broad Commodities","symbol":"DBC"},{"key":"long_treasuries","class":"bonds","label":"Long Treasuries","symbol":"TLT"},{"key":"high_yield","class":"bonds","label":"High-Yield Credit","symbol":"HYG"},{"key":"bitcoin","class":"crypto","label":"Bitcoin","symbol":"BTC-USD"},{"key":"ether","class":"crypto","label":"Ether","symbol":"ETH-USD"}],"source":"Yahoo Finance","classes":["equities","sector","commodities","bonds","crypto"]},"meta":{"timestamp":"2026-06-12T10:35:05.252Z","request_id":"07d7a000-775e-4e7d-9405-972a71f6aa93"},"status":"ok","message":"Universe 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":{"note":"screener class= filters by class. asset= is a supported key (see /v1/universe). Channels use the prior 20 and 55 sessions; a close beyond the channel is a breakout. Read fresh per call, nothing cached.","source":"Yahoo Finance daily OHLC (6mo range) across a multi-asset universe, live","classes":["equities","sector","commodities","bonds","crypto"],"service":"donchian-api","settings":{"entry_channel":20,"trend_channel":55},"endpoints":{"GET /v1/meta":"This document.","GET /v1/asset":"One market's Donchian channel card (asset=sp500).","GET /v1/screener":"Cross-asset board with 20/55-day breakouts and channel-position ranking (class=sector optional).","GET /v1/universe":"The supported instruments."},"description":"Donchian channel breakout screener (multi-asset) — which markets are breaking out of their recent trading range, live from Yahoo Finance (no key, nothing stored). screener returns the upside and downside 20-day breakouts across a cross-asset board (with the slower 55-day flag) plus the channel-position ranking. asset returns one market's Donchian card (20/55-day channels, channel position, breakout flags). universe lists what is covered. The cross-asset Donchian / channel-breakout (Turtle) screener cut — distinct from the crypto-only Donchian screener, the 52-week-range screener, the Bollinger screener and the bring-your-own-candle indicator APIs.","universe_size":21,"assets_scanned":21,"upstream_status":"ok"},"meta":{"timestamp":"2026-06-12T10:35:05.522Z","request_id":"373cb138-a1e3-47ad-97ea-33853180399f"},"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":760,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1112,"monthly_call_quota":17000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3288,"monthly_call_quota":89500,"rps_limit":16,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":7560,"monthly_call_quota":486000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/donchian-api"}