UNSD SDGs API page can be accessed here: https://unstats.un.org/SDGAPI/swagger/#!/Series/V1SdgSeriesBySeriesCodeGeoAreasGet
Start by creating a vector of the series you want to check and download the complete list of countries.
library(jsonlite)
series <- c("VC_DSR_DAFF", "VC_DSR_LSGP", "SG_DSR_LGRGSR", "SG_DSR_SILS", "ER_GRF_ANIMSTOR", "ER_RSK_LBRED", "SH_STA_ASAIRP", "SH_STA_WASH", "SH_STA_POISN", "SH_H2O_SAFE", "EN_WWT_WWDS", "EN_H2O_WBAMBQ", "ER_H2O_WUEYST", "ER_H2O_STRESS", "ER_H2O_IWRMD", "EG_TBA_H2CO", "EN_WBE_PMPP", "DC_TOF_WASHL", "ER_WAT_PART", "EG_EGY_CLEAN", "EG_FEC_RNEW", "EG_EGY_PRIM", "EN_MAT_DOMCMPG", "EN_ATM_CO2MVA", "VC_DSR_DAFF", "VC_DSR_LSGP", "EN_REF_WASCOL", "EN_ATM_PM25", "SG_DSR_LGRGSR", "SG_DSR_SILS", "SG_SCP_CNTRY", "EN_MAT_DOMCMPG", "SG_HAZ_CMRBASEL", "ER_FFS_PRTSPR", "VC_DSR_DAFF", "SG_DSR_LGRGSR", "SG_DSR_SILS", "ER_H2O_FWTL", "ER_MRN_MARIN", "ER_REG_UNFCIM", "ER_RDE_OSEX", "AG_LND_FRST", "ER_PTD_FRWRT", "ER_PTD_TERRS", "AG_LND_FRSTPRCT", "ER_PTD_MOTN", "ER_MTN_GRNCVI", "ER_RSK_LSTI", "ER_CBD_NAGOYA", "DC_ODA_BDVL", "DC_ODA_BDVL", "SG_INT_MBRDEV", "DC_FTA_TOTAL")
countries <- fromJSON("https://unstats.un.org/SDGAPI/v1/sdg/GeoArea/List")
pasteurl is a function that makes the right API url for each series in the series vector you created.
pasteurl <- function(series){
baseurl <- "https://unstats.un.org/SDGAPI/v1/sdg/Series/"
paste(baseurl, series, "/GeoAreas", sep="")
}
apiURLs <- as.vector(sapply(series, pasteurl))
This for loop will create a data frame where the first column is the complete list of GeoAreas and the subsequent columns show TRUE (has data) or FALSE (no data) for each of the series.
for (i in 1:length(series)){
dat <- fromJSON(apiURLs[i])
dat <- dat$geoAreaName
incountries <- countries$geoAreaName %in% dat
countries <- cbind(countries, incountries)
}
names(countries) <- c("GeoAreaCode", "geoAreaName", series)
countries[1:10,1:10]
## GeoAreaCode geoAreaName VC_DSR_DAFF VC_DSR_LSGP SG_DSR_LGRGSR
## 1 4 Afghanistan FALSE FALSE FALSE
## 2 248 ร
land Islands FALSE FALSE FALSE
## 3 8 Albania TRUE TRUE FALSE
## 4 12 Algeria FALSE FALSE FALSE
## 5 16 American Samoa TRUE TRUE FALSE
## 6 20 Andorra FALSE FALSE FALSE
## 7 24 Angola TRUE TRUE FALSE
## 8 660 Anguilla FALSE FALSE FALSE
## 9 10 Antarctica FALSE FALSE FALSE
## 10 28 Antigua and Barbuda TRUE TRUE FALSE
## SG_DSR_SILS ER_GRF_ANIMSTOR ER_RSK_LBRED SH_STA_ASAIRP SH_STA_WASH
## 1 FALSE TRUE TRUE TRUE TRUE
## 2 FALSE FALSE FALSE FALSE FALSE
## 3 FALSE TRUE TRUE TRUE TRUE
## 4 FALSE TRUE TRUE TRUE TRUE
## 5 FALSE FALSE FALSE FALSE FALSE
## 6 FALSE FALSE FALSE TRUE FALSE
## 7 FALSE TRUE TRUE TRUE TRUE
## 8 FALSE TRUE FALSE FALSE FALSE
## 9 FALSE FALSE FALSE FALSE FALSE
## 10 FALSE TRUE TRUE TRUE TRUE