eia_petroleum

Pack: eia · Endpoint: https://gateway.pipeworx.io/eia/mcp

Get petroleum prices (gasoline, diesel, crude oil) and stock levels by region. Returns time series with prices, volumes, and regional breakdowns.

Parameters

NameTypeRequiredDescription
_apiKeystringyesEIA API key
productstringyesProduct type: “gasoline”, “diesel”, “crude”, “stocks”, “supply”, “production”, “imports”
frequencystringnoFrequency: “weekly”, “monthly”, “annual” (optional, defaults vary by product)
startstringnoStart date (optional)
endstringnoEnd date (optional)

Example call

Arguments

{
  "_apiKey": "your-eia-api-key",
  "product": "gasoline"
}

curl

curl -X POST https://gateway.pipeworx.io/eia/mcp \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"eia_petroleum","arguments":{"_apiKey":"your-eia-api-key","product":"gasoline"}}}'

TypeScript (@pipeworx/sdk)

import { Pipeworx } from '@pipeworx/sdk';
const pipeworx = new Pipeworx();

const result = await pipeworx.call('eia_petroleum', {
  "_apiKey": "your-eia-api-key",
  "product": "gasoline"
});

More examples

{
  "_apiKey": "your-eia-api-key",
  "product": "crude",
  "frequency": "weekly",
  "start": "2023-01-01"
}

Response shape

Always returns: product, total, description, count, data, truncated

FieldTypeDescription
productstringPetroleum product type requested
totalnumberTotal number of records available
descriptionstring | nullSeries description from EIA API
countnumberNumber of records returned
dataarrayTime series data points (max 100 returned)
truncatedbooleanTrue if more than 100 records available
Full JSON Schema
{
  "type": "object",
  "properties": {
    "product": {
      "type": "string",
      "description": "Petroleum product type requested"
    },
    "total": {
      "type": "number",
      "description": "Total number of records available"
    },
    "description": {
      "type": [
        "string",
        "null"
      ],
      "description": "Series description from EIA API"
    },
    "count": {
      "type": "number",
      "description": "Number of records returned"
    },
    "data": {
      "type": "array",
      "description": "Time series data points (max 100 returned)",
      "items": {
        "type": "object",
        "properties": {
          "period": {
            "type": [
              "string",
              "null"
            ],
            "description": "Time period (e.g., date or year)"
          },
          "value": {
            "type": [
              "number",
              "null"
            ],
            "description": "Numeric value for the period"
          },
          "description": {
            "type": [
              "string",
              "null"
            ],
            "description": "Series description"
          },
          "area": {
            "type": [
              "string",
              "null"
            ],
            "description": "Geographic area name"
          },
          "product": {
            "type": [
              "string",
              "null"
            ],
            "description": "Product type"
          },
          "process": {
            "type": [
              "string",
              "null"
            ],
            "description": "Process or measurement type"
          },
          "units": {
            "type": [
              "string",
              "null"
            ],
            "description": "Unit of measurement"
          }
        }
      }
    },
    "truncated": {
      "type": "boolean",
      "description": "True if more than 100 records available"
    }
  },
  "required": [
    "product",
    "total",
    "description",
    "count",
    "data",
    "truncated"
  ]
}

Connect

Add this to your MCP client config, or use one-click install buttons:

{
  "mcpServers": {
    "eia": {
      "url": "https://gateway.pipeworx.io/eia/mcp"
    }
  }
}

See Getting Started for client-specific install steps.

Regenerated from source · build May 9, 2026