Title: Seamless Access to OECD Official Development Assistance (ODA) Data
Version: 0.1.0
Description: Access and Analyze Official Development Assistance (ODA) data using the OECD API https://gitlab.algobank.oecd.org/public-documentation/dotstat-migration/-/raw/main/OECD_Data_API_documentation.pdf. ODA data includes sovereign-level aid data such as key aggregates (DAC1), geographical distributions (DAC2A), project-level data (CRS), and multilateral contributions (Multisystem).
License: MIT + file LICENSE
Depends: R (≥ 4.1)
Imports: cli (≥ 3.0.0), httr2 (≥ 1.0.0), tibble
Suggests: curl, testthat (≥ 3.0.0)
URL: https://github.com/tidy-intelligence/r-oecdoda, https://tidy-intelligence.github.io/r-oecdoda/
BugReports: https://github.com/tidy-intelligence/r-oecdoda/issues
Config/testthat/edition: 3
Encoding: UTF-8
RoxygenNote: 7.3.2
NeedsCompilation: no
Packaged: 2025-07-24 12:42:08 UTC; krise
Author: Christoph Scheuch ORCID iD [aut, cre, cph]
Maintainer: Christoph Scheuch <christoph@tidy-intelligence.com>
Repository: CRAN
Date/Publication: 2025-07-25 16:20:02 UTC

oecdoda: Seamless Access to OECD Official Development Assistance (ODA) Data

Description

Access and Analyze Official Development Assistance (ODA) data using the OECD API https://gitlab.algobank.oecd.org/public-documentation/dotstat-migration/-/raw/main/OECD_Data_API_documentation.pdf. ODA data includes sovereign-level aid data such as key aggregates (DAC1), geographical distributions (DAC2A), project-level data (CRS), and multilateral contributions (Multisystem).

Author(s)

Maintainer: Christoph Scheuch christoph@tidy-intelligence.com (ORCID) [copyright holder]

See Also

Useful links:


Get OECD Creditor Reporting System (CRS) data

Description

Retrieves data from the OECD CRS dataset using specified filters, years, and optional pre-processing.

Usage

oda_get_crs(
  start_year = NULL,
  end_year = NULL,
  filters = NULL,
  pre_process = TRUE,
  as_grant_equivalent = FALSE
)

Arguments

start_year

Integer. The starting year of the data query. If NULL, no lower bound is set. Defaults to NULL.

end_year

Integer. The ending year of the data query. If NULL, no upper bound is set. Defaults to NULL.

filters

List. A named list of filters to apply (e.g., donor codes, easure, flow type, unit measure, price base). Values must match OECD dotstat codes.

pre_process

Logical. Whether to clean and rename columns into a standard format. If FALSE, returns raw output. Defaults to TRUE.

as_grant_equivalent

Logical. Whether the 'flows' or 'grant equivalent' version of the CRS should be returned.

Value

A data frame containing OECD CRS data

Examples



oda_get_crs(
  start_year = 2018,
  end_year = 2022,
  filters = list(
    donor = c("AUT", "FRA", "USA"),
    recipient = "BIH",
    measure = 100,
    channel = 60000,
    price_base = "Q"
  )
)



Get OECD DAC1 Official Development Assistance (ODA) data

Description

Retrieves data from the OECD DAC1 dataset using specified filters, years, and optional pre-processing.

Usage

oda_get_dac1(
  start_year = NULL,
  end_year = NULL,
  filters = NULL,
  pre_process = TRUE
)

Arguments

start_year

Integer. The starting year of the data query. If NULL, no lower bound is set. Defaults to NULL.

end_year

Integer. The ending year of the data query. If NULL, no upper bound is set. Defaults to NULL.

filters

List. A named list of filters to apply (e.g., donor codes, easure, flow type, unit measure, price base). Values must match OECD dotstat codes.

pre_process

Logical. Whether to clean and rename columns into a standard format. If FALSE, returns raw output. Defaults to TRUE.

Value

A data frame containing OECD DAC1 data

Examples



oda_get_dac1(
  start_year = 2018,
  end_year = 2022,
  filters = list(
    donor = c("FRA", "USA"),
    measure = 11017,
    flow_type = 1160,
    unit_measure = "XDC",
    price_base = "V"
  )
)



Get OECD DAC2A Official Development Assistance (ODA) data

Description

Retrieves data from the OECD DAC2A dataset using specified filters, years, and optional pre-processing.

Usage

oda_get_dac2a(
  start_year = NULL,
  end_year = NULL,
  filters = NULL,
  pre_process = TRUE
)

Arguments

start_year

Integer. The starting year of the data query. If NULL, no lower bound is set. Defaults to NULL.

end_year

Integer. The ending year of the data query. If NULL, no upper bound is set. Defaults to NULL.

filters

List. A named list of filters to apply (e.g., donor codes, easure, flow type, unit measure, price base). Values must match OECD dotstat codes.

pre_process

Logical. Whether to clean and rename columns into a standard format. If FALSE, returns raw output. Defaults to TRUE.

Value

A data frame containing OECD DAC2A data

Examples



oda_get_dac2a(
  start_year = 2018,
  end_year = 2022,
  filters = list(
    donor = "GBR",
    recipient = c("GTM","CHN"),
    measure = 106,
    price_base = "Q"
  )
)



Get OECD Members Total Use of the Multilateral System (Multisystem)

Description

Retrieves data from the OECD Multisystem dataset using specified filters, years, and optional pre-processing.

Usage

oda_get_multisystem(
  start_year = NULL,
  end_year = NULL,
  filters = NULL,
  pre_process = TRUE
)

Arguments

start_year

Integer. The starting year of the data query. If NULL, no lower bound is set. Defaults to NULL.

end_year

Integer. The ending year of the data query. If NULL, no upper bound is set. Defaults to NULL.

filters

List. A named list of filters to apply (e.g., donor codes, easure, flow type, unit measure, price base). Values must match OECD dotstat codes.

pre_process

Logical. Whether to clean and rename columns into a standard format. If FALSE, returns raw output. Defaults to TRUE.

Value

A data frame containing OECD Multisystem data

Examples



oda_get_multisystem(
  start_year = 2018,
  end_year = 2022,
  filters = list(
    donor = "DAC",
    recipient = "DPGC",
    sector = 1000,
    measure = 10
  )
)



List Available Filters for an ODA Resource

Description

List Available Filters for an ODA Resource

Usage

oda_list_filters(resource = NULL)

Arguments

resource

A character string identifying the resource (e.g., "DSD_CRS@DF_CRS").

Value

A character vector of available filter names for the given resource.

Examples

oda_list_filters()

oda_list_filters("DSD_DAC2@DF_DAC2A")