OpenBB-finance/OpenBB · warning · EmptyDataError
No data returned for the given symbols.
Error message
No data returned for the given symbols.
What it means
FMP analyst estimates fetcher warns 'Symbol Error: No data found for {symbol}' per failing symbol, and if after gathering all requests `results` is still empty, raises EmptyDataError('No data returned for the given symbols.'). Estimates only exist for covered companies; the aggregate error means zero symbols had data.
Source
Thrown at openbb_platform/providers/fmp/openbb_fmp/models/analyst_estimates.py:114
"""Get data for one symbol."""
url = (
"https://financialmodelingprep.com/stable/analyst-estimates?"
+ f"symbol={symbol}&period={query.period}"
+ f"&page={query.page if query.page else 0}&limit={query.limit if query.limit else 1000}"
+ f"&apikey={api_key}"
)
result = await amake_request(
url, response_callback=response_callback, **kwargs
)
if not result or len(result) == 0:
warnings.warn(f"Symbol Error: No data found for {symbol}")
if result:
results.extend(result)
await asyncio.gather(*[get_one(symbol) for symbol in symbols])
if not results:
raise EmptyDataError("No data returned for the given symbols.")
return sorted(results, key=lambda x: (x["date"], x["symbol"]), reverse=False)
@staticmethod
def transform_data(
query: FMPAnalystEstimatesQueryParams, data: list[dict], **kwargs: Any
) -> list[FMPAnalystEstimatesData]:
"""Return the transformed data."""
return [FMPAnalystEstimatesData.model_validate(d) for d in data]
View on GitHub (pinned to 3e071fcc2c)
Solutions
- Check the preceding warnings to see which symbols returned no data
- Test one liquid ticker (AAPL) to confirm the endpoint and API key work
- Verify your FMP subscription includes analyst estimates
- Catch EmptyDataError and skip these symbols in batch pipelines
Defensive patterns
Strategy: try-catch
Validate before calling
symbols = [s.strip() for s in query.symbol.split(",") if s.strip()]
assert symbols, "symbol list empty"
# optional: probe coverage with a single liquid ticker first
probe = await amake_request(f".../analyst-estimates/AAPL?...")
assert probe, "FMP key may lack estimates access" Try / catch
import warnings
from openbb_core.provider.abstract.errors import EmptyDataError
with warnings.catch_warnings(record=True) as w:
warnings.simplefilter("always")
try:
results = await FMPAnalystEstimatesFetcher.transform_query(...)
except EmptyDataError:
results = []
failed = [str(x.message) for x in w] # per-symbol 'Symbol Error' lines Prevention
- Verify the FMP API key tier includes analyst estimates
- Watch the per-symbol warnings to distinguish coverage gaps from auth issues
- Skip uncovered symbols in batch pipelines instead of retrying
When it happens
Trigger: Requesting estimates for tickers FMP does not cover (OTC, foreign-only listings, recently delisted); wrong API tier so endpoints return empty arrays; valid symbols but period/type combination with no estimates.
Common situations: Free-tier FMP keys that exclude or limit estimates data; batch jobs over micro-cap universes; symbol typos that FMP silently resolves to nothing.
Related errors
- The request was returned empty.
- No data found for the given query -> {query.model_dump()}
- The request was returned empty.
- No data was returned from the FMP endpoint.
- Unsupported file format. Please use .json or .env files.
AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14).
Data as JSON: /api/errors/d2e0c0125e6733be.
Report an issue: GitHub.