Checking status…
Catalog / U.S. Energy Information Administration
eia

U.S. Energy Information Administration

Open · redistributedU.S. Government Work (public domain)energy

FULL-COVERAGE ingest of the U.S. EIA bulk download files. Source: https://api.eia.gov/bulk/manifest.txt -- lists every bulk dataset zip (PET, NG, ELEC, EBA, COAL, TOTAL, SEDS, STEO, INTL, EMISS, NUC_STATUS, PET_IMPORTS, IEO, AEO.<year>, ...). Each zip contains a single line-delimited JSON file:…

Redistributable. This source is served as canonical Parquet under the license below, with attribution and provenance preserved.

Coverage

Series catalogued
7
Temporal coverage
1983-01-07 – 2026-05-26
Frequencies
Daily, Monthly, Weekly
Distinct geographies
1
Categories
energy
Measured observations
316,437,940

Licensing & provenance

License
U.S. Government Work (public domain)
License URL
https://www.usa.gov/government-works
Required attribution
Source: U.S. EIA (public domain)
Redistribution
Permitted (served here)
Commercial use
Yes
Modification
Permitted

How to cite

U.S. Energy Information Administration. Retrieved from https://www.eia.gov. Compiled and redistributed by the Elkassabgi Data Library.

Processing: Retrieved from the official source, normalized to a long {series_key, obs_date, value} schema (period-start dates), de-duplicated, and stored as zstd Parquet. Compiled and redistributed by the Elkassabgi Data Library.

Access & mirrors

Download
Select & download eia series as CSV →
API
Get a free API key, then GET /v1/series/<id>.csv
Canonical landing
https://econdatalibrary.com/eia.html
Update cadence
daily
Update strategy
bulk snapshot if changed
Storage layout
Grouped: ONE data Parquet per bulk dataset at data/clean_full/eia/<DATASET>.parquet (columns series_id, obs_date date32, value float64, period str, freq str) written via streaming ParquetWriter in 1M-row row-groups; ONE meta sidecar per dataset at data/clean_full/eia/_meta/<DATASET>.parquet (series_id,name,units,freq,geography,iso3166,start,end,copyright,source,n_obs); run summary _summary.json. Raw zips cached at data/raw/eia/<DATASET>.zip. ~316M obs measured; the giant EBA dataset streams and never sits in RAM whole.

Full description

FULL-COVERAGE ingest of the U.S. EIA bulk download files. Source: https://api.eia.gov/bulk/manifest.txt -- lists every bulk dataset zip (PET, NG, ELEC, EBA, COAL, TOTAL, SEDS, STEO, INTL, EMISS, NUC_STATUS, PET_IMPORTS, IEO, AEO.<year>, ...). Each zip contains a single line-delimited JSON file: most lines are SERIES records, some are CATEGORY (taxonomy) records. SERIES record (one per line): {"series_id","name","units","f","unitsshort","description","copyright", "source","iso3166","geography","start","end","last_updated", "data": [[period, value], ...]} CATEGORY record (no observations -> skipped): {"category_id","parent_category_id","name","notes","childseries"} Period tokens by frequency `f`: A annual "YYYY" -> Dec-31 Q quarterly "YYYYQn" -> first day of quarter M monthly "YYYYMM" -> 1st of month W weekly "YYYYMMDD" -> that date D daily "YYYYMMDD" -> that date H hourly UTC "YYYYMMDDThh" -> that date (hour kept in `period`) HL hourly local"YYYYMMDDThh-07" -> that date (hour+tz kept in `period`) GROUPED storage (mirrors jobs/ingest_bls.py / ingest_eurostat.py / ingest_sec_edgar.py): ONE Parquet per bulk dataset -> data/clean_full/eia/<DATASET>.parquet with a `series_id` column inside. Columns: series_id, obs_date (date32), value (float64), period (str, raw EIA period token -> lossless for hourly), freq (str). Memory is bounded: the zip's single text member is streamed line-by-line and flushed to the ParquetWriter in row-group batches (the 148M-row EBA dataset never sits in RAM whole). Sidecar metadata: ONE Parquet per dataset -> data/clean_full/eia/_meta/<DATASET>.parquet with one row per series (series_id, name, units, freq, geography, iso3166, start, end, copyright, source, n_obs) so the catalog ingest can build SeriesMeta rows without re-reading the giant data file. License: us-public-domain (configs/sources.yaml). EIA ToS: attribute to EIA; public-domain values; copyright carve-out is captured per-series in the `copyright` sidecar column for serve-time filtering. Usage: python jobs/ingest_eia.py --probe # parse small datasets, print, no big writes python jobs/ingest_eia.py --only NG,STEO # one/few datasets python jobs/ingest_eia.py # full run (all bulk datasets) python jobs/ingest_eia.py --skip-download # reuse already-downloaded zips

Structured metadata

schema.org/Dataset (Google Dataset Search)
{
  "@context": "https://schema.org/",
  "@type": "Dataset",
  "name": "U.S. Energy Information Administration",
  "description": "FULL-COVERAGE ingest of the U.S. EIA bulk download files. Source: https://api.eia.gov/bulk/manifest.txt -- lists every bulk dataset zip (PET, NG, ELEC, EBA, COAL, TOTAL, SEDS, STEO, INTL, EMISS, NUC_STATUS, PET_IMPORTS, IEO, AEO.<year>, ...). Each zip contains a single line-delimited JSON file:…",
  "url": "https://econdatalibrary.com/eia.html",
  "identifier": "eia",
  "isAccessibleForFree": true,
  "publisher": {
    "@type": "Organization",
    "name": "Econ Data Library",
    "url": "https://econdatalibrary.com"
  },
  "creator": {
    "@type": "Organization",
    "name": "U.S. Energy Information Administration"
  },
  "license": "https://www.usa.gov/government-works",
  "keywords": [
    "energy",
    "eia"
  ],
  "temporalCoverage": "1983-01-07/2026-05-26",
  "repeatFrequency": [
    "P1D",
    "P1M",
    "P1W"
  ],
  "citation": "U.S. Energy Information Administration. Retrieved from https://www.eia.gov. Compiled and redistributed by the Elkassabgi Data Library.",
  "sameAs": [
    "https://huggingface.co/datasets/econdatalibrary-eia",
    "https://zenodo.org/communities/econdatalibrary"
  ],
  "distribution": [
    {
      "@type": "DataDownload",
      "encodingFormat": "text/csv",
      "contentUrl": "https://econdatalibrary.com/download.html?source=eia",
      "license": "https://www.usa.gov/government-works"
    }
  ]
}
Croissant (ML-ready, schema.org JSON-LD)
{
  "@context": {
    "@language": "en",
    "@vocab": "https://schema.org/",
    "cr": "http://mlcommons.org/croissant/",
    "data": {
      "@id": "cr:data",
      "@type": "@json"
    },
    "dataType": {
      "@id": "cr:dataType",
      "@type": "@vocab"
    },
    "sc": "https://schema.org/",
    "conformsTo": "dct:conformsTo",
    "dct": "http://purl.org/dc/terms/"
  },
  "@type": "sc:Dataset",
  "conformsTo": "http://mlcommons.org/croissant/1.0",
  "name": "eia",
  "description": "FULL-COVERAGE ingest of the U.S. EIA bulk download files. Source: https://api.eia.gov/bulk/manifest.txt -- lists every bulk dataset zip (PET, NG, ELEC, EBA, COAL, TOTAL, SEDS, STEO, INTL, EMISS, NUC_STATUS, PET_IMPORTS, IEO, AEO.<year>, ...). Each zip contains a single line-delimited JSON file:…",
  "url": "https://econdatalibrary.com/eia.html",
  "creator": {
    "@type": "sc:Organization",
    "name": "U.S. Energy Information Administration"
  },
  "publisher": {
    "@type": "sc:Organization",
    "name": "Econ Data Library",
    "url": "https://econdatalibrary.com"
  },
  "license": "https://www.usa.gov/government-works",
  "keywords": [
    "energy"
  ],
  "temporalCoverage": "1983-01-07/2026-05-26",
  "citation": "U.S. Energy Information Administration. Retrieved from https://www.eia.gov. Compiled and redistributed by the Elkassabgi Data Library.",
  "distribution": [
    {
      "@type": "cr:FileObject",
      "@id": "eia-csv",
      "name": "eia-csv",
      "description": "Per-series CSV, downloadable with a free API key.",
      "contentUrl": "https://econdatalibrary.com/download.html?source=eia",
      "encodingFormat": "text/csv"
    }
  ]
}
Part of the Econ Data Library catalog · metadata generated 2026-07-14 from the central registry · browse all datasets
ElkassabgiData

One account. Every library.

HF Data Library  ·  Econ Data Library  · more to come