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.
|
⚡ Have you considered our Hosted API? It provides a consistent schema across markets, a maintained historical archive, and server-side filtering. Python users can query it with gridstatusio; other languages can use the REST API directly.
|
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.
Metadata
Release files for gridstatus 0.37.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gridstatus-0.37.0.tar.gz | 3.1 MB | With provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gridstatus-0.37.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.7 MB
Release files / gridstatus-0.37.0.tar.gz
| Download URL | gridstatus-0.37.0.tar.gz |
|---|---|
| Size | 3.1 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2a2f3acaa578a6c55c72ab1b22fc8ee989ae16260608806e0a4a880f886e36b2
|
|
BLAKE2b-256 checksum How to use checksums |
830f0d1fee203250ecca19e87227ce715f37cd5d2131d849ac9a4371df278da2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logRelease files / gridstatus-0.37.0-py3-none-any.whl
| Download URL | gridstatus-0.37.0-py3-none-any.whl |
|---|---|
| Size | 619.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
88089aab108f321d1fa82330308901abccdad79af446f814089f5670998e9e6f
|
|
BLAKE2b-256 checksum How to use checksums |
263cf1e22fff39acf47d9458a46e6cfbd49bc6d7969ddc69ff80c54b84e7b5bc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logSecurity for gridstatus 0.37.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 2 files in this release have been uploaded with provenance metadata.
Attestation for gridstatus-0.37.0.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Oct 23, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.