> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cleanview.co/llms.txt
> Use this file to discover all available pages before exploring further.

# EIA 860M Data

> Retrieve EIA 860M power plant data with detailed capacity, operational status, and location information

## Overview

The EIA 860M endpoint provides access to the U.S. Energy Information Administration's monthly electric generator inventory data. This dataset includes comprehensive information about power plants and generators across the United States, including renewable energy projects, traditional generation facilities, and energy storage systems.

### Energy Source Codes

The most common energy source codes in our dataset:

| Code  | Description                  | Count |
| ----- | ---------------------------- | ----- |
| `NG`  | Natural Gas                  | 9,742 |
| `SUN` | Solar                        | 9,000 |
| `DFO` | Distillate Fuel Oil (Diesel) | 5,517 |
| `WAT` | Hydro                        | 4,598 |
| `LFG` | Landfill Gas                 | 1,983 |
| `WND` | Wind                         | 1,955 |
| `MWH` | Battery Storage              | 1,435 |
| `BIT` | Bituminous Coal              | 828   |
| `SUB` | Subbituminous Coal           | 463   |
| `GEO` | Geothermal                   | 341   |

### Balancing Authority Codes

The most common balancing authorities in our dataset:

| Code   | Description                              | Count |
| ------ | ---------------------------------------- | ----- |
| `MISO` | Midcontinent Independent System Operator | 6,404 |
| `PJM`  | PJM Interconnection                      | 5,370 |
| `CISO` | California Independent System Operator   | 3,738 |
| `ERCO` | Electric Reliability Council of Texas    | 2,850 |
| `ISNE` | ISO New England                          | 2,694 |
| `NYIS` | New York Independent System Operator     | 2,303 |
| `SWPP` | Southwest Power Pool                     | 2,126 |

<Tip>
  Need the complete list of EIA codes? See our [EIA Codes Reference](/api-reference/eia-codes) for all balancing authorities, energy sources, and prime mover codes.
</Tip>

### Status Options

| Status      | Description                    |
| ----------- | ------------------------------ |
| `operating` | Currently operating facilities |
| `retired`   | Retired from service           |
| `planned`   | Planned but not yet operating  |
| `canceled`  | Cancelled projects             |
| `all`       | All statuses                   |

## Example Requests

<AccordionGroup>
  <Accordion title="Get Solar Projects in California">
    ```bash theme={null}
    curl -H "x-api-key: your_api_key_here" \
      "https://api.cleanview.co/api/v1/eia-860m?state=CA&energy_source=SUN&limit=50"
    ```

    Uses `energy_source=SUN` for solar. See [all energy source codes](/api-reference/eia-codes#energy-source-codes).
  </Accordion>

  <Accordion title="Get Wind Projects">
    ```bash theme={null}
    curl -H "x-api-key: your_api_key_here" \
      "https://api.cleanview.co/api/v1/eia-860m?energy_source=WND&limit=50"
    ```

    Uses `energy_source=WND` for wind. See [all energy source codes](/api-reference/eia-codes#energy-source-codes).
  </Accordion>

  <Accordion title="Get Battery Storage Projects">
    ```bash theme={null}
    curl -H "x-api-key: your_api_key_here" \
      "https://api.cleanview.co/api/v1/eia-860m?energy_source=MWH&status=operating&limit=50"
    ```

    Uses `energy_source=MWH` for battery storage. See [all energy source codes](/api-reference/eia-codes#energy-source-codes).
  </Accordion>

  <Accordion title="Get Projects by Multiple Balancing Authorities">
    ```bash theme={null}
    curl -H "x-api-key: your_api_key_here" \
      "https://api.cleanview.co/api/v1/eia-860m?balancing_authority=CISO,ERCO&limit=50"
    ```

    Uses `balancing_authority=CISO,ERCO` for California ISO and ERCOT. See [all balancing authority codes](/api-reference/eia-codes#balancing-authority-codes).
  </Accordion>

  <Accordion title="Get Projects by Developer">
    ```bash theme={null}
    curl -H "x-api-key: your_api_key_here" \
      "https://api.cleanview.co/api/v1/eia-860m?developer=NextEra&limit=50"
    ```

    Filters projects that have developer mapping data. Supports partial matching. Projects without developer data are excluded from filtered results.
  </Accordion>
</AccordionGroup>

## Response Schema

<ResponseExample>
  ```json Example Response theme={null}
  {
    "success": true,
    "summary": {
      "limit": 50,
      "offset": 0,
      "total_results": 3044,
      "has_more": true,
      "current_page": 1,
      "total_pages": 61
    },
    "filters": {
      "state": "CA",
      "energy_source": null,
      "balancing_authority": null,
      "status": "all",
      "start_year": null,
      "end_year": null,
      "developer": null
    },
    "customer": {
      "id": "test_user_001",
      "name": "Test Developer"
    },
    "data": [
      {
        "plant_id": "66659",
        "plant_name": "Acid BESS",
        "plant_state": "CA",
        "county": "Fresno",
        "latitude": 36.6905,
        "longitude": -119.7404,
        "entity_id": "65678",
        "entity_name": "Malaga BESS LLC",
        "generator_id": "MAL",
        "unit_code": null,
        "nameplate_capacity_mw": 97,
        "nameplate_energy_capacity_mwh": 97,
        "energy_source_code": "MWH",
        "technology": "Batteries",
        "prime_mover_code": "BA",
        "status": "Operating",
        "status_detailed": "(OP) Operating",
        "operating_year": 2025,
        "operating_month": "3",
        "retirement_year": null,
        "retirement_month": null,
        "operating_date": "2025-03-01",
        "retirement_date": null,
        "balancing_authority_code": "CISO",
        "sector": "IPP Non-CHP",
        "plant_generator_key": "66659_MAL",
        "developer": "Malaga BESS LLC"
      },
      {
        "plant_id": "66167",
        "plant_name": "AM Wind Repower LLC",
        "plant_state": "CA",
        "county": "Riverside",
        "latitude": 33.943741,
        "longitude": -116.6615,
        "entity_id": "63235",
        "entity_name": "Brookfield Renewable Trading and Marketing LP",
        "generator_id": "63235",
        "unit_code": null,
        "nameplate_capacity_mw": 27,
        "nameplate_energy_capacity_mwh": null,
        "energy_source_code": "WND",
        "technology": "Onshore Wind Turbine",
        "prime_mover_code": "WT",
        "status": "Operating",
        "status_detailed": "(OP) Operating",
        "operating_year": 2025,
        "operating_month": "3",
        "retirement_year": null,
        "retirement_month": null,
        "operating_date": "2025-03-01",
        "retirement_date": null,
        "balancing_authority_code": "CISO",
        "sector": "IPP Non-CHP",
        "plant_generator_key": "66167_63235",
        "developer": "Brookfield Renewable"
      }
    ]
  }
  ```
</ResponseExample>

## Response Fields

| Field                           | Type   | Description                                                       |
| ------------------------------- | ------ | ----------------------------------------------------------------- |
| `plant_id`                      | string | Unique EIA plant identifier                                       |
| `plant_name`                    | string | Name of the power plant facility                                  |
| `plant_state`                   | string | Two-letter state code where plant is located                      |
| `county`                        | string | County name where plant is located                                |
| `latitude`                      | number | Plant latitude coordinate                                         |
| `longitude`                     | number | Plant longitude coordinate                                        |
| `entity_id`                     | string | EIA entity (utility/company) identifier                           |
| `entity_name`                   | string | Name of utility or company operating the plant                    |
| `generator_id`                  | string | Generator unit identifier within the plant                        |
| `unit_code`                     | string | Additional unit identifier (if applicable)                        |
| `nameplate_capacity_mw`         | number | Nameplate capacity in megawatts (MW)                              |
| `nameplate_energy_capacity_mwh` | number | Energy storage capacity in megawatt-hours (MWh) for storage units |
| `energy_source_code`            | string | Primary energy source code (SUN, WND, NG, etc.)                   |
| `technology`                    | string | Technology description                                            |
| `prime_mover_code`              | string | Prime mover technology code                                       |
| `status`                        | string | Operational status                                                |
| `status_detailed`               | string | Detailed operational status with EIA codes                        |
| `operating_year`                | number | Year facility began/will begin operation                          |
| `operating_month`               | string | Month facility began/will begin operation                         |
| `retirement_year`               | number | Year facility retired/will retire (if applicable)                 |
| `retirement_month`              | number | Month facility retired/will retire (if applicable)                |
| `operating_date`                | string | Operating date in YYYY-MM-DD format                               |
| `retirement_date`               | string | Retirement date in YYYY-MM-DD format (if applicable)              |
| `balancing_authority_code`      | string | Balancing authority acronym                                       |
| `sector`                        | string | Sector classification                                             |
| `plant_generator_key`           | string | Composite key combining plant\_id and generator\_id               |
| `developer`                     | string | Developer company name(s) associated with the project             |

<Note>
  **Data Updates**: EIA 860M data is updated monthly by the U.S. Energy Information Administration. Our API reflects the most recent available data.
</Note>


## OpenAPI

````yaml GET /eia-860m
openapi: 3.0.0
info:
  title: Cleanview Public API
  version: 0.1.0
  description: >-
    RESTful API for accessing clean energy data including EIA capacity and ISO
    queue information
  contact:
    name: Cleanview Energy
    url: https://cleanview.co/demo
servers:
  - url: https://api.cleanview.co/api/v1
    description: Production server
security:
  - ApiKeyAuth: []
paths:
  /eia-860m:
    get:
      tags:
        - EIA Data
      summary: Get EIA 860M data
      description: Retrieve EIA plant capacity data with filtering and pagination
      parameters:
        - in: query
          name: state
          schema:
            type: string
          description: Filter by state code (e.g., CA, TX, NY)
          example: CA
        - in: query
          name: energy_source
          schema:
            type: string
          description: >-
            Filter by energy source code(s). Multiple codes separated by comma.
            Common codes: SUN (Solar), WND (Wind), MWH (Battery), NG (Natural
            Gas)
          examples:
            solar:
              value: SUN
              summary: Solar only
            renewables:
              value: SUN,WND
              summary: Solar and Wind
            storage:
              value: MWH
              summary: Battery storage
        - in: query
          name: balancing_authority
          schema:
            type: string
          description: >-
            Filter by balancing authority acronym(s). Multiple codes separated
            by comma. Common codes: CISO (California), ERCO (Texas), PJM
            (Mid-Atlantic)
          example: CISO,MISO
        - in: query
          name: status
          schema:
            type: string
            enum:
              - operating
              - retired
              - planned
              - canceled
              - all
            default: all
          description: >-
            Filter by plant status. Default includes all statuses - use this to
            narrow down results
          example: operating
        - in: query
          name: start_year
          schema:
            type: integer
          description: Filter by minimum operating year
          example: 2020
        - in: query
          name: end_year
          schema:
            type: integer
          description: Filter by maximum operating year
          example: 2023
        - in: query
          name: limit
          schema:
            type: integer
            default: 500
            minimum: 50
            maximum: 5000
          description: >-
            Number of records to return. Must be between 50-5000 for optimal
            performance.
          examples:
            small:
              value: 50
              summary: Small batch (50 records)
            default:
              value: 500
              summary: Default batch (500 records)
            large:
              value: 5000
              summary: Maximum batch (5000 records)
        - in: query
          name: offset
          schema:
            type: integer
            default: 0
          description: Number of records to skip
      responses:
        '200':
          description: Successful response with EIA 860M power plant data
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - data
                  - summary
                  - filters
                  - customer
                properties:
                  success:
                    type: boolean
                    description: Always true for successful responses
                    example: true
                  summary:
                    $ref: '#/components/schemas/Summary'
                  filters:
                    type: object
                    description: Applied filters for the request
                  customer:
                    type: object
                    description: Customer information for the API key
                    properties:
                      id:
                        type: string
                        example: test_user_001
                      name:
                        type: string
                        example: Test Developer
                  data:
                    type: array
                    description: Array of EIA 860M power plant records
                    items:
                      $ref: '#/components/schemas/EiaPlant'
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    Summary:
      type: object
      description: Summary metadata for pagination
      properties:
        limit:
          type: integer
          description: Number of records per page
        offset:
          type: integer
          description: Number of records to skip
        total_results:
          type: integer
          description: Total number of records matching the query
        has_more:
          type: boolean
          description: Whether additional records exist beyond this page
        current_page:
          type: integer
          description: Current page number (1-indexed)
        total_pages:
          type: integer
          description: Total number of pages available
    EiaPlant:
      type: object
      description: EIA 860M power plant record
      properties:
        plant_id:
          type: string
          description: Unique plant identifier from EIA
        plant_name:
          type: string
          description: Official plant name
        plant_state:
          type: string
          description: State code where plant is located
        county:
          type: string
          description: County where plant is located
        latitude:
          type: number
          nullable: true
          description: Plant latitude coordinate
        longitude:
          type: number
          nullable: true
          description: Plant longitude coordinate
        entity_id:
          type: string
          description: EIA entity (utility/company) identifier
        entity_name:
          type: string
          description: Name of utility or company operating the plant
        generator_id:
          type: string
          description: Generator unit identifier within the plant
        nameplate_capacity_mw:
          type: number
          description: Nameplate capacity in megawatts (MW)
        nameplate_energy_capacity_mwh:
          type: number
          nullable: true
          description: Energy storage capacity in megawatt-hours (MWh) for storage units
        energy_source_code:
          type: string
          description: >-
            Primary energy source code (SUN=Solar, WND=Wind, NG=Natural Gas,
            etc.)
        technology:
          type: string
          description: Technology description (e.g., Photovoltaic, Onshore Wind Turbine)
        prime_mover_code:
          type: string
          description: Prime mover technology code (PV=Photovoltaic, WT=Wind Turbine, etc.)
        status:
          type: string
          description: Current operational status (Operating, Retired, Planned, etc.)
        operating_year:
          type: integer
          nullable: true
          description: Year the unit began commercial operation
        operating_month:
          type: integer
          nullable: true
          description: Month the unit began commercial operation (1-12)
        operating_date:
          type: string
          format: date
          nullable: true
          description: Formatted operating date (YYYY-MM-DD or YYYY-MM)
        balancing_authority_code:
          type: string
          description: >-
            Balancing authority responsible for the plant (CISO, ERCO, PJM,
            etc.)
        sector:
          type: string
          description: >-
            Sector classification (Electric Utility, Independent Power Producer,
            etc.)
    Error:
      type: object
      description: Standardized error response structure
      required:
        - error
        - message
      properties:
        error:
          type: string
          description: Error code identifier for programmatic handling
          enum:
            - INVALID_API_KEY
            - API_KEY_NOT_FOUND
            - INVALID_LIMIT
            - INVALID_OFFSET
            - INVALID_STATUS
            - INVALID_CAPACITY
            - INVALID_TECHNOLOGY
            - INVALID_STATES
            - INVALID_DATE
            - INVALID_DATE_RANGE
            - INVALID_BOOLEAN
            - DATABASE_ERROR
            - INTERNAL_ERROR
          example: INVALID_LIMIT
        message:
          type: string
          description: Human-readable error description
          example: Limit must be at least 50 records per request
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key authentication using x-api-key header

````