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

  1. Widen or remove the date filter (start_date/end_date) to fall within Benzinga's available window
  2. Verify the symbol/source filters are valid and news exists for them
  3. Check the API key tier - free keys may only return a small recent window
  4. 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

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


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