Skip to contents

List all country indicators supported by the World Bank API.

Usage

wb_data(
  indicator = "NY.GDP.MKTP.CD",
  country = NULL,
  lang = "en",
  start_date = NULL,
  end_date = NULL,
  mrv = NULL,
  gapfill = FALSE,
  footnote = FALSE
)

wb_country_indicator(
  indicator = "NY.GDP.MKTP.CD",
  country = NULL,
  lang = "en",
  start_date = NULL,
  end_date = NULL,
  mrv = NULL,
  gapfill = FALSE,
  footnote = FALSE
)

Arguments

indicator

(character())
Indicators to query.

country

(NULL | character())
Countries to query. Default NULL. If NULL, all countries are returned.

lang

(character(1))
Language to query. Default "en".

start_date

(NULL | character(1) | integer(1))
Start date to query. Default NULL. Supported formats:

  • YYYY for yearly data (e.g. 2020 or "2020")

  • YYYYQ[1-4] for quarterly data (e.g. "2020Q1")

  • YYYYM[1-12] for monthly data (e.g. "2020M02")

end_date

(NULL | character(1) | integer(1))
End date to query, in the same format as start_date. Default NULL.

mrv

(NULL | integer(1))
Most recent values to return. An alternative to start_date/end_date. Default NULL.

gapfill

(logical(1))
Whether to fill missing values by carrying forward the last available value. Only used when mrv is set. Default FALSE.

footnote

(logical(1))
Whether to return the footnotes published alongside the observations, such as uncertainty bounds or the survey a figure was derived from. Default FALSE.

Value

A data.frame() with the available country indicators. The columns are:

  • date: The date. An integer if all observations are annual, otherwise a character vector.

  • indicator_id: The indicator ID.

  • indicator_name: The indicator name.

  • country_id: The country ID.

  • country_name: The country name.

  • country_code: The country code.

  • value: The indicator value.

  • unit: The indicator unit.

  • obs_status: The observation status.

  • decimal: The decimal.

  • footnote: The observation footnote, or NA if there is none. Only present when footnote = TRUE.

Examples

# \donttest{
# single indicator for a single country (all available years)
ind <- wb_data("NY.GDP.MKTP.CD", "US")
head(ind)
#>   date   indicator_id    indicator_name country_id  country_name country_code
#> 1 2025 NY.GDP.MKTP.CD GDP (current US$)         US United States          USA
#> 2 2024 NY.GDP.MKTP.CD GDP (current US$)         US United States          USA
#> 3 2023 NY.GDP.MKTP.CD GDP (current US$)         US United States          USA
#> 4 2022 NY.GDP.MKTP.CD GDP (current US$)         US United States          USA
#> 5 2021 NY.GDP.MKTP.CD GDP (current US$)         US United States          USA
#> 6 2020 NY.GDP.MKTP.CD GDP (current US$)         US United States          USA
#>          value unit obs_status decimal
#> 1 3.076970e+13 <NA>       <NA>       0
#> 2 2.929801e+13 <NA>       <NA>       0
#> 3 2.781152e+13 <NA>       <NA>       0
#> 4 2.605461e+13 <NA>       <NA>       0
#> 5 2.372564e+13 <NA>       <NA>       0
#> 6 2.137528e+13 <NA>       <NA>       0

# multiple indicators for multiple countries (2015-2023)
ind <- wb_data(
  indicator = c("NY.GDP.MKTP.CD", "FP.CPI.TOTL.ZG"),
  country = c("US", "DE", "FR", "CH", "JP"),
  start_date = 2015, end_date = 2023
)
head(ind)
#>   date   indicator_id    indicator_name country_id country_name country_code
#> 1 2023 NY.GDP.MKTP.CD GDP (current US$)         CH  Switzerland          CHE
#> 2 2022 NY.GDP.MKTP.CD GDP (current US$)         CH  Switzerland          CHE
#> 3 2021 NY.GDP.MKTP.CD GDP (current US$)         CH  Switzerland          CHE
#> 4 2020 NY.GDP.MKTP.CD GDP (current US$)         CH  Switzerland          CHE
#> 5 2019 NY.GDP.MKTP.CD GDP (current US$)         CH  Switzerland          CHE
#> 6 2018 NY.GDP.MKTP.CD GDP (current US$)         CH  Switzerland          CHE
#>          value unit obs_status decimal
#> 1 928435275852 <NA>       <NA>       0
#> 2 858479038994 <NA>       <NA>       0
#> 3 840710023481 <NA>       <NA>       0
#> 4 756096180222 <NA>       <NA>       0
#> 5 736384764157 <NA>       <NA>       0
#> 6 740766531454 <NA>       <NA>       0

# include the per-observation footnotes
ind <- wb_data("SI.POV.DDAY", "ALB", footnote = TRUE)
head(ind[c("date", "value", "footnote")])
#>   date value
#> 1 2020   0.3
#> 2 2019   0.3
#> 3 2018   1.0
#> 4 2017   1.4
#> 5 2016   1.1
#> 6 2015   1.1
#>                                                               footnote
#> 1 Based on data from HBS. Estimated from unit-record consumption data.
#> 2 Based on data from HBS. Estimated from unit-record consumption data.
#> 3 Based on data from HBS. Estimated from unit-record consumption data.
#> 4 Based on data from HBS. Estimated from unit-record consumption data.
#> 5 Based on data from HBS. Estimated from unit-record consumption data.
#> 6 Based on data from HBS. Estimated from unit-record consumption data.
# }