{"openapi":"3.1.0","info":{"title":"MACD Screener (Multi-Asset) API","version":"1.0.0","description":"Which markets just triggered a MACD buy or sell signal, computed live from Yahoo Finance (no key, nothing stored). The MACD — the gap between a fast and a slow moving average, smoothed by a signal line — is the workhorse momentum indicator: when the MACD line crosses up through its signal line it is a bullish trigger, down through it bearish, and the histogram between them shows momentum building or fading. For a cross-asset, cross-sector universe — equity indices and sectors, gold, oil, commodities, bonds and crypto — this computes each asset's MACD (12/26 EMA), signal line (9 EMA) and histogram, flags whether it is in a bullish or bearish posture, and detects how recently the lines crossed. The screener endpoint returns the fresh bullish and bearish crossovers across the board plus the histogram ranking. The asset endpoint returns one market's MACD card. The universe endpoint lists what is covered. The cross-asset MACD / momentum-crossover screener cut — distinct from the bring-your-own-candle technical-indicator APIs, the RSI, Bollinger and moving-average screeners and the FX-only signals API. It finds the fresh momentum triggers across every asset class at once.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/macd-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 fresh MACD crossovers, histogram ranking and tally","description":"","parameters":[{"name":"class","in":"query","required":false,"description":"Filter by class: equities, sector, commodities, bonds, crypto","schema":{"type":"string"},"example":"sector"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Each market's MACD (12/26 EMA), signal line (9 EMA) and histogram. posture bullish = MACD above signal. last_cross/days_since_cross flag the most recent line cross — a fresh bullish_crossover (low days) is a buy trigger, bearish a sell. Sorted by histogram (strongest momentum first).","class":"sector","assets":[{"key":"health_care","macd":1.8249,"class":"sector","label":"Health Care","signal":1.2419,"posture":"bullish (MACD above signal)","histogram":0.5829,"last_cross":"bullish_crossover","days_since_cross":30},{"key":"financials","macd":0.2387,"class":"sector","label":"Financials","signal":0.1382,"posture":"bullish (MACD above signal)","histogram":0.1005,"last_cross":"bullish_crossover","days_since_cross":6},{"key":"real_estate","macd":0.2383,"class":"sector","label":"Real Estate","signal":0.1758,"posture":"bullish (MACD above signal)","histogram":0.0625,"last_cross":"bullish_crossover","days_since_cross":2},{"key":"utilities","macd":-0.3971,"class":"sector","label":"Utilities","signal":-0.4145,"posture":"bullish (MACD above signal)","histogram":0.0174,"last_cross":"bullish_crossover","days_since_cross":0},{"key":"industrials","macd":0.5252,"class":"sector","label":"Industrials","signal":0.5975,"posture":"bearish (MACD below signal)","histogram":-0.0723,"last_cross":"bearish_crossover","days_since_cross":1},{"key":"energy","macd":-0.085,"class":"sector","label":"Energy","signal":0.0061,"posture":"bearish (MACD below signal)","histogram":-0.0911,"last_cross":"bearish_crossover","days_since_cross":15},{"key":"technology","macd":4.5113,"class":"sector","label":"Technology","signal":6.6505,"posture":"bearish (MACD below signal)","histogram":-2.1392,"last_cross":"bearish_crossover","days_since_cross":6}],"source":"Yahoo Finance","scanned":7,"bearish_count":3,"bullish_count":4,"bearish_crossovers":[{"key":"industrials","label":"Industrials","days_since_cross":1},{"key":"technology","label":"Technology","days_since_cross":6},{"key":"energy","label":"Energy","days_since_cross":15}],"bullish_crossovers":[{"key":"utilities","label":"Utilities","days_since_cross":0},{"key":"real_estate","label":"Real Estate","days_since_cross":2},{"key":"financials","label":"Financials","days_since_cross":6},{"key":"health_care","label":"Health Care","days_since_cross":30}]},"meta":{"timestamp":"2026-06-12T10:35:05.885Z","request_id":"d2a7e1c5-1d40-4aee-8a6c-445f97e0354b"},"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 MACD 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","macd":4.0935,"note":"One market's MACD card: MACD line (12/26 EMA), signal line (9 EMA), histogram, bullish/bearish posture and days since the last MACD/signal crossover.","class":"equities","label":"S&P 500","signal":8.2984,"source":"Yahoo Finance","symbol":"SPY","posture":"bearish (MACD below signal)","histogram":-4.2049,"last_cross":"bearish_crossover","days_since_cross":24},"meta":{"timestamp":"2026-06-12T10:35:06.103Z","request_id":"275344d6-95a6-410d-b9de-e93e552f694a"},"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:06.215Z","request_id":"eccdfb67-6871-436b-9ed0-c299745b5533"},"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). MACD is 12/26 EMA with a 9 EMA signal. Read fresh per call, nothing cached.","source":"Yahoo Finance daily closes (9mo range) across a multi-asset universe, live","classes":["equities","sector","commodities","bonds","crypto"],"service":"macd-api","settings":{"fast":12,"slow":26,"signal":9},"endpoints":{"GET /v1/meta":"This document.","GET /v1/asset":"One market's MACD card (asset=sp500).","GET /v1/screener":"Cross-asset board with fresh MACD crossovers, histogram ranking and bullish/bearish tally (class=sector optional).","GET /v1/universe":"The supported instruments."},"description":"MACD screener (multi-asset) — which markets just triggered a MACD buy or sell signal, live from Yahoo Finance (no key, nothing stored). screener returns the fresh bullish and bearish MACD/signal crossovers across a cross-asset board plus the histogram ranking and bullish/bearish tally. asset returns one market's MACD card (MACD, signal, histogram, posture, days since cross). universe lists what is covered. The cross-asset MACD / momentum-crossover screener cut — distinct from the bring-your-own-candle technical-indicator APIs, the RSI, Bollinger and moving-average screeners and the FX-only signals API.","universe_size":21,"assets_scanned":21,"upstream_status":"ok"},"meta":{"timestamp":"2026-06-12T10:35:06.666Z","request_id":"73e66b9b-c6e1-4446-8d46-a602c96048f2"},"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":790,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":1018,"monthly_call_quota":17400,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":3088,"monthly_call_quota":90500,"rps_limit":16,"hard_limit":true},{"slug":"business","name":"Business","price_cents_month":7140,"monthly_call_quota":494000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/macd-api"}