US Petroleum Data API — EIA Crude, Fuel Prices & Stocks avatar

US Petroleum Data API — EIA Crude, Fuel Prices & Stocks

Pricing

from $33.50 / 1,000 eia petroleum observations

Go to Apify Store
US Petroleum Data API — EIA Crude, Fuel Prices & Stocks

US Petroleum Data API — EIA Crude, Fuel Prices & Stocks

US petroleum statistics from EIA's official bulk file: WTI and Brent spot prices, gasoline and diesel prices, crude and product stocks, refinery inputs, imports, exports and production. Filter by series, name, area and period. No API key. Part of NexGen Signal — official-source data products

Pricing

from $33.50 / 1,000 eia petroleum observations

Rating

0.0

(0)

Developer

NexGen Signal

NexGen Signal

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

10 days ago

Last modified

Share

🛢️ US Petroleum Data API — EIA Crude, Fuel Prices & Stocks

Get US petroleum statistics as clean records — WTI and Brent spot prices, gasoline, diesel and heating-oil prices, crude and product stocks, refinery inputs and utilisation, imports, exports and field production — from the U.S. Energy Information Administration's official Open Data bulk file PET.zip.

Traders, fuel buyers, analysts and researchers use it to follow daily crude prices, weekly inventories and regional fuel prices without copying tables from EIA's site. EIA publishes 181,165 petroleum series in one 55 MB ZIP: this actor streams the file, keeps only the series you ask for and delivers one record per observation with units, frequency, period and area — no API key.

The unit of output is one observation (one series, one period). You pay per observation delivered; a run that finds nothing costs nothing.

📊 Sample Output

Table of EIA petroleum observations: daily WTI Cushing spot prices in dollars per barrel.

series_idperiodvalueunitsseries_name
PET.RWTC.D2026092996.16Dollars per BarrelCushing, OK WTI Spot Price FOB, Daily
PET.RWTC.D2026092899.37Dollars per BarrelCushing, OK WTI Spot Price FOB, Daily
PET.RWTC.D2026092585.23Dollars per BarrelCushing, OK WTI Spot Price FOB, Daily
PET.RWTC.D2026092495.88Dollars per BarrelCushing, OK WTI Spot Price FOB, Daily
PET.RWTC.D2026092393.38Dollars per BarrelCushing, OK WTI Spot Price FOB, Daily

Rows from live run jVkkgPCFsdvexcj3E on Apify (input: series PET.RWTC. and PET.RBRTE., since January 2026, 40 records). Notice the newest trading day first; the run fills its 40 records from WTI before reaching Brent, because series are read in file order.

✅ What you get

Every field of each record:

  • record_id — <series_id>:<period>, unique per observation.
  • series_id — EIA series id, e.g. PET.RWTC.D.
  • series_name — series name as EIA publishes it.
  • units — units, e.g. Dollars per Barrel.
  • units_short — short units, when EIA gives them.
  • frequency — A, Q, M, W, D or 4 (four-week average).
  • frequency_label — annual, quarterly, monthly, weekly, daily, four-week average.
  • period — period exactly as published: 2025, 2025Q2, 202506 or 20250613.
  • period_start — first day of the period as an ISO date.
  • value — the observation. Only non-null observations are delivered.
  • geography — EIA geography code(s), e.g. USA-TX.
  • geography2 — second geography for flows between two areas.
  • iso3166 — ISO 3166 code, when given.
  • latitude, longitude — plant-level series only.
  • series_description — EIA's description of the series, when given.
  • series_start, series_end, series_last_updated — the series' first and last period, and when EIA last updated it.
  • source, source_dataset, licence, attribution, observed_at — provenance on every record: EIA and the dataset, the bulk file and its last-modified date, EIA's public-domain statement quoted, the acknowledgment EIA asks for (e.g. Source: U.S. Energy Information Administration (Sep 2026)), and the UTC time the record was read.

⚙️ Sample inputs

1. Store example — WTI and Brent spot prices

{
"seriesIdPrefixes": ["PET.RWTC.", "PET.RBRTE."],
"maxRecords": 10
}

The 10 newest daily WTI observations (the first matching series); about $0.50 on the Free plan.

2. Narrowed — WTI and Brent daily since January 2026

{
"seriesIdPrefixes": ["PET.RWTC.", "PET.RBRTE."],
"frequencies": ["D"],
"periodFrom": "2026-01",
"maxRecords": 400
}

Every daily price this year for both benchmarks.

3. Bulk — latest value of every weekly series

{
"seriesIdPrefixes": ["PET."],
"frequencies": ["W"],
"latestOnly": true,
"maxRecords": 1500
}

One record per weekly petroleum series (1,159 in the 2 October file): the newest week.

Input fields:

FieldMeaning
seriesIdPrefixesseries ids starting with any of these — end with a dot to take every frequency of one series
seriesIdsexact series ids
nameContainsseries whose name has every word of an entry, any order; put a phrase in double quotes to keep its words together
geographytext in the geography or ISO code, e.g. USA-TX
frequenciesany of A, Q, M, W, D, 4
periodFromfirst period wanted: 2024, 2024Q2, 2024-06 or 2024-06-15
periodTolast period wanted (same formats)
latestOnlyone record per series: its newest observation inside the window
maxRecordsmost observations delivered and billed in this run (default 1,000)

🧾 JSON sample record

{
"record_id": "PET.RWTC.D:20260929",
"series_id": "PET.RWTC.D",
"series_name": "Cushing, OK WTI Spot Price FOB, Daily",
"units": "Dollars per Barrel",
"units_short": "$/bbl",
"frequency": "D",
"frequency_label": "daily",
"period": "20260929",
"period_start": "2026-09-29",
"value": 96.16,
"geography": "USA-OK",
"geography2": null,
"iso3166": "USA-OK",
"latitude": null,
"longitude": null,
"series_description": "Cushing, OK WTI Spot Price FOB ",
"series_start": "19860102",
"series_end": "20260929",
"series_last_updated": "2026-09-30T17:52:00-04:00",
"source": "U.S. Energy Information Administration (EIA) — Petroleum (EIA Open Data bulk download)",
"source_dataset": "EIA Open Data bulk file PET.zip (PET.txt), last modified Fri, 02 Oct 2026 10:38:13 GMT",
"licence": "Public domain. EIA: \"U.S. government publications are in the public domain and are not subject to copyright protection. You may use and/or distribute any of our data, files, databases, reports, graphs, charts, and other information products that are on our website or that you receive through our email distribution service.\" (eia.gov/about/copyrights_reuse.php)",
"attribution": "Source: U.S. Energy Information Administration (Oct 2026)",
"observed_at": "2026-10-04T03:48:35Z"
}

🔧 How it works

  1. Robots check. www.eia.gov/robots.txt is read on every run; it allows /opendata/bulk/. A real disallow stops the run with nothing charged.

  2. Streamed download. The actor opens https://www.eia.gov/opendata/bulk/PET.zip and decompresses the ZIP line by line as it arrives. Nothing is saved to disk and the file is never downloaded first.

  3. Filter before parsing. Each line is one series. Its id is checked against your prefixes, ids and frequencies before the line is parsed, so a narrow request skips most of the file. Name and geography filters parse every series line.

  4. Deliver, then charge. Non-null observations inside your period window become records, newest first, pushed in batches; each batch is charged after delivery, so records and charges always match. The download stops the moment maxRecords or your maximum charge is reached.

  5. Receipt. RUN_RECEIPT records the file and its date, lines read, series matched, whether the file was read to the end, and delivered and charged counts.

No login, API key, proxy or bot workaround — one public EIA file, and no personal data in it.

💰 Pricing example

Per observation delivered, no start fee, no monthly charge:

Apify planPrice per observation
Free$0.05
Bronze$0.045
Silver$0.04
Gold, Platinum, Diamond$0.0335
  • 10 observations (the Store example): $0.50 on the Free plan, $0.335 on Gold.
  • 1,000 observations (the default cap): $50 on Free, $45 on Bronze, $40 on Silver, $33.50 on Gold.

Coverage and size. Live count from the file read on 3 October 2026 (PET.zip, last modified 2 October 2026): 13,868,123 non-null observations in 181,165 series (plus 14,077 category lines = 195,242 lines; the planning index counted 195,242 series and 13,868,123 observations — the observation counts agree). The file is 55 MB compressed and 368 MB of text. A filter is required; a whole-file scan takes seconds, and a full pull is 13,868,123 records, billed per observation. Frequencies: annual 94,773 series, monthly 84,767, weekly 1,159, four-week average 435, daily 31.

Data: U.S. Energy Information Administration, Open Data bulk download (PET.zip). EIA's copyright and reuse page says: "U.S. government publications are in the public domain and are not subject to copyright protection. You may use and/or distribute any of our data, files, databases, reports, graphs, charts, and other information products that are on our website or that you receive through our email distribution service." EIA asks for an acknowledgment with the publication date; every record carries one in attribution.

The actor reads only this public file with a declared User-Agent; www.eia.gov/robots.txt allows the path and is checked on every run. No login, key, proxy or form. Energy statistics and facility-level series only — no personal data.

This actor is not affiliated with or endorsed by EIA. Figures are EIA's as published in the file; check EIA's release notes for revisions.

❓ FAQ

Do I need an EIA API key or account? No. The actor reads EIA's public bulk file, which needs no key, login or registration.

Why must I give a series prefix, id, name or geography? Because the file is large (368 MB of text, 13.9 million observations). A filter keeps runs fast and bills only what you asked for; the actor refuses an unfiltered run with a clear message.

Why did my run return 0 records? Nothing in the file matched — usually a prefix that is too specific or a period window with no data. The receipt shows how many series matched. A zero-record run is not charged.

How fresh is the data? As fresh as EIA's PET.zip, which EIA republishes as its releases update; each record names the file's last-modified date.

Can I get the whole file? Yes: widen the filters and raise maxRecords. The file is streamed, never held in memory; the receipt states how far it was read. Large pulls take a long time and are billed per observation.

Where are the spot prices? Daily crude spot prices are PET.RWTC.D (WTI, Cushing) and PET.RBRTE.D (Brent, Europe); weekly and monthly versions end in .W and .M.

🆘 Troubleshooting

  • 0 records — check the id on EIA's site and that it starts with PET.; the period window may be empty.
  • Too many series matched — add frequencies or a longer prefix.
  • Only one series returned — the run stopped at maxRecords; raise it or use latestOnly to get one record per series.
  • CAPPED message — your maximum total charge was reached; raise it in the run options.

🏢 About NexGen Signal — official-source data products from government and regulator publications. Browse the catalog: apify.com/nexgensignal

⭐ Found this useful?

If this actor saved you time, a rating on its Apify Store page helps other buyers find it.

Part of NexGen Signal — official-source data products.