From 41d9a71a0615193d4ed9aeecc6a4478b19f5a4f0 Mon Sep 17 00:00:00 2001 From: Openclaw Date: Sun, 29 Mar 2026 01:44:54 -0700 Subject: Use stable FMP stock-peers endpoint --- services/fmp_service.py | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'services/fmp_service.py') diff --git a/services/fmp_service.py b/services/fmp_service.py index 59d8215..4dea211 100644 --- a/services/fmp_service.py +++ b/services/fmp_service.py @@ -77,8 +77,25 @@ def get_key_ratios(ticker: str) -> dict: @st.cache_data(ttl=21600) def get_peers(ticker: str) -> list[str]: - """Direct FMP peers endpoint was deprecated; peer discovery is handled in UI fallback logic.""" - return [] + """Return comparable ticker symbols from FMP stable stock-peers endpoint.""" + ticker = ticker.upper() + data = _get(STABLE_BASE, "/stock-peers", params={"symbol": ticker}) + if not isinstance(data, list): + return [] + + peers = [] + for row in data: + symbol = str(row.get("symbol") or "").upper().strip() + if symbol and symbol != ticker: + peers.append(symbol) + + seen = set() + deduped = [] + for symbol in peers: + if symbol not in seen: + deduped.append(symbol) + seen.add(symbol) + return deduped[:8] @st.cache_data(ttl=3600) -- cgit v1.3-2-g0d8e