Eurostat’s API

Data - Eurostat

Info

source dataset Title .html .rData
eurostat api NA NA NA

List of APIs

source dataset Title .html .rData
bdf api NA NA NA
bea api NA NA NA
bis api NA NA NA
bls api NA NA NA
dbnomics api NA NA NA
ecb api NA NA NA
eurostat api NA NA NA
imf api NA NA NA
insee api NA NA NA
oecd api OECD's API 2026-07-24 2024-04-16
wdi api NA NA NA

Info

Listings

Components

namq_10_gdp

Code
"https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/datastructure/ESTAT/namq_10_gdp"  %>%
  readSDMX() %>%
  slot("datastructures") %>%
  pluck(1) %>%
  slot("Components") %>%
  as_tibble %>%
  print_table_conditional()
component conceptRef conceptVersion conceptAgency conceptSchemeRef conceptSchemeVersion conceptSchemeAgency codelist codelistVersion codelistAgency isMeasureDimension isFrequencyDimension isEntityDimension isCountDimension isNonObservationTimeDimension isIdentityDimension crossSectionalAttachDataset crossSectionalAttachGroup crossSectionalAttachSection crossSectionalAttachObservation
Dimension freq NA NA NAMQ_10_GDP 127.0 ESTAT FREQ 3.9 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension unit NA NA NAMQ_10_GDP 127.0 ESTAT UNIT 81.0 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension s_adj NA NA NAMQ_10_GDP 127.0 ESTAT S_ADJ 1.12 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension na_item NA NA NAMQ_10_GDP 127.0 ESTAT NA_ITEM 30.0 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension geo NA NA NAMQ_10_GDP 127.0 ESTAT GEO 28.0 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
TimeDimension TIME_PERIOD 127.0 ESTAT NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
PrimaryMeasure OBS_VALUE 127.0 ESTAT NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Attribute OBS_FLAG NA NA NAMQ_10_GDP 127.0 ESTAT OBS_FLAG 1.39 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Attribute CONF_STATUS NA NA NAMQ_10_GDP 127.0 ESTAT CONF_STATUS 1.2 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA

prc_hicp_manr

Code
"https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/datastructure/ESTAT/prc_hicp_manr"  %>%
  readSDMX() %>%
  slot("datastructures") %>%
  pluck(1) %>%
  slot("Components") %>%
  as_tibble %>%
  print_table_conditional()
component conceptRef conceptVersion conceptAgency conceptSchemeRef conceptSchemeVersion conceptSchemeAgency codelist codelistVersion codelistAgency isMeasureDimension isFrequencyDimension isEntityDimension isCountDimension isNonObservationTimeDimension isIdentityDimension crossSectionalAttachDataset crossSectionalAttachGroup crossSectionalAttachSection crossSectionalAttachObservation
Dimension freq NA NA PRC_HICP_MANR 69.0 ESTAT FREQ 3.9 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension unit NA NA PRC_HICP_MANR 69.0 ESTAT UNIT 70.0 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension coicop NA NA PRC_HICP_MANR 69.0 ESTAT COICOP 6.3 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension geo NA NA PRC_HICP_MANR 69.0 ESTAT GEO 27.0 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
TimeDimension TIME_PERIOD 69.0 ESTAT NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
PrimaryMeasure OBS_VALUE 69.0 ESTAT NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Attribute OBS_FLAG NA NA PRC_HICP_MANR 69.0 ESTAT OBS_FLAG 1.39 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Attribute CONF_STATUS NA NA PRC_HICP_MANR 69.0 ESTAT CONF_STATUS 1.2 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA

hbs_str_t223

Code
"https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/datastructure/ESTAT/hbs_str_t223"  %>%
  readSDMX() %>%
  slot("datastructures") %>%
  pluck(1) %>%
  slot("Components") %>%
  as_tibble %>%
  print_table_conditional()
component conceptRef conceptVersion conceptAgency conceptSchemeRef conceptSchemeVersion conceptSchemeAgency codelist codelistVersion codelistAgency isMeasureDimension isFrequencyDimension isEntityDimension isCountDimension isNonObservationTimeDimension isIdentityDimension crossSectionalAttachDataset crossSectionalAttachGroup crossSectionalAttachSection crossSectionalAttachObservation
Dimension freq NA NA HBS_STR_T223 41.0 ESTAT FREQ 3.7 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension quant_inc NA NA HBS_STR_T223 41.0 ESTAT QUANT_INC 2.2 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension coicop NA NA HBS_STR_T223 41.0 ESTAT COICOP 6.3 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension unit NA NA HBS_STR_T223 41.0 ESTAT UNIT 65.0 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension geo NA NA HBS_STR_T223 41.0 ESTAT GEO 25.2 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
TimeDimension TIME_PERIOD 41.0 ESTAT NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
PrimaryMeasure OBS_VALUE 41.0 ESTAT NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
Attribute OBS_FLAG NA NA HBS_STR_T223 41.0 ESTAT OBS_FLAG 1.38 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Attribute CONF_STATUS NA NA HBS_STR_T223 41.0 ESTAT CONF_STATUS 1.1 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA

Codelists

FREQ

Code
"https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/codelist/ESTAT/FREQ"  %>%
  readSDMX() %>%
  as_tibble %>%
  select(1, 4) %>%
  print_table_conditional()
id label.en
P Pluri-annual
A Annual
S Half-yearly, semesterly
Q Quarterly
M Monthly
W Weekly
B Daily - business week
D Daily
H Hourly
I Irregular / A-periodic
NAP Not applicable
A3 Triannual

coicop

Code
"https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/codelist/ESTAT/coicop"  %>%
  readSDMX() %>%
  as_tibble %>%
  select(1, 4) %>%
  print_table_conditional()

https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/contentconstraint/ESTAT/ISOC_CI_ID_H/1.0

New

Code
data_structure <- "https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/datastructure/ESTAT/NAMA_10_GDP/28.0"  %>%
  readSDMX()

components <- "https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/datastructure/ESTAT/NAMQ_10_GDP"  %>%
  readSDMX() %>%
  slot("datastructures") %>%
  pluck(1) %>%
  slot("Components") %>%
  as_tibble

components <- "https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/datastructure/ESTAT/NAMQ_10_GDP"  %>%
  readSDMX() %>%
  slot("datastructures") %>%
  pluck(1) %>%
  slot("Components") %>%
  as_tibble

Concept_scheme <- "https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/conceptscheme/ESTAT/ISOC_CI_ID_H/28.0"  %>%
  readSDMX()

GDP Data

https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/codelist/ESTAT/FREQ/1.31

Example 1

Code
"https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/NAMA_10_GDP/A.CP_MEUR.B1GQ.FR+DE+IT"  %>%
  readSDMX() %>%
  as_tibble %>%
  mutate(date = as.Date(paste0(obsTime, "-01-01"))) %>%
  ggplot + geom_line(aes(x = date, y = obsValue, color = geo)) + 
  scale_y_log10() + theme_minimal()

Example 3

Code
"https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/PRC_HICP_MANR/M..CP01+CP04.FR"  %>%
  readSDMX() %>%
  as_tibble %>%
  mutate(date = as.Date(paste0(obsTime, "-01-01"))) %>%
  ggplot + geom_line(aes(x = date, y = obsValue, color = coicop)) + 
  scale_y_continuous() + theme_minimal()

Example 4

Without label

Code
"https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/UNE_RT_M/M.SA.TOTAL.PC_ACT.T.EA21+FR"  %>%
  rsdmx::readSDMX() %>%
  as_tibble %>%
  mutate(date = obsTime %>% paste0("-01-01") %>% as.Date()) %>%
  filter(date >= as.Date("2000-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = obsValue/100, color = geo)) + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.8),
        legend.title = element_blank()) +
  scale_color_manual(values = c("#003399", "#ED2939")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

With label

Code
geo <- "https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/codelist/ESTAT/GEO"  %>%
  readSDMX() %>%
  as_tibble %>%
  select(1, 4) %>%
  setNames(c("geo", "Geo"))

"https://ec.europa.eu/eurostat/api/dissemination/sdmx/2.1/data/UNE_RT_M/M.SA.TOTAL.PC_ACT.T.EA21+FR"  %>%
  rsdmx::readSDMX() %>%
  as_tibble %>%
  mutate(date = obsTime %>% paste0("-01-01") %>% as.Date()) %>%
  filter(date >= as.Date("2000-01-01")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = obsValue/100) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags + 
  theme_minimal() + xlab("") + ylab("") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.8),
        legend.title = element_blank()) +
  scale_color_manual(values = c("#003399", "#ED2939")) +
  xlab("") + ylab("Unemployment, Percentage of active population") +
  scale_y_continuous(breaks = 0.01*seq(0, 200, 1),
                     labels = scales::percent_format(accuracy = 1))

Example 2

REST Request