gridstatus

Provides standardized API to access energy data from the major Independent System Operators in the United States.
https://github.com/gridstatus/gridstatus

Category: Energy Systems
Sub Category: Energy Data Accessibility and Integration

Keywords

co2-emissions decarbonization electrical-grid energy python

Keywords from Contributors

archiver transforms measur optimize animals projection generic compose observation conversion

Last synced: about 10 hours ago
JSON representation

Repository metadata

Extract data from ISOs and other energy grid sources

README.md

gridstatus is an open source Python library, maintained by Grid Status, that fetches electricity market data directly from North American independent system operators (ISOs), regional transmission organizations (RTOs), and the U.S. EIA.

Contents

Open source gridstatus vs. the hosted Grid Status API

Choose between the open source library and the hosted Grid Status API based on how you want to access and work with the data:

Open source gridstatus Hosted Grid Status API and gridstatusio
Minimally processed data fetched directly from ISO and EIA sources Hosted data with consistent column names, timestamp formats, and DST handling
Python library with source-specific integrations and fields Single REST API with a Python client
No Grid Status account; most datasets require no API key Grid Status API key with free and paid plans
Historical availability depends on each source's retention policy Historical data queryable immediately
Filtering capabilities vary by source Consistent server-side filtering by time, columns, and row values

Installation

gridstatus supports Python 3.10+. Install with uv or pip:

uv pip install gridstatus
# or
pip install gridstatus

Some sources require credentials, such as an EIA API key or ERCOT API username and password. See .env.template for the full list and supported environment variables.

Getting started

from gridstatus import CAISO, Ercot, SPP, list_isos

# See the ISO classes exposed by the discovery helper
list_isos()

# Pick an ISO and pull a dataset for a fixed date
iso = Ercot()
fuel_mix = iso.get_fuel_mix("2024-06-01")

# Source-specific methods expose other datasets and market intervals
ercot_lmp = Ercot().get_lmp_by_settlement_point("2024-06-01")
spp_lmp = SPP().get_lmp_real_time_5_min_by_location("2024-06-01")
real_time_15_min_lmp = CAISO().get_lmp_real_time_15_min("2024-06-01")
day_ahead_hourly_lmp = CAISO().get_lmp_day_ahead_hourly("2024-06-01")

print(fuel_mix.head())

Most dataset methods return pandas DataFrames, with timezone-aware columns for time-indexed data; columns vary by method and source. Date arguments accept "today", "latest", "historical", an ISO-8601 string ("2024-06-01"), a pd.Timestamp, or a (start, end) range — interpreted in the ISO's own local timezone. Use fixed dates for reproducible results.

What's available

Available data includes load, fuel mix, forecasts, locational marginal prices (LMPs), storage, ancillary services, interconnection queues, and more. Coverage and historical availability vary by source.

  • ISOs / RTOs / grids: CAISO, ERCOT, PJM, MISO, SPP, NYISO, ISO-NE, IESO, and AESO, plus the U.S. EIA.
  • Datasets (vary by ISO): fuel mix, load (demand), load forecasts, locational marginal prices (LMP, day-ahead & real-time), storage, ancillary-service prices, interconnection queues, and more.

The exact dataset coverage per ISO is documented in the API reference.

Resources & help

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: gridstatus
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Max
    family-names: Kanter
    email: max@gridstatus.io
    affiliation: Grid Status
repository-code: 'https://github.com/gridstatus/gridstatus'
url: 'https://opensource.gridstatus.io/en/latest/'
abstract: >-
  gridstatus is a Python library that provides a uniform API
  for accessing electricity supply, demand, and pricing data
  for the major Independent System Operators (ISOs) in the
  United States.
keywords:
  - energy
  - electricity
  - grid
  - python
  - data
license: BSD-3-Clause
version: 0.36.0
date-released: 2026-04-20

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 1 day ago

Total Commits: 866
Total Committers: 43
Avg Commits per committer: 20.14
Development Distribution Score (DDS): 0.64

Commits in past year: 239
Committers in past year: 14
Avg Commits per committer in past year: 17.071
Development Distribution Score (DDS) in past year: 0.439

Name Email Commits
Will Koehrsen w****l@g****o 312
Max Kanter k****2@g****m 273
Ryan Kladar r****n@g****o 153
Gaurav Sheni g****i@g****m 21
Kladar r****r@a****m 14
Sean Dennison s****u@g****m 14
Nate Parsons n****e@g****o 12
Jerry Chen j****y@a****g 11
Dominic Morin m****o 6
Brian Strauch b****n@b****m 4
Bennett Norman b****9@c****u 4
Frank LaNasa f****a@g****m 3
Matthew Shea s****8@g****m 3
Max Epstein m****8@g****m 3
Tyler Nisonoff t****f@g****m 3
Colin Bowen 5****n 2
Connor Waldoch c****7@g****m 2
Ahmed Ismail 2****z 1
Blake Ellingham b****m@g****m 1
BrianWeiHaoMa 1****a 1
Dan Chen g****b@d****e 1
dependabot[bot] 4****] 1
buckfeng b****g@g****m 1
brianward92 b****2@g****m 1
Zach Tzavelis t****z@g****m 1
Sam Dotson 4****n 1
Saim Naushad s****0@g****m 1
Pranav Bhosale p****5@g****m 1
NoahV-SC 1****C 1
Michael Fore M****e@s****t 1
and 13 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 36
Total pull requests: 591
Average time to close issues: 4 months
Average time to close pull requests: 7 days
Total issue authors: 26
Total pull request authors: 27
Average comments per issue: 1.86
Average comments per pull request: 0.71
Merged pull request: 460
Bot issues: 1
Bot pull requests: 25

Past year issues: 16
Past year pull requests: 201
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 4 days
Past year issue authors: 13
Past year pull request authors: 16
Past year average comments per issue: 2.25
Past year average comments per pull request: 0.44
Past year merged pull request: 138
Past year bot issues: 0
Past year bot pull requests: 2

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/gridstatus/gridstatus

Top Issue Authors

  • WillKoehrsen (5)
  • iamanonym0us (5)
  • morindo (3)
  • JMorganUSU (1)
  • Wolsen21 (1)
  • Kladar (1)
  • kmgould (1)
  • dependabot[bot] (1)
  • egoldner13 (1)
  • cdcoonce (1)
  • Saim-naushad (1)
  • NoahV-SC (1)
  • jikaczmarski (1)
  • alexsandberg-st (1)
  • jjmossel (1)

Top Pull Request Authors

  • WillKoehrsen (300)
  • Kladar (195)
  • dependabot[bot] (25)
  • Shiggiddie (19)
  • kmax12 (10)
  • brianstrauch (8)
  • morindo (4)
  • tylernisonoff (3)
  • fjlanasa (3)
  • bendnorman (2)
  • keelerh (2)
  • tichmangono (2)
  • BrianWeiHaoMa (2)
  • Saim-naushad (2)
  • thehomebrewnerd (2)

Top Issue Labels

  • bug (1)
  • dependencies (1)

Top Pull Request Labels

  • enhancement (84)
  • bug (27)
  • dependencies (25)
  • python:uv (2)

Package metadata

proxy.golang.org: github.com/gridstatus/gridstatus

pypi.org: gridstatus

API to access energy data

  • Homepage:
  • Documentation: https://gridstatus.readthedocs.io/
  • Licenses: Copyright 2022 James Max Kanter Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  • Latest release: 0.36.0 (published 4 months ago)
  • Last Synced: 2026-08-13T19:05:25.701Z (1 day ago)
  • Versions: 27
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 80,538 Last month
  • Rankings:
    • Downloads: 3.929%
    • Dependent packages count: 4.787%
    • Stargazers count: 4.804%
    • Forks count: 7.663%
    • Average: 8.546%
    • Dependent repos count: 21.545%
  • Maintainers (1)

Dependencies

.github/workflows/docs.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/install.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/lint.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.github/workflows/release.yaml actions
  • FeatureLabs/gh-action-pypi-upload v2 composite
  • actions/checkout v3 composite
pyproject.toml pypi
  • beautifulsoup4 >= 4.8.13
  • lxml >= 4.9.1
  • openpyxl >= 3.1.0
  • pandas >= 1.3.0
  • plotly >= 5.11.0
  • requests >= 2.28.1
  • tabula-py >= 2.5.1
  • tabulate >= 0.8.10
  • termcolor >= 2.2.0
  • tqdm >= 4.64.1
.github/workflows/tests-commit.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • astral-sh/setup-uv v5 composite
.github/workflows/tests-pr.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • astral-sh/setup-uv v5 composite
  • codecov/codecov-action v3 composite
uv.lock pypi
  • 187 dependencies

Score: 21.229422363623556