Pushbuild

EIA Energy Data: Oil, Gas & Fuel Statistics

Official EIA energy statistics: weekly crude oil and gasoline inventories, refinery runs, natural gas storage, prices, production, Short-Term Energy Outlook forecasts, coal and international data. Search 100,000+ series by keyword or ID.

$0.16 per 1,000 rows

Get an API key

What it returns

Official statistics from the U.S. Energy Information Administration (public domain), from EIA's complete bulk data files, with full history.

Petroleum**: weekly crude oil, gasoline and distillate inventories (US, PADD regions, Cushing), SPR, refinery inputs and utilization, imports/exports, product supplied, spot and retail prices. Natural gas**: weekly working gas in storage by region, Henry Hub and citygate prices, production and consumption. Short-Term Energy Outlook**: EIA's monthly forecasts for prices, production and demand. Total energy**, **coal** and **international** series.

Request

POST https://api.pushbuild.com/eia-energy-data/run with a JSON body. Send your key in the X-API-Key header.

FieldTypeDescription
datasetstring: PET, NG, STEO, TOTAL, COAL, INTLEIA data category. Default: "PET".
searchstringKeywords that must all appear in the series name, e.g. 'weekly ending stocks crude oil excluding spr' or 'cushing'.
seriesIdslist of stringsExact EIA series IDs, e.g. WCESTUS1.W (crude stocks ex-SPR), NW2_EPG0_SWO_R48_BCF.W (Lower 48 gas storage).
frequencystring: any, W, D, M, Q, AOnly series of this frequency. Default: "any".
outputstring: observations, seriesUse the series list to discover IDs. Default: "observations".
dateFromstringYYYY-MM-DD.
dateTostringYYYY-MM-DD.
lastNintegerDefault 12 when no dates are given; 0 = all.
maxItemsintegerMaximum items to return (1-500). Default: 100.

Example

curl -X POST https://api.pushbuild.com/eia-energy-data/run \
  -H "X-API-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"search": "weekly ending stocks crude oil excluding spr", "maxItems": 20}'

Response

{"count": 20, "truncated": false, "seconds": 1.4, "items": [ { ... } ]}

Each call returns up to 500 items. Records that fail validation or are not found are flagged in the items and not charged.

Pricing

Pay only for results returned: $0.16 per 1,000 rows. No charge for errors or empty searches.

Tell us what you need built.

Questions about this API, higher volumes, or a data source you need that we don't cover yet.

hello@pushbuild.com

(617) 299-8887

Tell us about your project

A few questions so we can come back with a written scope. We reply within one business day.