{"record":{"id":"13962b8c0ac1001f","repo":"OpenBB-finance/OpenBB","slug":"the-request-returned-empty-13962b","errorCode":null,"errorMessage":"The request returned empty.","messagePattern":"The request returned empty\\.","errorType":"exception","errorClass":"EmptyDataError","httpStatus":null,"severity":"error","filePath":"openbb_platform/providers/econdb/openbb_econdb/models/gdp_real.py","lineNumber":182,"sourceCode":"            final_df = concat(\n                [gdp, gdp_qoq, gdp_yoy],\n                axis=1,\n            )\n            if final_df.empty:\n                warn(f\"Error: No data returned for {_country}.\")\n            if not final_df.empty:\n                results.extend(\n                    final_df.reset_index()\n                    .rename(columns={\"Country\": \"country\"})\n                    .to_dict(orient=\"records\")\n                )\n\n        chunks = [country[i : i + 6] for i in range(0, len(country), 6)]\n        for chunk in chunks:\n            await asyncio.gather(*[get_one_country(c) for c in chunk])\n\n        if not results:\n            raise EmptyDataError(\"The request returned empty.\")\n\n        return results\n\n    @staticmethod\n    def transform_data(\n        query: EconDbGdpRealQueryParams,\n        data: list[dict],\n        **kwargs,\n    ) -> list[EconDbGdpRealData]:\n        \"\"\"Transform the data.\"\"\"\n        # pylint: disable=import-outside-toplevel\n        from pandas import DataFrame, to_datetime\n\n        df = DataFrame(data)\n\n        if query.start_date:\n            df = df[to_datetime(df[\"date\"]) >= to_datetime(query.start_date)]\n        if query.end_date:","sourceCodeStart":164,"sourceCodeEnd":200,"githubUrl":"https://github.com/OpenBB-finance/OpenBB/blob/3e071fcc2cd9f891cac6040ae60296dba76dab46/openbb_platform/providers/econdb/openbb_econdb/models/gdp_real.py#L164-L200","documentation":"EmptyDataError from EconDbGdpRealFetcher.aextract_data: every per-country request ran (in chunks of 6 concurrent tasks) but none yielded a non-empty final DataFrame, so results stays empty. The API answered but returned no parseable real-GDP rows for any requested country.","triggerScenarios":"economy.gdp_real(provider='econdb', country=...) with countries lacking real GDP series on EconDB, or an upstream response-format change making every per-country parse produce an empty final_df.","commonSituations":"Small/micro states with no quarterly real GDP series; a batch request where every country in the batch is unsupported; upstream EconDB outage returning empty payloads.","solutions":["Test with country='us' to verify the endpoint works at all.","Query one country at a time to find which ones return nothing.","Retry later if all countries suddenly return empty (upstream issue).","Report to the openbb-econdb maintainers if a previously working country persistently fails."],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":"from openbb_core.provider.utils.errors import EmptyDataError\ntry:\n    res = obb.economy.gdp_real(provider='econdb', country=','.join(batch))\nexcept EmptyDataError:\n    if len(batch) == 1:\n        logger.warning(f'econdb has no real GDP for {batch[0]}; skipping')\n    else:\n        for c in batch:  # bisect to find the failing country\n            ...","preventionTips":["Query countries in small batches and bisect failures.","Keep a known-good country list from a first successful full pull.","Treat total-empty results across many countries as an upstream signal, not a parameter bug."],"tags":["empty-data","gdp","econdb","api"],"backgroundTag":null,"analyzedSha":"3e071fcc2cd9f891cac6040ae60296dba76dab46","analyzedAt":"2026-08-14T23:40:48.960Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}