{"record":{"id":"d41475c2afa3fb56","repo":"OpenBB-finance/OpenBB","slug":"no-tables-were-found-for-the-release-query-relea","errorCode":null,"errorMessage":"No tables were found for the release, {query.release_id}. Use `fred_search()` to list all release IDs.\n\nReleases without tables will not return data, nor will this endpoint return individual line items.\n\nTry a different 'element_id' and/or 'date'.\n\nExclude 'date' for the most recent observations.\n\nExclude 'element_id' to reveal the top-level element IDs.\n\nUse `fred_series` for single series data.","messagePattern":"No tables were found for the release, (.+?)\\. Use `fred_search\\(\\)` to list all release IDs\\.\n\nReleases without tables will not return data, nor will this endpoint return individual line items\\.\n\nTry a different 'element_id' and/or 'date'\\.\n\nExclude 'date' for the most recent observations\\.\n\nExclude 'element_id' to reveal the top-level element IDs\\.\n\nUse `fred_series` for single series data\\.","errorType":"exception","errorClass":"EmptyDataError","httpStatus":null,"severity":"warning","filePath":"openbb_platform/providers/fred/openbb_fred/models/release_table.py","lineNumber":255,"sourceCode":"            # If no observation values are returned, we collect the unique element IDs for the user.\n            elif res:\n                for item in res:\n                    if not any(r[\"element_id\"] == item[\"element_id\"] for r in results):\n                        results.append(item)\n\n        await asyncio.gather(*[get_one(URL) for URL in URLS])\n\n        return results\n\n    @staticmethod\n    def transform_data(\n        query: FredReleaseTableQueryParams,\n        data: list[dict],\n        **kwargs: Any,\n    ) -> list[FredReleaseTableData]:\n        \"\"\"Transform data.\"\"\"\n        if not data:\n            raise EmptyDataError(\n                f\"No tables were found for the release, {query.release_id}.\"\n                + \" Use `fred_search()` to list all release IDs.\"\n                + \"\\n\\nReleases without tables will not return data,\"\n                + \" nor will this endpoint return individual line items.\"\n                + \"\\n\\nTry a different 'element_id' and/or 'date'.\"\n                + \"\\n\\nExclude 'date' for the most recent observations.\"\n                + \"\\n\\nExclude 'element_id' to reveal the top-level element IDs.\"\n                + \"\\n\\nUse `fred_series` for single series data.\"\n            )\n\n        return [\n            FredReleaseTableData.model_validate(d)\n            for d in sorted(\n                data,\n                key=lambda x: (\n                    x.get(\"observation_date\", float(\"inf\")),\n                    x.get(\"line\", float(\"inf\")),\n                ),","sourceCodeStart":237,"sourceCodeEnd":273,"githubUrl":"https://github.com/OpenBB-finance/OpenBB/blob/3e071fcc2cd9f891cac6040ae60296dba76dab46/openbb_platform/providers/fred/openbb_fred/models/release_table.py#L237-L273","documentation":"Thrown by FredReleaseTableFetcher.transform_data (openbb_fred/models/release_table.py:255) when the extract step returned zero rows for the requested release table. It is an EmptyDataError, meaning the FRED release-table endpoint responded but contained no tables matching the release_id/element_id/date combination. FRED releases frequently have no table structure at all, and the geofred/release-table API never returns individual line items, only whole tables. The long message enumerates the remediations the provider authors suggest.","triggerScenarios":"Calling economy/fred release-table with a release_id that has no tables (e.g. many small regional releases); supplying an element_id that does not exist under the release; supplying a date on which the table has no observations; combining element_id with a date that filters out everything.","commonSituations":"Hardcoding a release_id discovered on the FRED website without checking it has tables; assuming element IDs nest arbitrarily; migrating from a direct FRED API script that hit /fred/release/tables and handled empty 'elements' itself.","solutions":["Re-run without 'element_id' to list the top-level element IDs for the release, then drill down.","Re-run without 'date' to get the most recent published table.","Verify the release_id actually exists and has tables using fred_search(search_type='release').","If you need a single series rather than a table, switch to fred_series with the series ID.","If you need one line item, fetch it as its own series via fred_series instead of this endpoint."],"exampleFix":"# before\nobb.economy.fred.release_table(release_id=86, element_id=12521, date='2023-01-01')\n\n# after - discover valid element IDs first\ntop = obb.economy.fred.release_table(release_id=86)\nprint(top.to_df()['element_id'].unique())\nobb.economy.fred.release_table(release_id=86, element_id=<valid_id>)","handlingStrategy":"try-catch","validationCode":"results = obb.economy.fred.search(search_type='release')\nvalid_ids = set(results.to_df()['release_id'].astype(int))\nif release_id not in valid_ids:\n    raise ValueError(f'release_id {release_id} not known to FRED')","typeGuard":"def has_release_tables(df: 'pd.DataFrame') -> bool:\n    \"\"\"True if the release-table result actually contains rows.\"\"\"\n    return df is not None and not df.empty","tryCatchPattern":"from openbb_core.provider.utils.errors import EmptyDataError\n\ntry:\n    table = obb.economy.fred.release_table(release_id=86, element_id=element_id)\nexcept EmptyDataError:\n    # retry once without narrowing filters to discover valid element IDs\n    table = obb.economy.fred.release_table(release_id=86)","preventionTips":["Always discover element_id values by first calling release_table with release_id only.","Treat date as optional refinement, not a default; omit it unless you need a historical vintage.","Keep a curated map of release_ids known to have tables instead of guessing IDs from the FRED website."],"tags":["fred","release-table","empty-data","validation"],"backgroundTag":null,"analyzedSha":"3e071fcc2cd9f891cac6040ae60296dba76dab46","analyzedAt":"2026-08-14T23:40:48.960Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}