OpenBB-finance/OpenBB · warning · EmptyDataError
The request was successful but was returned empty.
Error message
The request was successful but was returned empty.
What it means
EmptyDataError raised after the bulk forward P/E request (no symbol filter) succeeded but the callback never extended results - the body had no non-empty 'forward_pe' array. The 10000-row page came back with zero rows or the key missing entirely.
Source
Thrown at openbb_platform/providers/intrinio/openbb_intrinio/models/forward_pe_estimates.py:145
message = data.get("message", "")
if "api key" in message.lower() or "view this data" in error.lower():
raise UnauthorizedError(
f"Unauthorized Intrinio request -> {message} -> {error}"
)
raise OpenBBError(f"Error: {error} -> {message}")
forward_pe = data.get("forward_pe")
if forward_pe and len(forward_pe) > 0: # type: ignore
results.extend(forward_pe) # type: ignore
return results
url = f"{BASE_URL}?page_size=10000&api_key={api_key}"
results = await amake_request(url, response_callback=fetch_callback, **kwargs) # type: ignore
if not results:
raise EmptyDataError("The request was successful but was returned empty.")
return results
@staticmethod
def transform_data(
query: IntrinioForwardPeEstimatesQueryParams,
data: list[dict],
**kwargs: Any,
) -> list[IntrinioForwardPeEstimatesData]:
"""Transform the raw data into the standard format."""
symbols = query.symbol.split(",") if query.symbol else []
if symbols:
data.sort(
key=lambda item: (
symbols.index(item.get("ticker")) if item.get("ticker") in symbols else len(symbols) # type: ignore
)
)
return [IntrinioForwardPeEstimatesData.model_validate(d) for d in data]View on GitHub (pinned to 3e071fcc2c)
Solutions
- Retry after a delay - bulk feeds are often republished periodically.
- Switch to per-symbol mode (pass symbol=) which has its own error reporting.
- Check Intrinio status page for feed incidents.
- Fall back to another provider for the same data.
Defensive patterns
Strategy: fallback
Try / catch
from openbb_core.provider.exceptions import EmptyDataError
try:
res = obb.equity.estimates.forward_pe(provider='intrinio') # bulk
except EmptyDataError:
res = obb.equity.estimates.forward_pe(symbol=','.join(watchlist), provider='intrinio') Prevention
- Do not assume the bulk feed is never empty
- Retry bulk endpoints on a schedule (feeds republish)
- Keep a per-symbol fallback path
- Check Intrinio status during outages
When it happens
Trigger: Calling equity/estimates/forward_pe with provider='intrinio' without symbols (bulk mode) when Intrinio returns {"forward_pe": []} or omits the key - e.g. feed temporarily empty, entitlement returning an empty 200, or upstream data outage.
Common situations: Temporary Intrinio data outages; early-morning snapshots before data is published; entitlement edge cases returning 200 with empty payload; consumers expecting the bulk endpoint to always have rows.
Related errors
- No results were found. -> {query.symbol}
- The request was successful but was returned empty.
- The request was successful but was returned empty.
- There were no results found for any of the given symbols. ->
- The request was successful but was returned empty.
AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14).
Data as JSON: /api/errors/fe81c2ae1faff6bb.
Report an issue: GitHub.