# EIA Energy Data Scraper (`parseforge/eia-energy-data-scraper`) Actor

Scrape US energy prices from the Energy Information Administration. Get weekly crude oil spot prices, gasoline prices by state, and diesel prices by region. Includes current, historical, and year-over-year price comparisons.

- **URL**: https://apify.com/parseforge/eia-energy-data-scraper.md
- **Developed by:** [ParseForge](https://apify.com/parseforge) (community)
- **Categories:** Developer tools, Automation, Other
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

![ParseForge Banner](https://raw.githubusercontent.com/ParseForge/apify-assets/main/banner.jpg)

## ⚡ EIA Energy Data Scraper

Whether you're tracking fuel costs for a logistics fleet, monitoring crude oil trends for investment decisions, or analyzing regional energy prices for market research, this tool makes it easy to collect structured energy data from the U.S. Energy Information Administration.

> **The EIA Energy Data Scraper collects gas prices by state, diesel prices by region, and weekly crude oil prices. Get current prices, historical trends, and week-over-week changes in structured format.**

### ✨ What Does It Do

- ⛽ **Gas prices by state** - collect current regular gasoline prices for every U.S. state with weekly price comparisons
- 🚛 **Diesel prices by region** - extract diesel fuel prices across U.S. regions with historical price changes
- 🛢️ **Crude oil weekly prices** - gather WTI crude oil spot prices with full weekly historical data
- 📈 **Price change tracking** - see price changes from last week, one year ago, and two years ago
- 📊 **All regions covered** - data spans all U.S. states, PADD regions, and national averages

### 🔧 Input

- **Dataset** - choose which energy dataset to collect (Gas Prices by State, Diesel Prices by Region, or Crude Oil Weekly Prices)
- **Max Items** - how many records to collect (free users get 10 items, paid users up to 1,000,000)

```json
{
    "dataset": "gas-prices-by-state",
    "maxItems": 50
}
````

### 📊 Output

Each record includes price data and comparisons. Download as JSON, CSV, or Excel.

**Gas/Diesel Prices:**

| Field | Description |
|-------|-------------|
| 📍 location | State or region name |
| 💰 currentPrice | Current price per gallon |
| 📊 priceNumeric | Price as a number for calculations |
| 📉 previousWeekPrice | Price from the previous week |
| 📅 twoWeeksAgoPrice | Price from two weeks ago |
| 📈 changeFromYearAgo | Price change compared to one year ago |
| 📈 changeFromTwoYearsAgo | Price change compared to two years ago |
| ⛽ fuelType | Type of fuel (Regular Gasoline or Diesel) |
| 🕐 scrapedAt | Timestamp when the data was collected |

```json
{
    "location": "California",
    "currentPrice": "4.589",
    "priceNumeric": 4.589,
    "previousWeekPrice": 4.601,
    "twoWeeksAgoPrice": 4.618,
    "changeFromTwoYearsAgo": -0.339,
    "changeFromYearAgo": -0.291,
    "changeFromLastWeek": -0.012,
    "date": "04/07/2026",
    "fuelType": "Regular Gasoline",
    "scrapedAt": "2026-04-09T12:00:00.000Z"
}
```

**Crude Oil Weekly Prices:**

```json
{
    "date": "2026-04-04",
    "price": 67.45,
    "commodity": "WTI Crude Oil",
    "unit": "$/barrel",
    "scrapedAt": "2026-04-09T12:00:00.000Z"
}
```

### 💎 Why Choose the EIA Energy Data Scraper?

| Feature | Our Tool | Manual EIA Website |
|---------|----------|--------------------|
| Batch collection | ✅ Up to 1M records | ❌ View one table at a time |
| Multiple datasets | ✅ Gas, diesel, crude oil | ❌ Navigate each separately |
| Price change tracking | ✅ Week, year, 2-year changes | ⚠️ Calculate manually |
| Structured output | ✅ JSON, CSV, Excel | ❌ HTML tables only |
| Automated scheduling | ✅ Weekly monitoring | ❌ Manual visits |
| Historical crude data | ✅ Full weekly history | ⚠️ Paginated tables |

### 📋 How to Use

1. **Sign Up** - [Create a free account w/ $5 credit](https://console.apify.com/sign-up?fpr=vmoqkp)
2. **Configure** - select the energy dataset you want to collect
3. **Run It** - click "Start" and get structured energy price data in seconds

No coding, no setup, no manual browsing required.

### 🎯 Business Use Cases

- 🚛 **Logistics companies** - monitor fuel prices across states to optimize routing and forecast transportation costs
- 📈 **Investment firms** - track crude oil price trends for commodity trading and energy sector analysis
- ⛽ **Gas station operators** - compare your pricing against state and regional averages
- 🏭 **Manufacturers** - forecast energy input costs by tracking diesel and crude oil price movements
- 📊 **Market researchers** - analyze regional fuel price disparities and seasonal pricing patterns
- 🏛️ **Policy analysts** - study energy price trends for economic impact assessments and policy recommendations

### 🔗 Integrate EIA Energy Data Scraper with any app

- [Make](https://docs.apify.com/platform/integrations/make) - Automate energy price monitoring workflows
- [Zapier](https://docs.apify.com/platform/integrations/zapier) - Get alerts when fuel prices change significantly
- [Slack](https://docs.apify.com/platform/integrations/slack) - Get notified in your team channel
- [Google Drive](https://docs.apify.com/platform/integrations/drive) - Export energy data to spreadsheets
- [Webhooks](https://docs.apify.com/platform/integrations/webhooks) - Trigger actions when runs complete

### 💡 Recommended Actors

Looking for more data collection tools? Check out these related actors:

| Actor | Description | Link |
|-------|-------------|------|
| GSA eLibrary Scraper | Collect government contract data from GSA | [Link](https://apify.com/parseforge/gsa-elibrary-scraper) |
| FINRA BrokerCheck Scraper | Look up broker and advisor registration data | [Link](https://apify.com/parseforge/finra-brokercheck-scraper) |
| Machinery Trader Scraper | Collect heavy equipment listings and pricing | [Link](https://apify.com/parseforge/machinerytrader-scraper) |
| Iron Planet Scraper | Extract equipment auction data | [Link](https://apify.com/parseforge/iron-planet-scraper) |
| Copart Public Search Scraper | Collect vehicle auction listings | [Link](https://apify.com/parseforge/copart-public-search-scraper) |

**Pro Tip:** 💡 Browse our complete collection of [data collection actors](https://apify.com/parseforge) to find the perfect tool for your needs.

### 🆘 Need Help?

- Visit the [Apify documentation](https://docs.apify.com) for platform guides
- Contact us at [Tally contact form](https://tally.so/r/BzdKgA)

### ⚠️ Disclaimer

> This Actor is an independent tool and is not affiliated with, endorsed by, or connected to the U.S. Energy Information Administration (EIA), the U.S. Department of Energy, or any government agency. It accesses only publicly available data.

# Actor input Schema

## `dataset` (type: `string`):

Select the EIA energy dataset to scrape

## `maxItems` (type: `integer`):

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

## Actor input object example

```json
{
  "dataset": "gas-prices-by-state",
  "maxItems": 10
}
```

# Actor output Schema

## `overview` (type: `string`):

Overview

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "dataset": "gas-prices-by-state",
    "maxItems": 10
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/eia-energy-data-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "dataset": "gas-prices-by-state",
    "maxItems": 10,
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/eia-energy-data-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "dataset": "gas-prices-by-state",
  "maxItems": 10
}' |
apify call parseforge/eia-energy-data-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=parseforge/eia-energy-data-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "EIA Energy Data Scraper",
        "description": "Scrape US energy prices from the Energy Information Administration. Get weekly crude oil spot prices, gasoline prices by state, and diesel prices by region. Includes current, historical, and year-over-year price comparisons.",
        "version": "0.0",
        "x-build-id": "9Q7GNWkJNWHp2xbou"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/parseforge~eia-energy-data-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-parseforge-eia-energy-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/parseforge~eia-energy-data-scraper/runs": {
            "post": {
                "operationId": "runs-sync-parseforge-eia-energy-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/parseforge~eia-energy-data-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-parseforge-eia-energy-data-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "dataset"
                ],
                "properties": {
                    "dataset": {
                        "title": "Dataset",
                        "enum": [
                            "gas-prices-by-state",
                            "diesel-prices-by-region",
                            "crude-oil-weekly"
                        ],
                        "type": "string",
                        "description": "Select the EIA energy dataset to scrape"
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 1,
                        "maximum": 1000000,
                        "type": "integer",
                        "description": "Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000"
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
