eia package provides API access to data from the US Energy
Information Administration (EIA).
Pulling data from the US Energy Information Administration (EIA) API requires a registered API key. A key can be obtained at no cost here. A valid email and agreement to the API Terms of Service is required to obtain a key.
eia includes functions for searching EIA API data categories and
importing time series and geoset time series datasets. Datasets returned
by these functions are provided in a tidy format or alternatively in
more raw form. It also offers helper functions for working with EIA API
date strings and time formats and for inspecting different summaries of
series metadata. The package also provides control over API key storage
and caching of API request results.
Install the CRAN release of
To install the development version from GitHub use
# install.packages("remotes") remotes::install_github("ropensci/eia")
To begin, store your API key. You can place it somewhere like your
.Renviron file and never have to do anything with the key when you use
the package. You can set it with
eia_set_key in your R session. You
can always pass it explicitly to the
key argument of a function.
library(eia) # not run eia_set_key("yourkey") # set API key if not already set globally
Load a time series of net electricity generation.
id <- "ELEC.GEN.ALL-AK-99.A" (d <- eia_series(id, n = 10)) #> # A tibble: 1 x 13 #> series_id name units f description copyright source iso3166 geography start end updated data #> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <chr> <list> #> 1 ELEC.GEN.ALL-~ Net generation : all fuel~ thousand me~ A "Summation of all fuels used for e~ None EIA, U.S. Energy Inf~ USA-AK USA-AK 2001 2019 2020-10-27T1~ <tibble ~ d$data[] #> # A tibble: 10 x 3 #> value date year #> <dbl> <date> <int> #> 1 6071. 2019-01-01 2019 #> 2 6247. 2018-01-01 2018 #> 3 6497. 2017-01-01 2017 #> 4 6335. 2016-01-01 2016 #> 5 6285. 2015-01-01 2015 #> 6 6043. 2014-01-01 2014 #> 7 6497. 2013-01-01 2013 #> 8 6946. 2012-01-01 2012 #> 9 6871. 2011-01-01 2011 #> 10 6760. 2010-01-01 2010 library(ggplot2) library(tidyr) unnest(d, cols = data) %>% ggplot(aes(factor(year), value)) + geom_col() + labs(x = "Year", y = d$units, title = d$name, caption = d$description)
See the collection of vignette tutorials and examples as well as
complete package documentation available at the
Please note that the
eia project is released with a Contributor Code
By contributing to this project, you agree to abide by its terms.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.