Overview

Actual hourly electricity demand in PJM, one row per hour with a system total and one column per load area. 75,672 hours, 2017-12 to now. Columns: system_mw plus aep_mw, ap_mw, atsi_mw, dayton_mw, deok_mw, dominion_mw, duquesne_mw, ekpc_mw, mid_atlantic_mw, northern_illinois_mw. system_mw is DERIVED as the sum of the ten areas, but unlike NYISO it has been checked: against PJM's own published RTO total over 517 overlapping hours the mean difference is 0.009% and the maximum 0.938%. Wide rather than long, so "load right now" and "the 10 load area shares of it" are one row, not 11. Every market's load table in this catalog shares the system_mw column and the same hourly grain, so a cross-market demand comparison needs no reshaping.

Use with MCP

This table is readable two ways, over the same guarded boundary. Over HTTP: POST /api/v1/datasets/pjm_load/query, described in the API reference. Or from an MCP client: connect a market below, then use search_data or describe_data to load its query contract before calling query_data.

Schema12

Column
Type
event_timeDateTime64(6, 'UTC')
system_mwNullable(Float64)
aep_mwNullable(Float64)
ap_mwNullable(Float64)
atsi_mwNullable(Float64)
dayton_mwNullable(Float64)
deok_mwNullable(Float64)
dominion_mwNullable(Float64)
duquesne_mwNullable(Float64)
ekpc_mwNullable(Float64)
mid_atlantic_mwNullable(Float64)
northern_illinois_mwNullable(Float64)

Sample rows

event_timesystem_mwaep_mwap_mwatsi_mwdayton_mwdeok_mwdominion_mwduquesne_mwekpc_mwmid_atlantic_mwnorthern_illinois_mw
2026-08-27 03:00:00.000000100785.917192.754477928.92152.23262.9170321499.41366.231908.812995.8
2026-08-27 02:00:00.000000107930.818158.35883.68467.52324.63535.2179781599.41528.434477.213978.6
2026-08-27 01:00:00.000000115297.219302.86404.490302504.43784.819045.41705.71688.337074.614756.8
2026-08-27 00:00:00.000000120516.220001.56775.69409.12614.63939.519988.21805.11847.438914.815220.4
2026-08-26 23:00:00.000000123368.420317.66965.19612.52653.14075.320411.31892.21990.73970015750.6
2026-08-26 22:00:00.000000126672.09999999999208897140.29953.427244246.620891.71974.72008.440826.316017.8
2026-08-26 21:00:00.000000128273.40000000001212097218.510073.12756.54309.9211282006.81975.14151116085.5
2026-08-26 20:00:00.000000126759.2000000000121080.67088.79981.52712.34219.920996.71970.81870.740772.616065.4
2026-08-26 19:00:00.000000123395.720634.26921.797952646.64070.920588.81923.7175739324.115733.7
2026-08-26 18:00:00.000000119655.920083.66709.59639.92581.83896200921866.91699.437713.415373.4
2026-08-26 17:00:00.000000115027.719394.46479.89385.72478.63694.619403.41816.81639.236010.714724.5
2026-08-26 16:00:00.000000109849.118696.26209.89037.423633544.818661.71736.11534.834167.113898.2
2026-08-26 15:00:00.000000104596.317999.25953.78723.82275.33360.817655.61675.11419.432421.213112.2
2026-08-26 14:00:00.000000100193.5999999999917283.556838442.72169.23213.416935.71628.71313.231123.212401
2026-08-26 13:00:00.00000096496.816745.454208077.12059.33035.516305.81536.51258.630104.911953.7
2026-08-26 12:00:00.00000093605.716240.45283.47822.61984.42888.315761.214731228.229342.711581.5
2026-08-26 11:00:00.00000091035.0999999999916079.45239.97485.51929.6274715416.11395.71217.428458.711065.8
2026-08-26 10:00:00.00000087426.29999999999156885040.37222.11843.82615.414998.21340.91197.727162.510317.4
2026-08-26 09:00:00.00000082548.214815.84709.36816.41706.82430.814370.11271.21169.625464.29794
2026-08-26 08:00:00.0000008015114501.64600.165721631.72365.613996.81232.31192.624342.89715.5
2026-08-26 07:00:00.00000079876.5999999999914387.44562.56526.91625.62362.313923.71228.71189.824199.39870.4
2026-08-26 06:00:00.00000081368.9999999999914550.44629.96619.91658.6242514236.31244.81110.124722.610171.4
2026-08-26 05:00:00.00000084202.214942.64748.16788.51716.5252414633.81306.11208.525700.810633.3
2026-08-26 04:00:00.00000088122.515415.54945.87076.818112677.115159.51365.21331.327128.411211.9
2026-08-26 03:00:00.00000093765.2000000000116204.65264.67476.81936.32859.815953.41449.31445.229179.111996.1

Coverage

100.0% complete0 gap days3,162 days with data
Show coverage history ▾
Coverage: 100.0%Days with data: 3,162Gaps: 0
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
gaplessmore