{"record":{"id":"547942a4bba6c315","repo":"OpenBB-finance/OpenBB","slug":"error-the-no-data-was-found-for-the-supplied-symb","errorCode":null,"errorMessage":"Error: The no data was found for the supplied symbols and countries: {query.symbol.split(',')} {query.country.split(',') if query.country else ''}","messagePattern":"Error: The no data was found for the supplied symbols and countries: (.+?) (.+?)","errorType":"exception","errorClass":"EmptyDataError","httpStatus":null,"severity":"warning","filePath":"openbb_platform/providers/econdb/openbb_econdb/models/economic_indicators.py","lineNumber":476,"sourceCode":"            ].sort_values(\n                by=\"date\"\n            )\n            result[\"symbol_root\"] = indicator\n            result[\"symbol\"] = _symbol\n            result[\"country\"] = country\n            # We can normalize the percent values here\n            # because we have accounted for transformation, if done.\n            if units == \"PERCENT\" or scale == \"PERCENT\":\n                result[\"value\"] = result[\"value\"].astype(float).div(100)\n            # Combine it with all the other series requested.\n            output = concat([output, result.dropna()], axis=0)\n            output = (\n                output.set_index([\"date\", \"symbol_root\", \"country\"])\n                .sort_index()\n                .reset_index()\n            )\n        if output.empty:\n            raise EmptyDataError(\n                \"Error: The no data was found for the supplied symbols and countries: \"\n                + f\"{query.symbol.split(',')} {query.country.split(',') if query.country else ''}\"\n            )\n        records = (\n            output.fillna(\"N/A\")\n            .replace(\"N/A\", None)\n            .replace(\"nan\", None)\n            .replace(\"\", None)\n            .replace(0, None)\n            .to_dict(\"records\")\n        )\n        return AnnotatedResult(\n            result=[\n                EconDbEconomicIndicatorsData.model_validate(r)\n                for r in records\n                if r[\"value\"] is not None\n            ],\n            metadata=metadata,","sourceCodeStart":458,"sourceCodeEnd":494,"githubUrl":"https://github.com/OpenBB-finance/OpenBB/blob/3e071fcc2cd9f891cac6040ae60296dba76dab46/openbb_platform/providers/econdb/openbb_econdb/models/economic_indicators.py#L458-L494","documentation":"EmptyDataError from EconDbEconomicIndicatorsFetcher.transform_data: raw records arrived, but after per-symbol cleaning, transformation alignment and dropna, the combined `output` DataFrame is empty. The message embeds the requested symbols and countries (as Python lists, due to f-string of .split(',')).","triggerScenarios":"Calling obb.economy.indicator(provider='econdb', ...) where every fetched series drops to all-NaN — e.g. transform suffixes that produce NaN over the whole window, dates misaligned so dropna removes all rows, or symbols whose observations are all null in the requested period.","commonSituations":"Year-over-year transforms requested over a window shorter than the transform lag; querying a period before the series started (rows exist in raw payload but are null); mixing symbols whose data ended with ones that haven't started.","solutions":["Widen the date range well beyond the transformation lag (e.g. +1 extra year for YoY).","Retry without the '~transform' suffix to confirm raw levels exist for the window.","Query each symbol separately to isolate which one collapses to empty after dropna.","Treat EmptyDataError as 'no observations' and continue in batch jobs."],"exampleFix":"# before\nres = obb.economy.indicator(provider=\"econdb\", symbol=\"cpi~yoy\", country=\"us\", start_date=\"2024-01-01\", end_date=\"2024-03-01\")  # YoY lag -> all NaN\n\n# after\nres = obb.economy.indicator(provider=\"econdb\", symbol=\"cpi~yoy\", country=\"us\", start_date=\"2022-01-01\", end_date=\"2024-03-01\")","handlingStrategy":"validation","validationCode":"TRANSFORM_LAG_YEARS = {\"yoy\": 1, \"ytd\": 1}  # conservative\n\ndef range_covers_transform(start, end, transform: str | None) -> bool:\n    lag = TRANSFORM_LAG_YEARS.get((transform or \"\").lower(), 0)\n    return (end.year - start.year) >= lag","typeGuard":null,"tryCatchPattern":"from openbb_core.provider.utils.errors import EmptyDataError\ntry:\n    res = obb.economy.indicator(provider=\"econdb\", symbol=s, country=c, start_date=a, end_date=b).to_df()\nexcept EmptyDataError:\n    if \"~\" in s:  # transform likely ate the window\n        res = obb.economy.indicator(provider=\"econdb\", symbol=s.split(\"~\")[0], country=c, start_date=a, end_date=b).to_df()\n    else:\n        raise","preventionTips":["Pad start_date by one extra year when using '~' transforms (YoY needs prior-year levels).","Confirm raw levels exist for the window before blaming coverage.","Request symbols individually to isolate the one that drops to all-NaN."],"tags":["econdb","empty-data","transformation","nan","date-range"],"backgroundTag":null,"analyzedSha":"3e071fcc2cd9f891cac6040ae60296dba76dab46","analyzedAt":"2026-08-14T23:40:48.960Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}