returns_<window> field from each ETF's latest B5 snapshot (or a dated snapshot via ?date=YYYY-MM-DD), and ranks DESC. Sectors missing a return (delisted, snapshot blob absent, or ETF history shorter than the window) are surfaced in missing_symbols with a structured reason and do not contribute to leader / laggard / spread / median. Use case: UC-3 Sector Rotation Detector - capital rotation signal without N round-trips.x-api-key: ********************curl --location 'https://sugra.ai/api/v1/etf/sectors/relative-strength?window=undefined&date=undefined' \
--header 'x-api-key: <api-key>'{
"data": {
"window": "1m",
"snapshot_date": "2026-05-19",
"sectors": [
{
"symbol": "XLK",
"sector_canonical": "technology",
"name": "string",
"return_pct": 2.45,
"rank": 1,
"percentile": 100
}
],
"leader": {
"symbol": "string",
"sector_canonical": "string",
"return_pct": 0
},
"laggard": {
"symbol": "string",
"sector_canonical": "string",
"return_pct": 0
},
"spread_pct": 0,
"median_pct": 0,
"covered": 0,
"missing_symbols": [
{
"symbol": "string",
"sector_canonical": "string",
"reason": "string"
}
],
"data_source": "string",
"returns_source": "string",
"as_of": "string"
},
"meta": {
"endpoint": "/api/v1/fred/us/cpi",
"data_time": "2026-04-16T14:30:00Z",
"response_time": "2026-04-16T14:30:12Z",
"provider": "Sugra API v1.0.1",
"source": "string",
"attribution": "string",
"fallback_used": true,
"fallback_chain": [
"string"
],
"cached": true,
"stale": true
}
}