{"openapi":"3.1.0","info":{"title":"Closing Strength (CLV) API","version":"1.0.0","description":"Where each market closes inside its daily range, and what that says about who is in control into the bell, computed live from Yahoo Finance daily OHLC — no key, nothing stored. The close is the most important price of the day: a market that runs up but closes back near its low was sold into all afternoon (distribution), while one that closes on its highs has buyers in firm control (accumulation), even if the headline change is the same. The Close Location Value (CLV) captures this on a -1 to +1 scale — +1 is a close exactly on the high, -1 exactly on the low, 0 the middle of the range. This API turns it into a conviction gauge. For each instrument it returns today's CLV, the average CLV over the window (a positive average means closes persistently in the upper half — accumulation; negative means distribution), the recent 20-day CLV as the current pressure reading, the share of days that closed in the upper third versus the lower third of their range, and a plain-language read. The asset endpoint returns one instrument's full closing-strength profile; the screener endpoint ranks the cross-asset universe from strongest accumulation to heaviest distribution, so you can see where buyers are quietly winning the close. This is the close-location / accumulation-distribution-pressure cut, price-only and no volume — distinct from the candlestick-pattern API (named shapes on the last bar), the volume-indicator tools and the price feeds. It is who won the day.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/closestrength-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":"Rank the universe from strongest accumulation to heaviest distribution","description":"","parameters":[{"name":"metric","in":"query","required":false,"description":"recent_clv, avg_clv or upper_third","schema":{"type":"string"},"example":"recent_clv"},{"name":"window","in":"query","required":false,"description":"Lookback in trading days (60-1000)","schema":{"type":"string"},"example":"252"},{"name":"class","in":"query","required":false,"description":"index, sector, commodity, bond, stock, crypto or all","schema":{"type":"string"},"example":"all"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Ranked by recent_clv over window_days of daily OHLC. CLV is where the close sits in the day's range, -1 (on the low) to +1 (on the high). A positive average means closes persistently in the upper half (accumulation); recent_clv is the last 20 days (current pressure). Read fresh per call, nothing cached.","class":"all","count":21,"metric":"recent_clv","source":"Yahoo Finance","results":[{"name":"Technology Sector","rank":1,"class":"sector","symbol":"XLK","avg_clv":0.149,"pressure":"accumulation","available":true,"recent_clv":0.199,"current_clv":0.874,"recent_days":20,"observations":252,"lower_third_close_pct":24.6,"upper_third_close_pct":44.4},{"name":"Nasdaq 100 ETF","rank":2,"class":"index","symbol":"QQQ","avg_clv":0.148,"pressure":"accumulation","available":true,"recent_clv":0.16,"current_clv":0.893,"recent_days":20,"observations":252,"lower_third_close_pct":25,"upper_third_close_pct":44.4},{"name":"US Small Caps","rank":3,"class":"index","symbol":"IWM","avg_clv":0.075,"pressure":"accumulation","available":true,"recent_clv":0.148,"current_clv":0.814,"recent_days":20,"observations":252,"lower_third_close_pct":32.5,"upper_third_close_pct":42.1},{"name":"Emerging Markets","rank":4,"class":"index","symbol":"EEM","avg_clv":0.159,"pressure":"accumulation","available":true,"recent_clv":0.118,"current_clv":0.917,"recent_days":20,"observations":252,"lower_third_close_pct":25.8,"upper_third_close_pct":44.8},{"name":"Crude Oil ETF","rank":5,"class":"commodity","symbol":"USO","avg_clv":0.079,"pressure":"balanced","available":true,"recent_clv":0.097,"current_clv":-0.763,"recent_days":20,"observations":252,"lower_third_close_pct":27.8,"upper_third_close_pct":38.9},{"name":"High-Yield Credit","rank":6,"class":"bond","symbol":"HYG","avg_clv":0.1,"pressure":"balanced","available":true,"recent_clv":0.096,"current_clv":0.867,"recent_days":20,"observations":252,"lower_third_close_pct":32.9,"upper_third_close_pct":42.5},{"name":"20Y+ Treasuries","rank":7,"class":"bond","symbol":"TLT","avg_clv":0.068,"pressure":"balanced","available":true,"recent_clv":0.091,"current_clv":0.88,"recent_days":20,"observations":252,"lower_third_close_pct":31.3,"upper_third_close_pct":36.9},{"name":"S&P 500 ETF","rank":8,"class":"index","symbol":"SPY","avg_clv":0.142,"pressure":"balanced","available":true,"recent_clv":0.078,"current_clv":0.713,"recent_days":20,"observations":252,"lower_third_close_pct":25.4,"upper_third_close_pct":43.7},{"name":"Financials Sector","rank":9,"class":"sector","symbol":"XLF","avg_clv":0.01,"pressure":"balanced","available":true,"recent_clv":0.007,"current_clv":0.589,"recent_days":20,"observations":252,"lower_third_close_pct":32.5,"upper_third_close_pct":35.3},{"name":"Apple","rank":10,"class":"stock","symbol":"AAPL","avg_clv":0.013,"pressure":"balanced","available":true,"recent_clv":0.003,"current_clv":0.63,"recent_days":20,"observations":252,"lower_third_close_pct":30.6,"upper_third_close_pct":35.7},{"name":"Tesla","rank":11,"class":"stock","symbol":"TSLA","avg_clv":0.003,"pressure":"balanced","available":true,"recent_clv":-0.031,"current_clv":0.959,"recent_days":20,"observations":252,"lower_third_close_pct":33.3,"upper_third_close_pct":33.3},{"name":"Gold ETF","rank":12,"class":"commodity","symbol":"GLD","avg_clv":0.116,"pressure":"balanced","available":true,"recent_clv":-0.034,"current_clv":0.884,"recent_days":20,"observations":252,"lower_third_close_pct":25.8,"upper_third_close_pct":38.9},{"name":"Health Care Sector","rank":13,"class":"sector","symbol":"XLV","avg_clv":0.006,"pressure":"balanced","available":true,"recent_clv":-0.038,"current_clv":0.07,"recent_days":20,"observations":252,"lower_third_close_pct":36.9,"upper_third_close_pct":39.7},{"name":"Ethereum","rank":14,"class":"crypto","symbol":"ETH-USD","avg_clv":-0.036,"pressure":"balanced","available":true,"recent_clv":-0.041,"current_clv":0.451,"recent_days":20,"observations":252,"lower_third_close_pct":35.3,"upper_third_close_pct":29},{"name":"Energy Sector","rank":15,"class":"sector","symbol":"XLE","avg_clv":0.069,"pressure":"balanced","available":true,"recent_clv":-0.047,"current_clv":-0.938,"recent_days":20,"observations":252,"lower_third_close_pct":30.2,"upper_third_close_pct":39.3},{"name":"Developed ex-US","rank":16,"class":"index","symbol":"EFA","avg_clv":0.127,"pressure":"balanced","available":true,"recent_clv":-0.05,"current_clv":0.909,"recent_days":20,"observations":252,"lower_third_close_pct":28.6,"upper_third_close_pct":44.8},{"name":"Broad Commodities","rank":17,"class":"commodity","symbol":"DBC","avg_clv":0.111,"pressure":"balanced","available":true,"recent_clv":-0.06,"current_clv":-0.709,"recent_days":20,"observations":252,"lower_third_close_pct":28.6,"upper_third_close_pct":42.5},{"name":"Silver ETF","rank":18,"class":"commodity","symbol":"SLV","avg_clv":0.17,"pressure":"balanced","available":true,"recent_clv":-0.067,"current_clv":0.853,"recent_days":20,"observations":252,"lower_third_close_pct":23,"upper_third_close_pct":44},{"name":"Utilities Sector","rank":19,"class":"sector","symbol":"XLU","avg_clv":0.012,"pressure":"balanced","available":true,"recent_clv":-0.082,"current_clv":-0.843,"recent_days":20,"observations":252,"lower_third_close_pct":32.5,"upper_third_close_pct":37.7},{"name":"Bitcoin","rank":20,"class":"crypto","symbol":"BTC-USD","avg_clv":-0.022,"pressure":"balanced","available":true,"recent_clv":-0.095,"current_clv":0.584,"recent_days":20,"observations":252,"lower_third_close_pct":34.1,"upper_third_close_pct":32.9},{"name":"Nvidia","rank":21,"class":"stock","symbol":"NVDA","avg_clv":0.046,"pressure":"distribution","available":true,"recent_clv":-0.138,"current_clv":0.742,"recent_days":20,"observations":252,"lower_third_close_pct":30.2,"upper_third_close_pct":36.1}],"sorted_by":"recent_clv","recent_days":20,"unavailable":[],"window_days":252,"heaviest_distribution":{"symbol":"NVDA","recent_clv":-0.138},"strongest_accumulation":{"symbol":"XLK","recent_clv":0.199}},"meta":{"timestamp":"2026-06-12T10:34:41.290Z","request_id":"98697f8c-b710-46ba-af47-cc59adf6bd84"},"status":"ok","message":"Close strength 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":"Full closing-strength profile of one instrument","description":"","parameters":[{"name":"symbol","in":"query","required":true,"description":"Universe symbol","schema":{"type":"string"},"example":"SPY"},{"name":"window","in":"query","required":false,"description":"Lookback in trading days (60-1000)","schema":{"type":"string"},"example":"252"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"name":"S&P 500 ETF","note":"CLV = ((close - low) - (high - close)) / (high - low), from -1 (close on the low) to +1 (close on the high). avg_clv is the window average (accumulation vs distribution); recent_clv is the last 20 days. upper/lower_third_close_pct is the share of days closing in the top/bottom third of their range. Read fresh per call, nothing cached.","class":"index","reads":{"today":"closed strong, near the high","regime":"buyers have controlled the close over the window","pressure":"balanced"},"source":"Yahoo Finance","symbol":"SPY","avg_clv":0.142,"recent_clv":0.078,"current_clv":0.713,"recent_days":20,"window_days":252,"observations":252,"current_pressure":"balanced","lower_third_close_pct":25.4,"upper_third_close_pct":43.7},"meta":{"timestamp":"2026-06-12T10:34:41.458Z","request_id":"f64d5a09-84b0-47af-93bf-3c784374869e"},"status":"ok","message":"Asset close strength 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":"The cross-asset universe and its classes","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The cross-asset universe the screener ranks. Pass class= to a screener call to rank within one class.","count":21,"assets":[{"name":"S&P 500 ETF","class":"index","symbol":"SPY"},{"name":"Nasdaq 100 ETF","class":"index","symbol":"QQQ"},{"name":"US Small Caps","class":"index","symbol":"IWM"},{"name":"Developed ex-US","class":"index","symbol":"EFA"},{"name":"Emerging Markets","class":"index","symbol":"EEM"},{"name":"Technology Sector","class":"sector","symbol":"XLK"},{"name":"Financials Sector","class":"sector","symbol":"XLF"},{"name":"Energy Sector","class":"sector","symbol":"XLE"},{"name":"Health Care Sector","class":"sector","symbol":"XLV"},{"name":"Utilities Sector","class":"sector","symbol":"XLU"},{"name":"Gold ETF","class":"commodity","symbol":"GLD"},{"name":"Silver ETF","class":"commodity","symbol":"SLV"},{"name":"Crude Oil ETF","class":"commodity","symbol":"USO"},{"name":"Broad Commodities","class":"commodity","symbol":"DBC"},{"name":"20Y+ Treasuries","class":"bond","symbol":"TLT"},{"name":"High-Yield Credit","class":"bond","symbol":"HYG"},{"name":"Apple","class":"stock","symbol":"AAPL"},{"name":"Nvidia","class":"stock","symbol":"NVDA"},{"name":"Tesla","class":"stock","symbol":"TSLA"},{"name":"Bitcoin","class":"crypto","symbol":"BTC-USD"},{"name":"Ethereum","class":"crypto","symbol":"ETH-USD"}],"source":"Yahoo Finance","classes":["index","sector","commodity","bond","stock","crypto"]},"meta":{"timestamp":"2026-06-12T10:34:41.527Z","request_id":"a52fda81-c5db-43c0-a453-93b7a0fe7de3"},"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":"metric is recent_clv (default, current pressure), avg_clv or upper_third. window is 60-1000 trading days (default 252). class filters to index/sector/commodity/bond/stock/crypto (default all). CLV = ((close-low)-(high-close))/(high-low). Read fresh per call, nothing cached.","source":"Yahoo Finance daily OHLC, live","classes":["index","sector","commodity","bond","stock","crypto"],"metrics":["avg_clv","recent_clv","upper_third"],"service":"closestrength-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/asset":"Full closing-strength profile of one instrument (symbol=SPY, window=252).","GET /v1/screener":"Rank the universe from strongest accumulation to heaviest distribution (metric=recent_clv, window=252, class=all).","GET /v1/universe":"The cross-asset universe and its classes."},"description":"Closing strength / Close Location Value — where each market closes inside its daily range and who controls the close, live from Yahoo Finance daily OHLC (no key, nothing stored). CLV runs -1 (close on the low) to +1 (close on the high). For each instrument it returns today's CLV, the window-average CLV (positive = accumulation, negative = distribution), the recent 20-day CLV (current pressure), and the share of days closing in the upper vs lower third of their range. asset returns one instrument's closing-strength profile; screener ranks the cross-asset universe from strongest accumulation to heaviest distribution. The close-location / accumulation-distribution-pressure cut, price-only — distinct from the candlestick-pattern API, the volume-indicator tools and the price feeds.","universe_size":21,"upstream_status":"ok","recent_window_days":20,"strongest_accumulation_20d":"XLK"},"meta":{"timestamp":"2026-06-12T10:34:41.695Z","request_id":"13fc0ae3-885b-4b49-8ed6-3953e937c86e"},"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":725,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1070,"monthly_call_quota":15700,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3460,"monthly_call_quota":85500,"rps_limit":16,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7820,"monthly_call_quota":478000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/closestrength-api"}