Authoritative Data Sources

EIA API roots’ endpoints

Code
eia_url <- "https://api.eia.gov/v2/"

# getting body data with httr2 request()
EIA_Query_routes <- request(eia_url) %>%
  req_headers(`x-api-key`  = api_key) %>%
  req_perform()
routes_result <- resp_body_json(EIA_Query_routes)

eia_routes <- do.call(
  rbind, lapply(
    1:length(routes_result[[1]][[4]]), \(i) t(routes_result[[1]][[4]][[i]]))) %>% 
  as.data.frame()

eia_routes$description <- gsub("\r\n        ", "", eia_routes$description)

DT::datatable(eia_routes, caption = "EIA routes")

EIA API petroleum endpoints

Code
EIA_petroleum_Query <- request(paste0(eia_url, "petroleum/")) %>%
  req_headers(`x-api-key`  = api_key) %>%
  req_perform()
petroleum_routes_result <- resp_body_json(EIA_petroleum_Query)

eia_petroleum_routes <- do.call(
  rbind, lapply(
    1:length(petroleum_routes_result[[1]][[4]]), \(i) t(petroleum_routes_result[[1]][[4]][[i]]))) %>%
  as.data.frame()

DT::datatable(eia_petroleum_routes, caption = "EIA Petroleum routes")

EIA API petroleum consumptions/sales endpoints

Code
EIA_petroleum_cons_Query <- request(paste0(eia_url, "petroleum/cons/")) %>%
  req_headers(`x-api-key` = api_key) %>%
  req_perform()
petroleum_routes_cons_result <- resp_body_json(EIA_petroleum_cons_Query)

eia_petroleum_cons_routes <- do.call(
  rbind,
  lapply(
    1:length(petroleum_routes_cons_result[[1]][[4]]),
    \(i) t(petroleum_routes_cons_result[[1]][[4]][[i]])
  )
) %>%
  as.data.frame()

DT::datatable(eia_petroleum_cons_routes, caption = "EIA Petroleum consumptions/sales endpoints")