openapi: 3.1.0 info: title: Thermal Power Capacity Power Operations API description: The Thermal Power API provides access to thermal power generation data, plant-level operational metrics, fuel consumption, heat rate performance, and capacity utilization for coal, natural gas, oil, and nuclear generation assets. Designed for grid operators, energy analysts, utilities, and industrial energy consumers who need programmatic access to thermal generation data. version: 1.0.0 contact: name: Thermal Power Data Services url: https://www.eia.gov/developer/ license: name: Public Domain url: https://www.eia.gov/about/copyrights_reuse.php servers: - url: https://api.eia.gov/v2 description: EIA Open Data API v2 security: - apiKey: [] tags: - name: Power Operations description: Electric power operational statistics by fuel type. paths: /electricity/electric-power-operational-data/data: get: operationId: getElectricPowerOperationalData summary: Get Electric Power Operational Data description: Retrieves electric power operational data including generation, fuel consumption, and heat content by fuel type, sector, and state. Supports filtering by fuel type (coal, natural gas, petroleum, nuclear) for thermal generation analysis. tags: - Power Operations parameters: - name: api_key in: query required: true schema: type: string description: EIA API key. - name: frequency in: query required: false schema: type: string enum: - monthly - quarterly - annual default: monthly description: Data frequency. - name: data[] in: query required: false schema: type: string description: Data columns to return (e.g., generation, total-consumption, consumption-for-eg, heat-content). - name: facets[fueltypeid][] in: query required: false schema: type: string description: Filter by fuel type ID (e.g., COL for coal, NG for natural gas, PEL for petroleum, NUC for nuclear, ALL for all sources). - name: facets[location][] in: query required: false schema: type: string description: Filter by US state abbreviation (e.g., TX, CA, NY). - name: start in: query required: false schema: type: string description: Start period in YYYY-MM format. - name: end in: query required: false schema: type: string description: End period in YYYY-MM format. - name: sort[0][column] in: query required: false schema: type: string description: Column to sort by. - name: sort[0][direction] in: query required: false schema: type: string enum: - asc - desc description: Sort direction. - name: offset in: query required: false schema: type: integer default: 0 description: Pagination offset. - name: length in: query required: false schema: type: integer default: 5000 description: Number of records to return (max 5000). responses: '200': description: Electric power operational data records. content: application/json: schema: $ref: '#/components/schemas/ElectricPowerOperationalDataResponse' '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Invalid API key. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' /electricity/rto/fuel-type-data/data: get: operationId: getRTOFuelTypeData summary: Get RTO Fuel Type Data description: Retrieves hourly net generation by fuel type for Regional Transmission Organizations (RTOs) and Independent System Operators (ISOs). Includes thermal generation from coal, natural gas, petroleum, and nuclear sources. tags: - Power Operations parameters: - name: api_key in: query required: true schema: type: string description: EIA API key. - name: frequency in: query required: false schema: type: string enum: - hourly - local-hourly default: hourly description: Data frequency. - name: data[] in: query required: false schema: type: string description: Data columns (e.g., value for generation in MWh). - name: facets[respondent][] in: query required: false schema: type: string description: RTO/ISO identifier (e.g., MISO, PJM, CAISO, ERCOT, SPP, NYISO, ISONE). - name: facets[fueltype][] in: query required: false schema: type: string description: Fuel type filter (e.g., NG, COL, OIL, NUC, OTH). - name: start in: query required: false schema: type: string description: Start datetime in YYYY-MM-DDTHH format. - name: end in: query required: false schema: type: string description: End datetime in YYYY-MM-DDTHH format. - name: offset in: query required: false schema: type: integer default: 0 description: Pagination offset. - name: length in: query required: false schema: type: integer default: 5000 description: Number of records to return (max 5000). responses: '200': description: Hourly RTO fuel type generation data. content: application/json: schema: $ref: '#/components/schemas/RTOFuelTypeDataResponse' '400': description: Bad request. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Invalid API key. content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: ElectricPowerOperationalDataResponse: type: object properties: response: type: object properties: total: type: integer description: Total number of matching records. dateFormat: type: string description: Date format used in the response. frequency: type: string description: Data frequency. data: type: array items: $ref: '#/components/schemas/ElectricPowerRecord' description: type: string series-description: type: object RTOFuelTypeDataResponse: type: object properties: response: type: object properties: total: type: integer data: type: array items: $ref: '#/components/schemas/RTOFuelTypeRecord' ErrorResponse: type: object properties: error: type: string description: Error message. ElectricPowerRecord: type: object properties: period: type: string description: Time period (e.g., 2026-03). location: type: string description: US state abbreviation. stateDescription: type: string description: State full name. sectorid: type: string description: Sector identifier. sectorDescription: type: string description: Sector description. fueltypeid: type: string description: Fuel type identifier (COL, NG, PEL, NUC, ALL). fuelTypeDescription: type: string description: Fuel type description. generation: type: number description: Net generation in thousand megawatthours. total-consumption: type: number description: Total fuel consumption in physical units. consumption-for-eg: type: number description: Fuel consumption for electricity generation. heat-content: type: number description: Heat content of fuel consumed (trillion BTU). RTOFuelTypeRecord: type: object properties: period: type: string description: Datetime in YYYY-MM-DDTHH format (UTC). respondent: type: string description: RTO/ISO identifier. respondent-name: type: string description: RTO/ISO full name. fueltype: type: string description: Fuel type code. type-name: type: string description: Fuel type description. value: type: number description: Net generation in MWh. securitySchemes: apiKey: type: apiKey name: api_key in: query description: EIA API key. Register for free at https://www.eia.gov/opendata/register.php