Eurostat’s API - api

Data - Eurostat

Info

source dataset Title Updated
eurostat api NA NA

List of APIs

source dataset Title Updated
bdf api NA NA
bea api NA NA
bis api NA NA
bls api NA NA
dbnomics api NA NA
ecb api NA NA
eurostat api NA NA
imf api NA NA
insee api NA NA
oecd api OECD's API 2026-08-02
wdi api 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 128.1 ESTAT FREQ 3.9 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension unit NA NA NAMQ_10_GDP 128.1 ESTAT UNIT 82.0 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension s_adj NA NA NAMQ_10_GDP 128.1 ESTAT S_ADJ 1.12 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension na_item NA NA NAMQ_10_GDP 128.1 ESTAT NA_ITEM 30.1 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Dimension geo NA NA NAMQ_10_GDP 128.1 ESTAT GEO 28.0 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
TimeDimension TIME_PERIOD 128.1 ESTAT NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA NA
PrimaryMeasure OBS_VALUE 128.1 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 128.1 ESTAT OBS_FLAG 1.39 ESTAT FALSE FALSE FALSE FALSE FALSE FALSE NA NA NA NA
Attribute CONF_STATUS NA NA NAMQ_10_GDP 128.1 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