Skip to content

ODA Data Package

The Problem

Working with Official Development Assistance (ODA) data from the OECD DAC can be overwhelming. The data is scattered across multiple databases (DAC1, DAC2A, CRS, etc), each with different structures and access methods. Getting the specific indicators you need requires expert knowledge—not just of ODA concepts, but also of how the DAC databases and tools are organized. You might spend hours navigating web interfaces, downloading files, and transforming data before you can even start your analysis.

This package simplifies that entire process. Whether you need total ODA flows, bilateral aid to specific countries, or detailed project-level data, you can get it with a few lines of Python code.

What You Can Do

Easily get ODA data

from oda_data import OECDClient

client = OECDClient(years=range(2018, 2023), providers=[4, 302])  # France and USA
data = client.get_indicators("DAC1.10.1010")  # Total ODA

Convert to any currency and constant prices:

client = OECDClient(
    years=range(2020, 2023),
    currency="EUR",
    base_year=2021,  # Constant 2021 prices
    measure="grant_equivalent"
)
data = client.get_indicators("DAC1.10.1015")  # Bilateral ODA

Add human-readable context:

from oda_data import add_names_columns, add_sectors

data = add_names_columns(data, ["donor_code", "recipient_code"])
data = add_sectors(data)  # Add sector classifications (to CRS data)

Analyze policy markers:

from oda_data import bilateral_policy_marker

gender_data = bilateral_policy_marker(
    years=range(2015, 2023),
    marker="gender",
    marker_score="principal",
    currency="USD",
    base_year=2021
)

Key Features

  • Unified API: Access DAC1, DAC2A, CRS, and MultiSystem databases through a single interface
  • Smart Filtering: Filter by donors, recipients, years, sectors, and more
  • Currency Conversion: Get data in USD, EUR, GBP, CAD, or local currencies
  • Constant Prices: Adjust for inflation to any base year
  • Bulk Downloads: Optionally use bulk files for better performance
  • Data Enrichment: Add names, sector classifications, GNI shares, and groupings
  • Policy Markers: Analyze aid by cross-cutting themes (gender, climate, etc.)
  • Caching: Automatic caching for faster repeated queries

Requirements

  • Python 3.11 or higher
  • Compatible with all major operating systems

Installation

pip install oda-data --upgrade

About Version 2.x

This is version 2.x of the package, which includes significant improvements and breaking changes from v1.x. The previous 1.5.x version remains available on PyPI and will be supported until at least August 2025. If you're upgrading, see our Migration Guide for details.

Get Help