Governmental Free & Open

US Energy Information Administration

The US Energy Information Administration provides authoritative statistical data on energy production, consumption, prices, and technological developments. Critical resource for understanding US and global energy markets

Status Tracker Past 24 hours

Current status

Operational

100.0% operational in known checks

Checked Jun 16, 11:50 PM

24h ago Now
Operational Polling issues Impacted No data
All sources
Data access source profile JSON profile →

Access

limited

Collection level

L1

Confidence

medium

Recommended next action

Use the official access path with a user-provided key or account; do not run unauthenticated data probes.

Exportable data

free_key_api

Docker fit

docker_ok

Estimated size

large

apibulk-exportcsvdirect-linkliveness-onlyportalrest-api-keyxlsx
Access & Pricing Visit source →

Cost

Free

Access type

open

Signup required

No

Update alerts

Not offered

Coverage

north america

Update frequency

monthly

Source Documentation

What You're Getting

EIA Open Data provides comprehensive US energy data: petroleum production/supply/stocks, natural gas, electricity generation and capacity by source and state, coal, nuclear, renewables, and energy prices. Key series: weekly petroleum status, monthly electric power, annual energy review. Data organized by series ID (e.g. TOTAL.PAPRPUS2.A for US petroleum production). Also covers international energy data.

Ingestion Strategy

EIA API v2 is the preferred interface — free key, well-structured, returns JSON. Organize queries by route (e.g. /petroleum/sum/sndw for weekly supply and disposition). For bulk loads, EIA also offers bulk download files at eia.gov/opendata/bulkfiles.php — zipped JSON files for entire datasets.

import requests

API_KEY = "your_key"
# Weekly US crude oil production
url = "https://api.eia.gov/v2/petroleum/sum/sndw/data/"
params = {
    "api_key": API_KEY,
    "frequency": "weekly",
    "data[0]": "value",
    "facets[series][]": "WCRFPUS2",
    "sort[0][column]": "period",
    "sort[0][direction]": "desc",
    "length": 52
}
r = requests.get(url, params=params)
data = r.json()["response"]["data"]

Rate Limits & API Details

  • Free API key at eia.gov/opendata — no published request limit for reasonable use
  • Bulk files: eia.gov/opendata/bulkfiles.php — updated with each release, gzipped JSON
  • API v2 base: api.eia.gov/v2
  • Data routes browsable at api.eia.gov/v2 (returns available routes)

Schema Stability

EIA v2 API (2023) replaced the legacy v1 API — routes and field names changed. Series IDs in v1 format no longer work directly; map to v2 routes. Series codes within v2 are stable. Frequency codes: annual, monthly, weekly, hourly. Units vary by series — always pull the units field from the response.

Data Quality Gotchas

  • API v1 vs v2: v1 series IDs (dot-notation) don't work in v2; check EIA's migration guide
  • Weekly vs monthly: weekly petroleum data has a different series from monthly — they don't perfectly reconcile
  • State-level data: not all series have state breakdowns; check facet availability before building state-level pipelines
  • EIA estimates: recent months are often estimates that get revised; store revision timestamps

Tool Compatibility

  • Python: eia-python or direct API calls; bulk files easily loaded with json + pandas
  • R: direct API calls
  • Airbyte: no official connector; community scripts
  • Bulk JSON files load cleanly into BigQuery / Snowflake via standard JSON parsing

Benchmarking Approach

US crude oil production (weekly): should be ~12–13 million barrels/day for 2023–2024. Total electricity generation: ~4,000 TWh/year for US. After each weekly petroleum release (Wednesday, 10:30 AM ET), verify new data appears within 2 hours. Cross-check annual natural gas production against EIA Annual Energy Review published figure. Alert if weekly series gaps more than 10 days.

Visit Data Source

Data Formats

api csv xlsx

API Quickstart

— Python — fetch electricity prices
Docs →
import requests

API_KEY = "your_eia_key"
url = "https://api.eia.gov/v2/electricity/retail-sales/data/"
params = {
    "api_key": API_KEY,
    "frequency": "monthly",
    "data[0]": "price",
    "facets[sectorName][]": "all sectors",
    "facets[stateid][]": "US",
    "sort[0][column]": "period",
    "sort[0][direction]": "desc",
    "length": 6
}
r = requests.get(url, params=params)
for row in r.json()["response"]["data"]:
    print(row["period"], row["price"], row["price-units"])

How to Access

  • 📦 bulk export

Notable Datasets

4 total
  • Annual Energy Outlook
  • Petroleum Supply Monthly
  • Natural Gas Monthly
  • Electric Power Monthly

Index entry

Added: Apr 30, 2026

Last indexed: Jun 16, 2026

Unverified entry

Learn

Recent articles

View all →