SPP Download Information¶
LMP Forecast Data¶
URL Template¶
https://portal.spp.org/file-browser-api/download/lmp-by-settlement-location-mdf?path=%2F{YYYY}%2F{MM}%2FMDFC-LMP-SL-{YYYYMMDD}.csv
Date Offset Logic¶
To download LMP forecast data for a target date X, you must download the file from date X-1 (the previous day).
For example:
- To get forecast data for 2025-11-26, download the file: MDFC-LMP-SL-20251125.csv
- To get forecast data for 2025-11-27, download the file: MDFC-LMP-SL-20251126.csv
Filtering Logic (Hour-Ending)¶
The downloaded file uses hour-ending format in the "Interval" column. For a target date X:
- HE01 (first hour): X 01:00:00
- HE24 (last hour): X+1 00:00:00 (midnight of the next day)
Filter condition: Interval >= (X 01:00:00) AND Interval <= (X+1 00:00:00)
Interval Column Format: MM/DD/YYYY HH:MM:SS (e.g., 11/26/2025 01:00:00)
Output File Naming¶
Filtered files are saved as: {YYYYMMDD}_lmp_forecast.csv
Example: 20251126_lmp_forecast.csv
Load Forecast Data (MTLF)¶
URL Template¶
https://portal.spp.org/file-browser-api/download/mtlf-vs-actual?path=%2F{YYYY}%2F{MM}%2F{DD}%2FOP-MTLF-{YYYYMMDD}0700.csv
Date Offset Logic¶
To download load forecast data for a target date X, you must download the file from date X-1 at 07:00.
For example:
- To get forecast data for 2025-12-04, download the file: OP-MTLF-202512030700.csv
- To get forecast data for 2025-12-05, download the file: OP-MTLF-202512040700.csv
Filtering Logic (Hour-Ending)¶
The downloaded file uses hour-ending format in the "Interval" column. For a target date X:
- HE01 (first hour): X 01:00:00
- HE24 (last hour): X+1 00:00:00 (midnight of the next day)
Filter condition: Interval >= (X 01:00:00) AND Interval <= (X+1 00:00:00)
Interval Column Format: MM/DD/YYYY HH:MM:SS (e.g., 12/04/2025 01:00:00)
Columns Retained¶
Interval: Hour-ending timestampGMTIntervalEnd: GMT timestampMTLF: Mid-Term Load Forecast value
Output File Naming¶
Filtered files are saved as: {YYYYMMDD}_load_forecast.csv
Example: 20251204_load_forecast.csv
Load Actual Data¶
URL Template¶
https://portal.spp.org/file-browser-api/download/mtlf-vs-actual?path=%2F{YYYY}%2F{MM}%2F{DD}%2FOP-MTLF-{YYYYMMDD}2300.csv
Date Offset Logic¶
To download load actual data for a target date X, you must download the file from the same day at 23:00 (to ensure all 24 hours have actual values populated).
For example:
- To get actual data for 2025-12-02, download the file: OP-MTLF-202512022300.csv
- To get actual data for 2025-12-03, download the file: OP-MTLF-202512032300.csv
Filtering Logic (Hour-Ending)¶
The downloaded file uses hour-ending format in the "Interval" column. For a target date X:
- HE01 (first hour): X 01:00:00
- HE24 (last hour): X+1 00:00:00 (midnight of the next day)
Filter condition: Interval >= (X 01:00:00) AND Interval <= (X+1 00:00:00)
Interval Column Format: MM/DD/YYYY HH:MM:SS (e.g., 12/02/2025 01:00:00)
Columns Retained¶
Interval: Hour-ending timestampGMTIntervalEnd: GMT timestampAveraged Actual: Actual load value
Output File Naming¶
Filtered files are saved as: {YYYYMMDD}_load_actual.csv
Example: 20251202_load_actual.csv
Resource Forecast Data (Wind/Solar by Reserve Zone)¶
URL Template¶
https://portal.spp.org/file-browser-api/download/resource-forecast-by-reserve-zone?path=%2F{YYYY}%2F{MM}%2F{DD}%2FRF_RESERVE_ZONE-{YYYYMMDD}0700.csv
Date Offset Logic¶
To download resource forecast data for a target date X, you must download the file from date X-1 at 07:00.
For example:
- To get forecast data for 2025-12-04, download the file: RF_RESERVE_ZONE-202512030700.csv
- To get forecast data for 2025-12-05, download the file: RF_RESERVE_ZONE-202512040700.csv
Filtering Logic (Hour-Ending)¶
The downloaded file uses hour-ending format in the "IntervalEnd" column. For a target date X:
- HE01 (first hour): X 01:00:00
- HE24 (last hour): X+1 00:00:00 (midnight of the next day)
Filter condition: IntervalEnd >= (X 01:00:00) AND IntervalEnd <= (X+1 00:00:00)
IntervalEnd Column Format: MM/DD/YYYY HH:MM:SS (e.g., 12/04/2025 01:00:00)
Columns Retained¶
IntervalEnd: Hour-ending timestampGMTIntervalEnd: GMT timestampReserveZone: Reserve zone identifierWindForecastMW: Wind forecast in MWSolarForecastMW: Solar forecast in MW
Output File Naming¶
Filtered files are saved as: {YYYYMMDD}_resource_forecast.csv
Example: 20251204_resource_forecast.csv
Resource Actual Data (Wind/Solar by Reserve Zone)¶
URL Template¶
https://portal.spp.org/file-browser-api/download/resource-forecast-by-reserve-zone?path=%2F{YYYY}%2F{MM}%2F{DD}%2FRF_RESERVE_ZONE-{YYYYMMDD}0700.csv
Date Offset Logic¶
To download resource actual data for a target date X, you must download the file from date X+1 at 07:00 (to ensure all 24 hours have actual values populated).
For example:
- To get actual data for 2025-12-02, download the file: RF_RESERVE_ZONE-202512030700.csv
- To get actual data for 2025-12-03, download the file: RF_RESERVE_ZONE-202512040700.csv
Filtering Logic (Hour-Ending)¶
The downloaded file uses hour-ending format in the "IntervalEnd" column. For a target date X:
- HE01 (first hour): X 01:00:00
- HE24 (last hour): X+1 00:00:00 (midnight of the next day)
Filter condition: IntervalEnd >= (X 01:00:00) AND IntervalEnd <= (X+1 00:00:00)
IntervalEnd Column Format: MM/DD/YYYY HH:MM:SS (e.g., 12/02/2025 01:00:00)
Columns Retained¶
IntervalEnd: Hour-ending timestampGMTIntervalEnd: GMT timestampReserveZone: Reserve zone identifierWindActualMW: Actual wind generation in MWSolarActualMW: Actual solar generation in MW
Output File Naming¶
Filtered files are saved as: {YYYYMMDD}_resource_actual.csv
Example: 20251202_resource_actual.csv