OpenBB-finance/OpenBB · warning · EmptyDataError
The request was returned empty.
Error message
The request was returned empty.
What it means
Raised by the Benzinga world_news fetcher after all concurrent page requests complete but the aggregated results list is empty. It means every URL in the gather returned nothing (or every response was falsy), so there is no news to sort or return. It is an EmptyDataError, i.e. a benign 'no data' outcome, not a request failure.
Source
Thrown at openbb_platform/providers/benzinga/openbb_benzinga/models/world_news.py:179
for page in range(pages)
]
results: list = []
async def get_one(url):
"""Get data for one url."""
try:
response = await amake_request(
url, response_callback=response_callback, **kwargs
)
if response:
results.extend(response)
except (OpenBBError, UnauthorizedError) as e:
raise e from e
await asyncio.gather(*[get_one(url) for url in urls])
if not results:
raise EmptyDataError("The request was returned empty.")
return sorted(
results, key=lambda x: x.get("created"), reverse=query.order == "desc"
)[: query.limit if query.limit else len(results)]
@staticmethod
def transform_data(
query: BenzingaWorldNewsQueryParams,
data: list[dict],
**kwargs: Any,
) -> list[BenzingaWorldNewsData]:
"""Transform the data."""
return [BenzingaWorldNewsData.model_validate(item) for item in data]
View on GitHub (pinned to 3e071fcc2c)
Solutions
- Widen or remove the date filter (start_date/end_date) to fall within Benzinga's available window
- Verify the symbol/source filters are valid and news exists for them
- Check the API key tier - free keys may only return a small recent window
- Catch EmptyDataError and treat it as an empty news feed rather than a failure
Example fix
// before
news = obb.news(provider='benzinga', start_date='2010-01-01') # may raise EmptyDataError
// after
from openbb_core.provider.utils.errors import EmptyDataError
try:
news = obb.news(provider='benzinga', date='2026-08-01')
except EmptyDataError:
news = [] Defensive patterns
Strategy: try-catch
Validate before calling
from datetime import datetime, timedelta
# keep date windows inside Benzinga's retention for your key tier
if start_date < datetime.now() - timedelta(days=90):
start_date = datetime.now() - timedelta(days=90) Try / catch
try:
news = obb.news(provider='benzinga')
except EmptyDataError:
news = [] # empty feed, not a failure Prevention
- Keep date filters within your key tier's history window
- Validate symbol/source filters before requesting
- Default to no date filter when recency is acceptable
When it happens
Trigger: Calling obb.news(provider='benzinga') with a date filter outside the API's retention window, a limit/source combination yielding zero articles, or querying symbols with no news. Also occurs when responses come back as empty lists that are skipped by `if response:`.
Common situations: Backfill jobs requesting old dates beyond Benzinga's free-tier history; weekend/holiday queries on filtered categories; free API keys limited to recent articles only.
Related errors
- No ratings data returned.
- The request was returned empty.
- No ratings data returned.
- [Empty] -> {e}
- No data was returned -> \n{messages[-1]}
AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14).
Data as JSON: /api/errors/acaac24d11219f44.
Report an issue: GitHub.