indicators
Fetch IMF economic indicators or presentation tables by dataflow::code symbol.
Examples
from openbb import obb
# Fetch a single indicator series by ``dataflow::code`` symbol.
obb.imf.indicators(provider='imf', symbol='IL::RGV_REVS', country='*', frequency='month', limit=1, start_date='2025-09-30')
# Fetch a full presentation table for a country.
obb.imf.indicators(provider='imf', symbol='DIP::H_DIP_INDICATOR', country='BRA', frequency='annual', limit=2, pivot=True)
Parameters
- standard
- imf
symbol: str | list[str]
Symbol to get data for. Multiple items allowed for provider(s): imf.
country: str | None | list[str | None]
The country to get data. Multiple items allowed for provider(s): imf.
frequency: str | None
The frequency of the data.
start_date: date | None | str
Start date of the data, in YYYY-MM-DD format.
end_date: date | None | str
End date of the data, in YYYY-MM-DD format.
symbol: str
Description
Symbol to get data for. Symbol format: 'dataflow::identifier' where identifier is either:
- A table ID (starts with 'H_') for hierarchical table data
- An indicator code for individual indicator data
Examples:
- 'BOP::H_BOP_BOP_AGG_STANDARD_PRESENTATION' - Balance of Payments table
- 'BOP_AGG::GS_CD,BOP_AGG::GS_DB' - Multiple BOP_AGG indicators (Goods & Services)
- 'IL::RGV_REVS' - Gold reserves in millions of fine troy ounces
- 'WEO::NGDP_RPCH' - Real GDP growth (annual only)
- 'WEO::POILBRE' - Brent crude oil price (use country='G001' for world)
- 'PCPS::PGOLD' - Gold price per troy ounce (monthly/quarterly available)
Use obb.economy.available_indicators(provider='imf') to discover symbols. Use obb.imf.list_tables() to see available tables.
country: str | None
ISO3 country code(s). Use comma-separated values for multiple countries. Validated against the dataflow's available countries via constraint API.
frequency: str | None
The frequency of the data. Choices vary by indicator and country. Common options: 'annual', 'quarter', 'month'. Use 'all' or '*' to return all available frequencies. Direct IMF codes (e.g., 'A', 'Q', 'M') are also accepted.
start_date: date | None | str
Start date of the data, in YYYY-MM-DD format.
end_date: date | None | str
End date of the data, in YYYY-MM-DD format.
transform: str | None
Transformation to apply to the data. User-friendly options: 'index' (raw values), 'yoy' (year-over-year %), 'period' (period-over-period %). Use 'all' or '*' to return all available transformations. Direct IMF codes (e.g., 'USD', 'IX') are also accepted.
dimension_values: list[str] | None
List of additional dimension filters in 'DIM_ID:DIM_VALUE' format. Parameter can be entered multiple times.
limit: int | None
Maximum number of records to retrieve per series.
pivot: bool | None
Default: False
If True, pivots the data to presentation view with 'indicator' and 'country' as the index, date as values.
Returns
results: ImfIndicators
Serializable results.
provider: str | None
Provider name.
warnings: Optional[list[Warning_]]
List of warnings.
chart: Optional[Chart]
Chart object.
extra: dict[str, Any]
Extra info.
Data
- standard
- imf
date: date | None | str
The date of the data.
symbol_root: str | None
The root symbol for the indicator (e.g. GDP).
symbol: str | None
Symbol representing the entity requested in the data.
country: str | None
The country represented by the data.
value: float | int | None
date: date | None | str
The date of the data.
symbol_root: str | None
The root symbol for the indicator (e.g. GDP).
symbol: str | None
Symbol representing the entity requested in the data.
country: str | None
The country represented by the data.
value: float | int | None
unit: str | None
The unit of measurement.
unit_multiplier: float | int | None
The multiplier for the unit.
scale: str | None
The scale/multiplier of the value.
order: float | int | None
Sort order within the table hierarchy.
level: int | None
Indentation level in the table hierarchy.
title: str | None
Human-readable title of the series.
description: str | None
Description of the indicator.
country_code: str | None
ISO3 country code.