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
- Host: GitHub
- URL: https://github.com/gridstatus/gridstatus
- Owner: gridstatus
- License: bsd-3-clause
- Created: 2022-07-28T19:24:20.000Z (about 4 years ago)
- Default Branch: main
- Last Pushed: 2026-08-03T03:53:39.000Z (12 days ago)
- Last Synced: 2026-08-10T13:57:31.153Z (5 days ago)
- Topics: co2-emissions, decarbonization, electrical-grid, energy, python
- Language: Python
- Homepage: https://opensource.gridstatus.io
- Size: 14.1 MB
- Stars: 439
- Watchers: 8
- Forks: 84
- Open Issues: 40
- Releases: 38
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Citation: CITATION.cff
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
gridstatusvs. the hosted Grid Status API - Installation
- Getting started
- What's available
- Resources and help
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
- Open source: API reference and examples · Changelog · Contributing
- Hosted API: data catalog · OpenAPI spec · docs assistant
- Support: Open a GitHub issue for questions or bugs. Grid Status support is primarily focused on hosted API users, but we'll do our best to help with open source issues.
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
- Name: gridstatus
- Login: gridstatus
- Email:
- Kind: organization
- Description:
- Website:
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/111189335?v=4
- Repositories: 1
- Last ynced at: 2023-05-04T20:40:43.121Z
- Profile URL: https://github.com/gridstatus
GitHub Events
Total
- Release event: 4
- Delete event: 218
- Pull request event: 412
- Fork event: 23
- Issues event: 27
- Watch event: 74
- Issue comment event: 199
- Push event: 1281
- Pull request review comment event: 651
- Pull request review event: 825
- Create event: 266
Last Year
- Delete event: 75
- Pull request event: 93
- Fork event: 5
- Issues event: 3
- Watch event: 13
- Issue comment event: 31
- Push event: 359
- Pull request review event: 170
- Pull request review comment event: 123
- Create event: 97
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 | 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:
- gridstatus.io: 3
- usu.edu: 1
- vel9.com: 1
- sbcglobal.net: 1
- djc.me: 1
- cornell.edu: 1
- brianstrauch.com: 1
- apache.org: 1
- advmicrogrid.com: 1
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
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
- Total packages: 2
-
Total downloads:
- pypi: 80,538 last-month
- Total dependent packages: 1 (may contain duplicates)
- Total dependent repositories: 1 (may contain duplicates)
- Total versions: 41
- Total maintainers: 1
proxy.golang.org: github.com/gridstatus/gridstatus
- Homepage:
- Documentation: https://pkg.go.dev/github.com/gridstatus/gridstatus#section-documentation
- Licenses: bsd-3-clause
- Latest release: v0.36.0 (published 4 months ago)
- Last Synced: 2026-08-13T19:05:26.588Z (1 day ago)
- Versions: 14
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent packages count: 4.611%
- Average: 4.766%
- Dependent repos count: 4.921%
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
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- FeatureLabs/gh-action-pypi-upload v2 composite
- actions/checkout v3 composite
- 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
- actions/checkout v3 composite
- actions/setup-python v4 composite
- astral-sh/setup-uv v5 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- astral-sh/setup-uv v5 composite
- codecov/codecov-action v3 composite
- 187 dependencies
Score: 21.229422363623556