OpenBB-finance/OpenBB · error · OpenBBError
Chart not found.
Error message
Chart not found.
What it means
Raised in the economic-indicators validator when the requested frequency (mapped from annual/quarter/month/day to A/Q/M/D) is not among the dataflow's available frequency values for the current country+indicator selection. Many IMF indicators are published at only one frequency, so requesting e.g. monthly for an annual-only series fails this cross-check.
Source
Thrown at openbb_platform/core/openbb_core/app/model/obbject.py:359
-------
Union[Dict[Hashable, Any], List[Dict[Hashable, Any]]]
Dictionary of lists or list of dictionaries if orient is "records".
"""
df = self.to_dataframe(index=None)
results = df.to_json(
orient="records",
date_format="iso",
date_unit="s",
)
return results # type: ignore
def show(self, **kwargs: Any) -> None:
"""Display chart."""
# pylint: disable=no-member
if not self.chart or not self.chart.fig:
raise OpenBBError("Chart not found.")
kwargs.setdefault("command_location", self._route or "")
show_function: Callable = getattr(self.chart.fig, "show")
show_function(**kwargs)
@classmethod
async def from_query(cls, query: "Query") -> "OBBject":
"""Create OBBject from query.
Parameters
----------
query : Query
Initialized query object.
Returns
-------
OBBject[ResultsType]
OBBject with results.
"""View on GitHub (pinned to 3e071fcc2c)
Solutions
- Check the `available values` list in the error message and pick one of those frequencies.
- Use `frequency='all'` to fetch every frequency the indicator has and filter client-side.
- For batches, query each indicator without frequency first (or with 'all') rather than forcing one value.
- Use exact words annual/quarter/month/day or single letters A/Q/M/D — not variants like 'quarterly'.
Example fix
# before res = obb.economy.economic_indicators(provider='imf', symbol='IFS::NGDP_XDC', country='USA', frequency='month') # after res = obb.economy.economic_indicators(provider='imf', symbol='IFS::NGDP_XDC', country='USA', frequency='quarter')
Defensive patterns
Strategy: try-catch
Try / catch
try:
res = obb.economy.economic_indicators(provider='imf', symbol=sym, country=c, frequency=f)
except Exception as e:
if "dimension 'frequency'" in str(e):
# indicator not published at that frequency: fetch all and filter
res = obb.economy.economic_indicators(provider='imf', symbol=sym, country=c, frequency='all')
else:
raise Prevention
- Use only annual/quarter/month/day (or A/Q/M/D) — variants like 'quarterly' bypass the word map and always fail the check.
- In heterogeneous batches, omit frequency or pass 'all' rather than forcing one value across indicators.
- The error message lists available frequencies — capture it to drive a fallback request.
When it happens
Trigger: `symbol='IFS::NGDP_XDC', country='USA', frequency='month'` where GDP nominal is annual/quarter only; requesting 'day' for any standard IFS indicator; frequency values passed as raw letters ('Q') bypass the word map but are still checked against available values.
Common situations: Reusing one frequency across a batch of heterogeneous indicators; assuming daily because the API mentions D in its docs; word/letter mismatch such as 'quarterly' (not in the map, passed through as 'quarterly' and rejected).
Related errors
- Please install polars: `pip install polars pyarrow` to use
- Invalid logging handler
- Extension '{ext_name}' is not installed.
- At least one extension type must be selected.
- Incorrect email or password
AI-assisted analysis of OpenBB-finance/OpenBB@3e071fcc2c (2026-08-14).
Data as JSON: /api/errors/eaa73602c71323c0.
Report an issue: GitHub.