Skip to main content

OpenBB OECD Provider Extension

This package adds the openbb-oecd provider extension to the Open Data Platform by OpenBB.

It provides everything you need — endpoints, tools, and metadata — to access and explore the entirety of https://data-explorer.oecd.org, without any previous experience working with it.

Installation

Install from PyPI with:

pip install openbb-oecd

Then build the Python static assets by running:

openbb-build

Quick Start

The fastest way to get started is by connecting to the OpenBB Workspace as a custom backend.

Start Server

openbb-api

This starts the FastAPI server over localhost on port 6900.

Add to Workspace

See the documentation here for more details.

Click to Open App

Once added, click on the app to open the dashboard.

The dashboard contains widgets with metadata and information, as well as ones for exploring and retrieving the data.

Implementation Details

OECD publishes data through a SDMX v2 REST API, and organizes everything into "dataflows". You can think of these as databases, each with its own dimension definitions, codelists, and observation attributes. Some definitions are shared across dataflows, others are domain-specific.

The extension ships with a bundled metadata cache that covers all OECD dataflows. It contains dimension definitions, codelist mappings, content constraints, and the full topic taxonomy. When anything is missing from the bundled cache, it is fetched on first use and added to a user-writable cache file that persists across sessions.

Input is validated against the dataflow's content constraints. Codes are resolved to human-readable labels in the output, and dataset and series metadata are returned alongside the observations.

Indicators

In this library, we use the term "indicator" to refer to indicator-like dimensions within individual dataflows. These are dimensions that represent what is being measured, such as MEASURE, SUBJECT, TRANSACTION, or ACTIVITY. The specific dimension varies by dataflow.

The OECD codes for these values — B1GQ, CPI, LI, etc. — are used to construct ticker-like symbols.

Symbology

The Open Data Platform refers to all time series IDs as a symbol. Requesting data requires a symbol constructed from the dataflow's short ID and an identifier, joined with ::.

The identifier can be either:

  • An indicator-like code, such as CPI, LI, or B1GQ
  • A presentation table identifier, such as T0101
DF_PRICES_ALL::CPI         — Consumer Price Index, all items
DF_QNA::B1GQ               — GDP, expenditure approach (Quarterly National Accounts)
DF_CLI::LI                 — Composite Leading Indicator
DF_EO::GDPV_USD            — GDP forecast, volume (Economic Outlook)
DF_BOP::B6_USD             — Current account balance
DF_QNA::T0101              — Quarterly National Accounts presentation table

Multiple indicators from the same dataflow can be comma-separated:

DF_PRICES_ALL::CPI,DF_PRICES_ALL::HICP

Use obb.economy.available_indicators(provider="oecd") to search for or list indicator symbols.

Use obb.oecd_utils.list_tables() and obb.oecd_utils.get_table_detail() to discover presentation tables and inspect their dimensions.

Use obb.oecd_utils.get_dataflow_parameters() to see all dimensions and valid codes for any dataflow.

Metadata Cache

The library ships with a bundled base cache (oecd_cache.msgpack.xz) containing:

  • All dataflow IDs, names, and version metadata
  • DSD dimension definitions and codelist references for every dataflow
  • All codelist code-to-label mappings
  • Content constraints (valid value sets per dimension)
  • The full OECD topic taxonomy (category scheme and categorisations)

When a structure is missing, it is fetched on demand and merged into a user-level cache stored in the OpenBB user cache directory as oecd_cache.msgpack.gz. If that directory cannot be resolved from OpenBB settings, the fallback location is ~/.openbb_platform/cache/oecd_cache.msgpack.gz.

Coverage

All data available from https://data-explorer.oecd.org can be retrieved via obb.economy.indicators(provider='oecd', **kwargs).

The extension also exposes specialized fetchers for the most commonly used OECD datasets.

The extension creates a router path, oecd_utils, that exposes utility functions for UI integrations and metadata lookup.

Endpoints

Economy

  • obb.economy.available_indicators — search all OECD indicator symbols
  • obb.economy.indicators — fetch data for any OECD indicator symbol
  • obb.economy.balance_of_payments — Balance of Payments
  • obb.economy.composite_leading_indicator — Composite Leading Indicators
  • obb.economy.cpi — Consumer Price Indices
  • obb.economy.country_interest_rates — Short and long-term interest rates
  • obb.economy.gdp.nominal — Nominal GDP
  • obb.economy.gdp.real — Real GDP
  • obb.economy.gdp.forecast — GDP forecasts (Economic Outlook)
  • obb.economy.house_price_index — Residential property price indices
  • obb.economy.share_price_index — Share price indices
  • obb.economy.unemployment — Unemployment rates

Utilities

  • obb.oecd_utils.list_topic_choices — topic dropdown choices for UI widgets
  • obb.oecd_utils.list_subtopic_choices — subtopic dropdown choices for a selected topic
  • obb.oecd_utils.list_dataflows — list all OECD dataflows with topic breadcrumbs
  • obb.oecd_utils.list_dataflow_choices — dropdown choices for UI widgets
  • obb.oecd_utils.list_topics — browse OECD topics and subtopics with dataflow counts
  • obb.oecd_utils.get_dataflow_parameters — dimensions and valid codes for a dataflow
  • obb.oecd_utils.list_tables — search OECD presentation tables
  • obb.oecd_utils.get_table_detail — inspect a table's dimensions and indicator hierarchy
  • obb.oecd_utils.list_table_choices — table dropdown choices for UI widgets
  • obb.oecd_utils.presentation_table_choices — progressive choices for the presentation table widget
  • obb.oecd_utils.presentation_table — retrieve formatted OECD presentation tables

"Choices" endpoints are used by OpenBB Workspace to populate widget dropdown menus.

Example

from openbb import obb

# List all available OECD indicators to find what you need
indicators = obb.economy.available_indicators(provider="oecd", query="GDP")
print(indicators.to_df())

# Fetch real GDP growth for the US, UK, and Germany
data = obb.economy.indicators(
    provider="oecd",
    symbol="DF_QNA::B1GQ",
    country="USA,GBR,DEU",
    frequency="quarterly",
)
print(data.to_df())

# Fetch a presentation table directly
table = obb.economy.indicators(
    provider="oecd",
    symbol="DF_QNA::T0101",
    country="USA",
    frequency="Q",
    limit=4,
)
print(table.to_df())

# Inspect all dimensions and valid values for a dataflow
params = obb.oecd_utils.get_dataflow_parameters(
    dataflow_id="DF_PRICES_ALL", output_format="json"
)
print(params.results)

# Search available presentation tables
tables = obb.oecd_utils.list_tables(query="GDP")
print(tables.results)

Metadata

Release files for openbb-oecd 2.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for openbb-oecd 2.0.0
File Size Uploaded
openbb_oecd-2.0.0.tar.gz 3.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for openbb-oecd 2.0.0
File Interpreter ABI Platform
openbb_oecd-2.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 7.0 MB

Release files / openbb_oecd-2.0.0.tar.gz

Download URL openbb_oecd-2.0.0.tar.gz
Size 3.5 MB
Tags Source
SHA-256 checksum
How to use checksums
83364b4627be9bfe715c3b4ae163223fadeb0fdc4097eeabdbf353a34ac2b9fb
BLAKE2b-256 checksum
How to use checksums
e6ac0ad2e49cad27a271f2c3441660acb50e8e9106e64bcddec18962ceace935
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / openbb_oecd-2.0.0-py3-none-any.whl

Download URL openbb_oecd-2.0.0-py3-none-any.whl
Size 3.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
60ba858f6206044f996dd7fbf6440014e7c93ce10f92856011cc0a9a67115e6b
BLAKE2b-256 checksum
How to use checksums
7cbaa5d4cace81628d22e3801b36e8b21191f3c100ae836a407345429900da75
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page