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