{"record":{"id":"acaac24d11219f44","repo":"OpenBB-finance/OpenBB","slug":"the-request-was-returned-empty-acaac2","errorCode":null,"errorMessage":"The request was returned empty.","messagePattern":"The request was returned empty\\.","errorType":"exception","errorClass":"EmptyDataError","httpStatus":null,"severity":"warning","filePath":"openbb_platform/providers/benzinga/openbb_benzinga/models/world_news.py","lineNumber":179,"sourceCode":"            for page in range(pages)\n        ]\n        results: list = []\n\n        async def get_one(url):\n            \"\"\"Get data for one url.\"\"\"\n            try:\n                response = await amake_request(\n                    url, response_callback=response_callback, **kwargs\n                )\n                if response:\n                    results.extend(response)\n            except (OpenBBError, UnauthorizedError) as e:\n                raise e from e\n\n        await asyncio.gather(*[get_one(url) for url in urls])\n\n        if not results:\n            raise EmptyDataError(\"The request was returned empty.\")\n\n        return sorted(\n            results, key=lambda x: x.get(\"created\"), reverse=query.order == \"desc\"\n        )[: query.limit if query.limit else len(results)]\n\n    @staticmethod\n    def transform_data(\n        query: BenzingaWorldNewsQueryParams,\n        data: list[dict],\n        **kwargs: Any,\n    ) -> list[BenzingaWorldNewsData]:\n        \"\"\"Transform the data.\"\"\"\n        return [BenzingaWorldNewsData.model_validate(item) for item in data]\n","sourceCodeStart":161,"sourceCodeEnd":193,"githubUrl":"https://github.com/OpenBB-finance/OpenBB/blob/3e071fcc2cd9f891cac6040ae60296dba76dab46/openbb_platform/providers/benzinga/openbb_benzinga/models/world_news.py#L161-L193","documentation":"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.","triggerScenarios":"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:`.","commonSituations":"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.","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"],"exampleFix":"// before\nnews = obb.news(provider='benzinga', start_date='2010-01-01')  # may raise EmptyDataError\n\n// after\nfrom openbb_core.provider.utils.errors import EmptyDataError\ntry:\n    news = obb.news(provider='benzinga', date='2026-08-01')\nexcept EmptyDataError:\n    news = []","handlingStrategy":"try-catch","validationCode":"from datetime import datetime, timedelta\n\n# keep date windows inside Benzinga's retention for your key tier\nif start_date < datetime.now() - timedelta(days=90):\n    start_date = datetime.now() - timedelta(days=90)","typeGuard":null,"tryCatchPattern":"try:\n    news = obb.news(provider='benzinga')\nexcept EmptyDataError:\n    news = []  # empty feed, not a failure","preventionTips":["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"],"tags":["benzinga","news","empty-data","provider"],"backgroundTag":null,"analyzedSha":"3e071fcc2cd9f891cac6040ae60296dba76dab46","analyzedAt":"2026-08-14T23:40:48.960Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}