{"record":{"id":"c5fdd7a054328529","repo":"OpenBB-finance/OpenBB","slug":"the-request-was-successful-but-was-returned-empty-c5fdd7","errorCode":null,"errorMessage":"The request was successful but was returned empty.","messagePattern":"The request was successful but was returned empty\\.","errorType":"exception","errorClass":"EmptyDataError","httpStatus":null,"severity":"warning","filePath":"openbb_platform/providers/intrinio/openbb_intrinio/models/forward_sales_estimates.py","lineNumber":208,"sourceCode":"                        f\"Unauthorized Intrinio request -> {message}\"\n                    )\n                raise OpenBBError(f\"Error: {error} -> {message}\")\n            if data.get(\"estimates\") and len(data.get(\"estimates\")) > 0:  # type: ignore\n                results.extend(data.get(\"estimates\"))  # type: ignore\n                while data.get(\"next_page\"):  # type: ignore\n                    next_page = data[\"next_page\"]  # type: ignore\n                    next_url = f\"{url}&next_page={next_page}\"\n                    data = await amake_request(next_url, session=session, **kwargs)\n                    if \"estimates\" in data and len(data.get(\"estimates\")) > 0:  # type: ignore\n                        results.extend(data.get(\"estimates\"))  # type: ignore\n            return results\n\n        url = f\"{BASE_URL}&{query_str}&api_key={api_key}\"\n\n        results = await amake_request(url, response_callback=fetch_callback, **kwargs)  # type: ignore\n\n        if not results:\n            raise EmptyDataError(\"The request was successful but was returned empty.\")\n\n        return results\n\n    @staticmethod\n    def transform_data(\n        query: IntrinioForwardSalesEstimatesQueryParams,\n        data: list[dict],\n        **kwargs: Any,\n    ) -> list[IntrinioForwardSalesEstimatesData]:\n        \"\"\"Transform the raw data into the standard format.\"\"\"\n        symbols = query.symbol.split(\",\") if query.symbol else []\n        results: list[IntrinioForwardSalesEstimatesData] = []\n        for item in sorted(\n            data,\n            key=lambda item: (  # type: ignore\n                (\n                    symbols.index(item.get(\"symbol\")) if item.get(\"symbol\") in symbols else len(symbols),  # type: ignore\n                    item.get(\"date\"),","sourceCodeStart":190,"sourceCodeEnd":226,"githubUrl":"https://github.com/OpenBB-finance/OpenBB/blob/3e071fcc2cd9f891cac6040ae60296dba76dab46/openbb_platform/providers/intrinio/openbb_intrinio/models/forward_sales_estimates.py#L190-L226","documentation":"EmptyDataError raised when the forward sales estimates request (with pagination) completed without errors but accumulated zero rows - the response had no non-empty 'estimates' array on the first page. Indicates the symbol(s) simply have no sales consensus rather than a request failure.","triggerScenarios":"equity/estimates/forward_sales(symbol=X, provider='intrinio') for a ticker with no analyst sales estimates; the body lacks 'estimates' or it is an empty list, results stays empty, and the guard raises.","commonSituations":"OTC, foreign, or recently IPO'd tickers without coverage; symbol changes (ticker reuse) breaking coverage continuity; valid key but no Zacks universe membership.","solutions":["Verify the ticker has analyst coverage.","Retry without extra filters and with a known covered symbol to sanity-check.","Use an alternate provider for uncovered tickers.","Handle EmptyDataError per symbol when looping over watchlists."],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":"from openbb_core.provider.exceptions import EmptyDataError\ntry:\n    df = obb.equity.estimates.forward_sales(symbol=sym, provider='intrinio').to_df()\nexcept EmptyDataError:\n    df = obb.equity.estimates.forward_sales(symbol=sym, provider='benzinga').to_df()","preventionTips":["Expect no consensus for small/foreign tickers","Loop symbols with per-symbol try/except","Keep secondary provider configured"],"tags":["intrinio","estimates","empty-data"],"backgroundTag":null,"analyzedSha":"3e071fcc2cd9f891cac6040ae60296dba76dab46","analyzedAt":"2026-08-14T23:40:48.960Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}