Skip to content
All data sources

EIA API and MCP server

API keyeia

U.S. electricity generation, plant output, fuel mix, operating generators, and retirement schedules for infrastructure and site analysis.

EIA is published by U.S. Energy Information Administration API v2.

How often the publisher refreshes it is not declared, so treat the timing of any field as unknown.

Last verified . That is when these facts were last rebuilt from the ParcelOps source registry, not when U.S. Energy Information Administration API v2 last refreshed the data itself.

API access

Your AI client reaches EIA through one ParcelOps MCP endpoint, so there is no separate key to hold for it and no per-source client to write. Reaching it takes your own credentials (API key).

Where it came from

PublisherU.S. Energy Information Administration API v2

Freshness and coverage

FreshnessFreshness not declared
Places coveredNot declared
Time coveredNot declared
CredentialsCredentials required (API key)

What this source cannot tell you

  • Where it stops geographically, because the covered area is not declared. An empty answer will not tell you whether the place is out of range or the record is simply missing.
  • Which years it spans, because the covered period is not declared.
  • How current a field is, because the refresh schedule is not declared.
  • Anything U.S. Energy Information Administration API v2 does not publish. ParcelOps returns this source as it stands and never fills a blank field from a different one.
  • Coverage and frequency depend on the selected dataset.
  • JSON responses are capped at 5,000 rows; use offset and length for paging.

Methods (5)

A method is one call your agent can make against this source.

  • getElectricityData

    read

    Get Electricity Data

    What you must providedataset
    Records returnedenergy-series
    How to get more resultsoffset (offsetField: offset, limitField: length)
    Input schema
    {
      "type": "object",
      "properties": {
        "dataset": {
          "type": "string",
          "maxLength": 160
        },
        "data": {
          "type": "array",
          "maxItems": 50,
          "items": {
            "type": "string",
            "maxLength": 120
          }
        },
        "facets": {
          "type": "object",
          "maxProperties": 20,
          "additionalProperties": true
        },
        "frequency": {
          "type": "string",
          "enum": [
            "monthly",
            "quarterly",
            "annual"
          ]
        },
        "start": {
          "type": "string",
          "maxLength": 20
        },
        "end": {
          "type": "string",
          "maxLength": 20
        },
        "length": {
          "type": "integer",
          "minimum": 1,
          "maximum": 5000
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        }
      },
      "required": [
        "dataset"
      ],
      "additionalProperties": false
    }
  • searchGenerators

    read

    Search Generators

    Records returnedelectric-generator
    How to get more resultsoffset (offsetField: offset, limitField: length)
    Input schema
    {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "pattern": "^[A-Za-z]{2}$"
        },
        "fuelType": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "string",
                "maxLength": 20
              }
            }
          ]
        },
        "primeMover": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "string",
                "maxLength": 20
              }
            }
          ]
        },
        "balancingAuthority": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "string",
                "maxLength": 20
              }
            }
          ]
        },
        "status": {
          "type": "string",
          "maxLength": 80
        },
        "sector": {
          "type": "string",
          "maxLength": 80
        },
        "minCapacityMw": {
          "type": "number",
          "minimum": 0
        },
        "start": {
          "type": "string",
          "maxLength": 20
        },
        "end": {
          "type": "string",
          "maxLength": 20
        },
        "length": {
          "type": "integer",
          "minimum": 1,
          "maximum": 5000
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        }
      },
      "required": [],
      "additionalProperties": false
    }
  • getPlantGeneration

    read

    Get Plant Generation

    What you must provideplantIdstartend
    Records returnedplant-generation
    How to get more resultsoffset (offsetField: offset, limitField: length)
    Input schema
    {
      "type": "object",
      "properties": {
        "plantId": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 30
            },
            {
              "type": "integer",
              "minimum": 0
            }
          ]
        },
        "start": {
          "type": "string",
          "maxLength": 20
        },
        "end": {
          "type": "string",
          "maxLength": 20
        },
        "fuelType": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "string",
                "maxLength": 20
              }
            }
          ]
        },
        "primeMover": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "string",
                "maxLength": 20
              }
            }
          ]
        },
        "frequency": {
          "type": "string",
          "enum": [
            "monthly",
            "quarterly",
            "annual"
          ]
        },
        "length": {
          "type": "integer",
          "minimum": 1,
          "maximum": 5000
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        }
      },
      "required": [
        "plantId",
        "start",
        "end"
      ],
      "additionalProperties": false
    }
  • getRetirementSchedule

    read

    Get Retirement Schedule

    Records returnedgenerator-retirement
    How to get more resultsoffset (offsetField: offset, limitField: length)
    Input schema
    {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "pattern": "^[A-Za-z]{2}$"
        },
        "fuelType": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "string",
                "maxLength": 20
              }
            }
          ]
        },
        "year": {
          "type": "integer",
          "minimum": 1990,
          "maximum": 2200
        },
        "start": {
          "type": "string",
          "maxLength": 20
        },
        "end": {
          "type": "string",
          "maxLength": 20
        },
        "length": {
          "type": "integer",
          "minimum": 1,
          "maximum": 5000
        },
        "offset": {
          "type": "integer",
          "minimum": 0,
          "maximum": 100000
        }
      },
      "required": [],
      "additionalProperties": false
    }
  • getFuelMix

    read

    Get EIA electricity generation by fuel for one state or balancing authority and time period.

    What you must providetime
    Records returnedfuel-mix
    How to get more resultsnone
    Input schema
    {
      "type": "object",
      "properties": {
        "state": {
          "type": "string",
          "pattern": "^[A-Za-z]{2}$"
        },
        "balancingAuthority": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 20
            },
            {
              "type": "array",
              "maxItems": 20,
              "items": {
                "type": "string",
                "maxLength": 20
              }
            }
          ]
        },
        "time": {
          "type": "string",
          "maxLength": 20
        },
        "frequency": {
          "type": "string",
          "enum": [
            "monthly",
            "quarterly",
            "annual"
          ]
        },
        "length": {
          "type": "integer",
          "minimum": 1,
          "maximum": 5000
        }
      },
      "required": [
        "time"
      ],
      "additionalProperties": false
    }

Where this source is used