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")