/v1/breadth
Market-wide breadth: % above MAs, advance/decline, regime
Try it live
10 free calls per day — no sign-up, no API key. Goes through the oanor gateway.
It works. Grab an API key and use it in your project.
Get an API keyCode snippets
curl "https://api.oanor.com/equitybreadth-api/v1/breadth" \ -H "x-oanor-key: oanor_test_..."
await fetch("https://api.oanor.com/equitybreadth-api/v1/breadth", {
headers: { "x-oanor-key": "oanor_test_..." }
});
$ch = curl_init("https://api.oanor.com/equitybreadth-api/v1/breadth");
curl_setopt($ch, CURLOPT_HTTPHEADER, ["x-oanor-key: oanor_test_..."]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$out = curl_exec($ch);
import requests
requests.get(
"https://api.oanor.com/equitybreadth-api/v1/breadth",
headers={"x-oanor-key": "oanor_test_..."}
)
Example response
A real response from this endpoint, captured by the latest health check.
{
"data": {
"note": "Breadth across a ~50-name large-cap US universe spanning all sectors. pct_above_ma200 is the share trading above their 200-day average — high = a broad bull market, low = a broad bear. advance_decline_ratio above 1 means more stocks up than down today. A curated liquid large-cap universe, not all 500 constituents.",
"regime": "mixed",
"source": "Yahoo Finance",
"advancers": 28,
"decliners": 22,
"avg_change_pct": 0.95,
"pct_above_ma20": 52,
"pct_above_ma50": 50,
"stocks_scanned": 50,
"pct_above_ma200": 56,
"median_change_pct": 0.52,
"advance_decline_ratio": 1.27
},
"meta": {
"timestamp": "2026-06-12T10:35:24.000Z",
"request_id": "f3d5cece-8d32-430a-848e-f92ad7adcd8d"
},
"status": "ok",
"message": "Breadth retrieved successfully",
"success": true
}