LMP Pricing Data

LMP Pricing Data#

Each ISO offers different LMP markets, but you can query them with a standardized API

import gridstatus
nyiso = gridstatus.NYISO()
nyiso.get_lmp(date="today", market="REAL_TIME_5_MIN", locations="ALL")
2026-04-21 02:23:21 - INFO - Requesting http://mis.nyiso.com/public/csv/realtime/20260420realtime_zone.csv
Time Interval Start Interval End Market Location Location Type LMP Energy Congestion Loss
0 2026-04-20 00:00:00-04:00 2026-04-20 00:00:00-04:00 2026-04-20 00:05:00-04:00 REAL_TIME_5_MIN CAPITL Zone 48.08 46.50 -0.00 1.58
1 2026-04-20 00:00:00-04:00 2026-04-20 00:00:00-04:00 2026-04-20 00:05:00-04:00 REAL_TIME_5_MIN CENTRL Zone 46.08 46.50 -0.00 -0.42
2 2026-04-20 00:00:00-04:00 2026-04-20 00:00:00-04:00 2026-04-20 00:05:00-04:00 REAL_TIME_5_MIN DUNWOD Zone 48.40 46.49 -0.00 1.91
3 2026-04-20 00:00:00-04:00 2026-04-20 00:00:00-04:00 2026-04-20 00:05:00-04:00 REAL_TIME_5_MIN GENESE Zone 46.36 46.50 -0.00 -0.14
4 2026-04-20 00:00:00-04:00 2026-04-20 00:00:00-04:00 2026-04-20 00:05:00-04:00 REAL_TIME_5_MIN H Q Zone 46.78 46.50 -0.00 0.28
... ... ... ... ... ... ... ... ... ... ...
4120 2026-04-20 22:20:00-04:00 2026-04-20 22:20:00-04:00 2026-04-20 22:25:00-04:00 REAL_TIME_5_MIN NORTH Zone 47.36 47.31 -0.00 0.05
4121 2026-04-20 22:20:00-04:00 2026-04-20 22:20:00-04:00 2026-04-20 22:25:00-04:00 REAL_TIME_5_MIN NPX Zone 65.05 47.32 15.93 1.80
4122 2026-04-20 22:20:00-04:00 2026-04-20 22:20:00-04:00 2026-04-20 22:25:00-04:00 REAL_TIME_5_MIN O H Zone 45.09 47.31 -0.00 -2.22
4123 2026-04-20 22:20:00-04:00 2026-04-20 22:20:00-04:00 2026-04-20 22:25:00-04:00 REAL_TIME_5_MIN PJM Zone 47.32 47.32 -0.00 0.00
4124 2026-04-20 22:20:00-04:00 2026-04-20 22:20:00-04:00 2026-04-20 22:25:00-04:00 REAL_TIME_5_MIN WEST Zone 45.94 47.31 -0.00 -1.37

4125 rows × 10 columns

And here is querying CAISO

import gridstatus
caiso = gridstatus.CAISO()
locations = ["TH_NP15_GEN-APND", "TH_SP15_GEN-APND", "TH_ZP26_GEN-APND"]
caiso.get_lmp(date="today", market='DAY_AHEAD_HOURLY', locations=locations)
2026-04-21 02:23:21 - DEBUG - Dataset config: {'query': {'path': 'SingleZip', 'resultformat': 6, 'queryname': 'PRC_LMP', 'version': 12}, 'params': {'market_run_id': 'DAM', 'node': None, 'grp_type': [None, 'ALL', 'ALL_APNODES']}}
2026-04-21 02:23:21 - INFO - Fetching URL: http://oasis.caiso.com/oasisapi/SingleZip?resultformat=6&queryname=PRC_LMP&version=12&market_run_id=DAM&node=TH_NP15_GEN-APND,TH_SP15_GEN-APND,TH_ZP26_GEN-APND&startdatetime=20260420T07:00-0000&enddatetime=20260421T07:00-0000
2026-04-21 02:23:22 - DEBUG - Found 1 files: ['20260420_20260421_PRC_LMP_DAM_20260420_19_23_22_v12.csv']
2026-04-21 02:23:22 - DEBUG - Parsing file: 20260420_20260421_PRC_LMP_DAM_20260420_19_23_22_v12.csv
Time Interval Start Interval End Market Location Location Type LMP Energy Congestion Loss
0 2026-04-20 00:00:00-07:00 2026-04-20 00:00:00-07:00 2026-04-20 01:00:00-07:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 32.70674 34.15871 -0.22568 -1.22630
1 2026-04-20 00:00:00-07:00 2026-04-20 00:00:00-07:00 2026-04-20 01:00:00-07:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 32.75324 34.15871 0.01553 -1.42100
2 2026-04-20 00:00:00-07:00 2026-04-20 00:00:00-07:00 2026-04-20 01:00:00-07:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 33.20644 34.15871 0.02808 -0.98036
3 2026-04-20 01:00:00-07:00 2026-04-20 01:00:00-07:00 2026-04-20 02:00:00-07:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 30.38340 31.84511 -0.14333 -1.31839
4 2026-04-20 01:00:00-07:00 2026-04-20 01:00:00-07:00 2026-04-20 02:00:00-07:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 30.35377 31.84511 -0.31626 -1.17508
... ... ... ... ... ... ... ... ... ... ...
67 2026-04-20 22:00:00-07:00 2026-04-20 22:00:00-07:00 2026-04-20 23:00:00-07:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 28.69261 32.93763 -2.77271 -1.47231
68 2026-04-20 22:00:00-07:00 2026-04-20 22:00:00-07:00 2026-04-20 23:00:00-07:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 30.78219 32.93763 -0.89722 -1.25822
69 2026-04-20 23:00:00-07:00 2026-04-20 23:00:00-07:00 2026-04-21 00:00:00-07:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 29.44075 32.07991 -1.52919 -1.10996
70 2026-04-20 23:00:00-07:00 2026-04-20 23:00:00-07:00 2026-04-21 00:00:00-07:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 28.66517 32.07991 -2.28873 -1.12600
71 2026-04-20 23:00:00-07:00 2026-04-20 23:00:00-07:00 2026-04-21 00:00:00-07:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 30.21702 32.07991 -0.78821 -1.07468

72 rows × 10 columns

You can see what markets are available by accessing the markets property of an ISO. For example

caiso.markets
[<Markets.REAL_TIME_5_MIN: 'REAL_TIME_5_MIN'>,
 <Markets.REAL_TIME_15_MIN: 'REAL_TIME_15_MIN'>,
 <Markets.DAY_AHEAD_HOURLY: 'DAY_AHEAD_HOURLY'>]