Skip to main content

gridstatus logo

Code Coverage PyPI version

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 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

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)

Source distribution for gridstatus 0.37.0
File Size Uploaded Provenance
gridstatus-0.37.0.tar.gz 3.1 MB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for gridstatus 0.37.0
File Interpreter ABI Platform
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 log

Release 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 log

Security 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.

Select from 2 files

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 log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page