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

  1. Check the preceding warnings to see which symbols returned no data
  2. Test one liquid ticker (AAPL) to confirm the endpoint and API key work
  3. Verify your FMP subscription includes analyst estimates
  4. 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

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


AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14). Data as JSON: /api/errors/d2e0c0125e6733be. Report an issue: GitHub.