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-07-22 17:24:08 - INFO - Requesting http://mis.nyiso.com/public/csv/realtime/20260722realtime_zone.csv
Time Interval Start Interval End Market Location Location Type LMP Energy Congestion Loss
0 2026-07-22 00:00:00-04:00 2026-07-22 00:00:00-04:00 2026-07-22 00:05:00-04:00 REAL_TIME_5_MIN CAPITL Zone 55.73 54.26 -0.00 1.47
1 2026-07-22 00:00:00-04:00 2026-07-22 00:00:00-04:00 2026-07-22 00:05:00-04:00 REAL_TIME_5_MIN CENTRL Zone 39.15 54.27 -14.74 -0.38
2 2026-07-22 00:00:00-04:00 2026-07-22 00:00:00-04:00 2026-07-22 00:05:00-04:00 REAL_TIME_5_MIN DUNWOD Zone 57.03 54.26 -0.00 2.77
3 2026-07-22 00:00:00-04:00 2026-07-22 00:00:00-04:00 2026-07-22 00:05:00-04:00 REAL_TIME_5_MIN GENESE Zone 18.59 54.26 -34.86 -0.81
4 2026-07-22 00:00:00-04:00 2026-07-22 00:00:00-04:00 2026-07-22 00:05:00-04:00 REAL_TIME_5_MIN H Q Zone 54.48 54.26 -0.00 0.22
... ... ... ... ... ... ... ... ... ... ...
2410 2026-07-22 13:20:00-04:00 2026-07-22 13:20:00-04:00 2026-07-22 13:25:00-04:00 REAL_TIME_5_MIN NORTH Zone 34.68 35.10 -0.00 -0.42
2411 2026-07-22 13:20:00-04:00 2026-07-22 13:20:00-04:00 2026-07-22 13:25:00-04:00 REAL_TIME_5_MIN NPX Zone 36.46 35.09 -0.00 1.37
2412 2026-07-22 13:20:00-04:00 2026-07-22 13:20:00-04:00 2026-07-22 13:25:00-04:00 REAL_TIME_5_MIN O H Zone 12.26 35.10 -20.10 -2.74
2413 2026-07-22 13:20:00-04:00 2026-07-22 13:20:00-04:00 2026-07-22 13:25:00-04:00 REAL_TIME_5_MIN PJM Zone 22.68 35.09 -12.94 0.53
2414 2026-07-22 13:20:00-04:00 2026-07-22 13:20:00-04:00 2026-07-22 13:25:00-04:00 REAL_TIME_5_MIN WEST Zone 10.15 35.09 -22.84 -2.10

2415 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-07-22 17:24:08 - 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-07-22 17:24:08 - 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=20260722T07:00-0000&enddatetime=20260723T07:00-0000
2026-07-22 17:24:09 - DEBUG - Found 1 files: ['20260722_20260723_PRC_LMP_DAM_20260722_10_24_09_v12.csv']
2026-07-22 17:24:09 - DEBUG - Parsing file: 20260722_20260723_PRC_LMP_DAM_20260722_10_24_09_v12.csv
Time Interval Start Interval End Market Location Location Type LMP Energy Congestion Loss GHG
0 2026-07-22 00:00:00-07:00 2026-07-22 00:00:00-07:00 2026-07-22 01:00:00-07:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 53.87340 56.50223 -0.14273 -2.48610 0.00000
1 2026-07-22 00:00:00-07:00 2026-07-22 00:00:00-07:00 2026-07-22 01:00:00-07:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 54.59528 56.50223 -0.30794 -1.59901 0.00000
2 2026-07-22 00:00:00-07:00 2026-07-22 00:00:00-07:00 2026-07-22 01:00:00-07:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 54.17999 56.50223 0.00000 -2.32224 0.00000
3 2026-07-22 01:00:00-07:00 2026-07-22 01:00:00-07:00 2026-07-22 02:00:00-07:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 50.08136 52.62948 -0.11138 -2.43675 0.00000
4 2026-07-22 01:00:00-07:00 2026-07-22 01:00:00-07:00 2026-07-22 02:00:00-07:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 50.92222 52.62948 -0.28627 -1.42100 0.00000
... ... ... ... ... ... ... ... ... ... ... ...
67 2026-07-22 22:00:00-07:00 2026-07-22 22:00:00-07:00 2026-07-22 23:00:00-07:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 56.04843 56.76026 -0.28330 -2.44512 2.01659
68 2026-07-22 22:00:00-07:00 2026-07-22 22:00:00-07:00 2026-07-22 23:00:00-07:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 55.88446 56.76026 -0.07110 -2.82129 2.01659
69 2026-07-22 23:00:00-07:00 2026-07-22 23:00:00-07:00 2026-07-23 00:00:00-07:00 DAY_AHEAD_HOURLY TH_NP15_GEN-APND Trading Hub 53.04385 56.54688 -0.81705 -2.68598 0.00000
70 2026-07-22 23:00:00-07:00 2026-07-22 23:00:00-07:00 2026-07-23 00:00:00-07:00 DAY_AHEAD_HOURLY TH_SP15_GEN-APND Trading Hub 54.61473 56.54688 -0.24705 -1.68510 0.00000
71 2026-07-22 23:00:00-07:00 2026-07-22 23:00:00-07:00 2026-07-23 00:00:00-07:00 DAY_AHEAD_HOURLY TH_ZP26_GEN-APND Trading Hub 54.03054 56.54688 0.00000 -2.51634 0.00000

72 rows × 11 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'>]