The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.
Access and Analyze Official Development Assistance (ODA) using the OECD API. ODA data includes sovereign-level aid data such as key aggregates (DAC1), geographical distributions (DAC2A), project-level data (CRS), and multilateral contributions (Multisystem).
The package is part of the EconDataverse family of
packages aimed at helping economists and financial professionals work
with sovereign-level economic data. For a Python implementation with a
similar interface, see oda-reader
.
This package is a product of Christoph Scheuch and not sponsored by or affiliated with the OECD in any way, except for the use of the OECD API.
You can install oecdoda
from CRAN via:
install.packages("oecdoda")
You can install the development version of oecdoda
from
GitHub
with:
# install.packages("pak")
::pak("tidy-intelligence/r-oecdoda") pak
Load the package:
library(oecdoda)
oecdoda
simplifies access to multiple datasets from the
OECD API. Each dataset provides specific filters, which can be listed
using:
oda_list_filters()
#> $`DSD_DAC1@DF_DAC1`
#> [1] "donor" "measure" "untied" "flow_type" "unit_measure"
#> [6] "price_base" "period"
#>
#> $`DSD_DAC2@DF_DAC2A`
#> [1] "donor" "recipient" "measure" "unit_measure" "price_base"
#>
#> $`DSD_CRS@DF_CRS`
#> [1] "donor" "recipient" "sector" "measure" "channel"
#> [6] "modality" "flow_type" "price_base" "md_dim" "md_id"
#> [11] "unit_measure"
#>
#> $`DSD_GREQ@DF_CRS_GREQ`
#> [1] "donor" "recipient" "sector" "measure" "channel"
#> [6] "modality" "flow_type" "price_base" "md_dim" "md_id"
#> [11] "unit_measure"
#>
#> $`DSD_MULTI@DF_MULTI`
#> [1] "donor" "recipient" "sector" "measure" "channel"
#> [6] "flow_type" "price_base" "md_dim" "md_id" "unit_measure"
The DAC1 dataset includes key aggregates of ODA flows and grant equivalents from DAC members and other providers, as well as other resource flows to developing countries.
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"
)
)#> # A tibble: 5 × 14
#> entity_id entity_name series_id series_name flow_type_id flow_type_name year
#> <chr> <chr> <int> <chr> <int> <chr> <int>
#> 1 FRA France 11017 Bilateral l… 1160 Grant equival… 2018
#> 2 FRA France 11017 Bilateral l… 1160 Grant equival… 2020
#> 3 FRA France 11017 Bilateral l… 1160 Grant equival… 2019
#> 4 FRA France 11017 Bilateral l… 1160 Grant equival… 2022
#> 5 FRA France 11017 Bilateral l… 1160 Grant equival… 2021
#> # ℹ 7 more variables: value <dbl>, unit_measure_id <chr>,
#> # unit_measure_name <chr>, price_base_id <chr>, price_base_name <chr>,
#> # unit_multiplier_id <int>, unit_multiplier_name <chr>
The DAC2A dataset provides data on the geographical distribution of bilateral and multilateral ODA disbursements to developing countries and territories on the DAC List of ODA recipients. Data is available by donor, recipient, and aid type (e.g., grants, loans, technical cooperation, or philanthropic flows).
oda_get_dac2a(
start_year = 2018,
end_year = 2022,
filters = list(
donor = "GBR",
recipient = c("GTM", "CHN"),
measure = 106,
price_base = "Q"
)
)#> # A tibble: 10 × 16
#> entity_id entity_name counterpart_id counterpart_name series_id series_name
#> <chr> <chr> <chr> <chr> <int> <chr>
#> 1 GBR United Kingd… CHN China (People’s… 106 Imputed mu…
#> 2 GBR United Kingd… GTM Guatemala 106 Imputed mu…
#> 3 GBR United Kingd… CHN China (People’s… 106 Imputed mu…
#> 4 GBR United Kingd… GTM Guatemala 106 Imputed mu…
#> 5 GBR United Kingd… CHN China (People’s… 106 Imputed mu…
#> 6 GBR United Kingd… GTM Guatemala 106 Imputed mu…
#> 7 GBR United Kingd… CHN China (People’s… 106 Imputed mu…
#> 8 GBR United Kingd… GTM Guatemala 106 Imputed mu…
#> 9 GBR United Kingd… CHN China (People’s… 106 Imputed mu…
#> 10 GBR United Kingd… GTM Guatemala 106 Imputed mu…
#> # ℹ 10 more variables: flow_type_id <chr>, flow_type_name <chr>, year <int>,
#> # value <dbl>, unit_measure_id <chr>, unit_measure_name <chr>,
#> # price_base_id <chr>, price_base_name <chr>, unit_multiplier_id <int>,
#> # unit_multiplier_name <chr>
The CRS dataset provides granular, activity-level statistics on who provides what aid, to where, and for what purpose, on a flow basis or a grant-equivalent basis.
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"
)
)#> # A tibble: 1,257 × 20
#> entity_id entity_name counterpart_id counterpart_name series_id series_name
#> <chr> <chr> <chr> <chr> <int> <chr>
#> 1 USA United States BIH Bosnia and Herz… 100 Official D…
#> 2 USA United States BIH Bosnia and Herz… 100 Official D…
#> 3 USA United States BIH Bosnia and Herz… 100 Official D…
#> 4 USA United States BIH Bosnia and Herz… 100 Official D…
#> 5 USA United States BIH Bosnia and Herz… 100 Official D…
#> 6 USA United States BIH Bosnia and Herz… 100 Official D…
#> 7 USA United States BIH Bosnia and Herz… 100 Official D…
#> 8 USA United States BIH Bosnia and Herz… 100 Official D…
#> 9 USA United States BIH Bosnia and Herz… 100 Official D…
#> 10 USA United States BIH Bosnia and Herz… 100 Official D…
#> # ℹ 1,247 more rows
#> # ℹ 14 more variables: flow_type_id <chr>, flow_type_name <chr>,
#> # channel_id <int>, channelt_name <chr>, modality_id <chr>,
#> # modality_name <chr>, year <int>, value <dbl>, unit_measure_id <chr>,
#> # unit_measure_name <chr>, price_base_id <chr>, price_base_name <chr>,
#> # unit_multiplier_id <int>, unit_multiplier_name <chr>
The Multisystem dataset presents providers’ total use of the multilateral system, including both core contributions to multilateral organizations and bilateral aid channeled through these organizations.
oda_get_multisystem(
start_year = 2018,
end_year = 2022,
filters = list(
donor = "DAC",
recipient = "DPGC",
sector = 1000,
measure = 10
)
)#> # A tibble: 3,152 × 18
#> entity_id entity_name counterpart_id counterpart_name series_id series_name
#> <chr> <chr> <chr> <chr> <int> <chr>
#> 1 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> 2 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> 3 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> 4 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> 5 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> 6 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> 7 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> 8 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> 9 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> 10 DAC DAC countries DPGC Developing coun… 10 Core contr…
#> # ℹ 3,142 more rows
#> # ℹ 12 more variables: flow_type_id <chr>, flow_type_name <chr>,
#> # channel_id <int>, channel_name <chr>, year <int>, value <dbl>,
#> # unit_measure_id <chr>, unit_measure_name <chr>, price_base_id <chr>,
#> # price_base_name <chr>, unit_multiplier_id <int>, unit_multiplier_name <chr>
oecdoda
automatically handles the limits of the OECD API
of 20 calls per hour (as of July 2025). According to
the OECD Service Team, this limit will be relaxed eventually. If you
want to manually change the limits for your session, use the following
options:
options(
oecdoda.rate_capacity = 10,
oecdoda.rate_fill_time = 60
)
Contributions to oecdoda
are welcome! If you’d like to
contribute, please follow these steps:
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.