32 live streams
PJM data
PJM coordinates the grid across thirteen mid-Atlantic and Midwest states, the largest wholesale electricity market in North America. Everything here comes from Data Miner 2 on a single key, paced through one lock — six requests a minute is the whole budget, and a seventh is a 429.
What is collected
Every PJM stream Dryos holds, grouped the way the catalogue groups them.
- Streams
- 32 live
- Fastest cadence
- every 15 s
- Entities
- 29,803 across every stream
- Access
- Public REST API and MCP server, no key
Pricing
- PJM real-time LMP
Unverified five-minute prices at PJM's 12 trading hubs, 22 transmission zones, 7 interfaces and every other aggregate pricing node, with the congestion and loss components, about four minutes after the interval starts.
every 5 min · 5m rows482 entitiespjm-realtime-lmp - PJM real-time hourly LMP
PJM's own hourly integration of its unverified real-time prices at the 12 trading hubs, 22 transmission zones, 7 interfaces and every other aggregate, with the congestion and loss components, posted for the previous hour.
hourly, for the hour before · 1h rows482 entitiespjm-realtime-lmp-hourly - PJM real-time LMPs by bus
Unverified five-minute prices at every one of PJM's 13,967 electrical buses — generator, load and external — with the congestion and loss components.
every 5 min · 5m rows13,967 entitiespjm-rt-lmp-bus - PJM day-ahead LMP
Hourly day-ahead prices at PJM's 482 aggregate pricing nodes — hubs, zones, interfaces, EHV and residual aggregates — with the energy, congestion and loss components as PJM publishes them, posted for the whole of tomorrow between 12:00 and 13:30 Eastern.
daily, ~12:30 ET · 1h rows482 entitiespjm-dam-lmp - PJM day-ahead LMPs by bus
Hourly day-ahead prices at every one of PJM's 13,967 electrical buses, with the energy, congestion and loss components as PJM publishes them.
daily, ~12:30 ET · 1h rows13,967 entitiespjm-dam-lmp-bus - PJM binding constraints
Every transmission constraint the real-time dispatch was up against, five minutes at a time, with the contingency it bound for and its shadow price (negative, in PJM's convention).
every 5 min, when bound · 5m rows60 entitiespjm-binding-constraints - PJM real-time constraint marginal values
PJM's settled record of every transmission constraint that bound in the real-time market, five minutes at a time, with its contingency, shadow price (negative, in PJM's convention), penalty factor and limit control percentage.
every 5 min, posted ~3 days late · 5m rows60 entitiespjm-rt-marginal-value - PJM day-ahead constraint marginal values
Every transmission constraint that binds in PJM's day-ahead market, hour by hour, with its contingency and shadow price (negative, in PJM's convention), posted with tomorrow's prices.
daily, for tomorrow · 1h rows60 entitiespjm-da-marginal-value - PJM dispatch rates
The dispatch signal PJM sends each of its 20 transmission zones, in $/MWh, every fifteen seconds — the price the control room is steering generators to at the instant, not a settlement price.
every 15 s · 15s rows20 entitiespjm-dispatch-rates - PJM IT SCED interface prices
What PJM's intermediate-term dispatch expects the next four five-minute intervals to cost at its ties with New York and MISO, re-run every few minutes and kept case by case — the forward-looking price at the seams, MISO's ex-ante counterpart.
every 5 min, four intervals ahead · 5m rows5 entitiespjm-itsced-lmp
Load
- PJM load by area
Real-time load every five minutes in each of PJM's 21 transmission zones, its three regions and the RTO total — telemetry, the number on PJM's own dashboard, not the metered load that settles.
every 5 min · 5m rows25 entitiespjm-system-load - PJM metered hourly load
PJM's settlement-quality hourly load for 30 load areas and the RTO, from the distribution companies' own meters, filled in company by company over the days after — the RTO row is a running total until every company has reported.
every 3 h, a few days behind · 1h rows31 entitiespjm-load-metered - PJM preliminary hourly load
PJM's preliminary hourly load for ten areas, integrated from telemetry the day after — between the five-minute reading and the metered settlement load.
every 3 h, a day behind · 1h rows10 entitiespjm-load-prelim - PJM five-minute load forecast
PJM's load forecast for the next two hours in five-minute steps, for the zones, the three regions and the RTO, re-issued every five minutes and kept as vintages — so a forecast can be scored against what it said at the time.
every 5 min, two hours ahead · 5m rows25 entitiespjm-load-forecast-5min - PJM seven-day load forecast
PJM's hourly load forecast for the next seven days, for the zones, the three regions and the RTO.
twice hourly, a week ahead · 1h rows25 entitiespjm-load-forecast-7day
Generation
- PJM fuel mix
What generated across PJM each hour, by fuel — gas, nuclear, coal, hydro, wind, solar, storage, oil and the rest — with each one's share of the total.
hourly, :15 past · 1h rows10 entitiespjm-fuel-mix - PJM wind output
Wind output across the whole of PJM, a SCADA reading every fifteen seconds, kept at that grain.
every 15 s · 15s rows1 entitypjm-wind-gen - PJM solar output
Metered utility-scale solar output across the whole of PJM every five minutes.
every 5 min · 5m rows1 entitypjm-solar-gen - PJM wind and solar forecast
PJM's hourly wind forecast for the next 46 hours, re-issued every ten minutes, and its hourly solar forecast for the next four days — utility-scale and behind-the-meter separately — re-issued hourly.
every 10 min, two days ahead · 1h rows3 entitiespjm-wind-solar-forecast - PJM five-minute wind and solar forecast
PJM's wind and solar forecasts for the next six hours in five-minute steps — solar utility-scale and behind-the-meter separately — re-issued every ten minutes.
every 10 min, six hours ahead · 5m rows3 entitiespjm-wind-solar-forecast-5min
Grid
- PJM tie flows
Actual against scheduled flow every five minutes on each of PJM's ties with its neighbours — New York, the MISO seams, TVA, Duke and the rest — plus the MISO net and the RTO net.
every 5 min · 5m rows21 entitiespjm-tie-flows - PJM area control error
How far PJM is from its interchange schedule and frequency obligation at the instant, in megawatts, every fifteen seconds — the number the control room regulates to zero.
every 15 s · 15s rows1 entitypjm-ace - PJM hourly interchange by tie
Actual, scheduled and inadvertent flow over each of PJM's ties with its neighbours, hour by hour — the record PJM keeps indefinitely behind the five-minute tie flows it keeps thirty days.
every 2 h, hours behind · 1h rows20 entitiespjm-interchange-hourly - PJM generation outages, week ahead
PJM's generation outages for today and the next six days, for the RTO and its two regions, split into planned, maintenance and forced — issued daily and kept as vintages.
daily, a week ahead · 1d rows3 entitiespjm-gen-outages - PJM generation outage forecast, ninety days
PJM's forecast of generation out of service for each of the next ninety days, for the RTO, the west and the rest — issued daily and kept as vintages.
daily, ninety days ahead · 1d rows3 entitiespjm-gen-outage-forecast - PJM performance assessment intervals
Which five-minute intervals PJM flags as Performance Assessment Intervals — the emergencies in which capacity resources are scored on whether they delivered — for the RTO and the active subzone, as PJM first flags them.
every 10 min, one row per interval · 5m rows1 entitypjm-pai-intervals - PJM transfer interfaces
Actual flow against the transfer limit on the eleven interfaces PJM watches for stability — the eastern, central and western reactive interfaces, AP South, Bedington–Black Oak and the seams — every five minutes.
every 5 min · 5m rows11 entitiespjm-transfer-interfaces
Ancillary
- PJM regulation prices
The five-minute regulation clearing price for the PJM RTO, split into its capability and performance components, with the megawatts cleared against the requirement.
every 5 min · 5m rows1 entitypjm-regulation-prices - PJM dispatched reserves
Synchronized, primary and thirty-minute reserve every five minutes: the megawatts the dispatch held against each requirement, the clearing price, and whether PJM called the interval short.
every 5 min · 5m rows3 entitiespjm-dispatched-reserves - PJM real-time ancillary market results
PJM's settled real-time results for regulation, synchronized, primary and thirty-minute reserve, every five minutes, for the RTO and the Mid-Atlantic/Dominion subzone: clearing prices, requirements and the megawatts behind them.
every 5 min, posted ~3 days late · 5m rows4 entitiespjm-rt-reserve-results - PJM day-ahead ancillary market results
PJM's day-ahead results for synchronized, primary and thirty-minute reserve, hourly, for the RTO and the Mid-Atlantic/Dominion subzone: clearing prices, requirements and the megawatts behind them, posted with tomorrow's market.
daily, for tomorrow · 1h rows3 entitiespjm-da-reserve-results - PJM operational reserves
The megawatts of synchronized, primary and thirty-minute reserve PJM is holding against each requirement, as the control room sees them every fifteen seconds, for the RTO and the Mid-Atlantic/Dominion sub-zone.
every 15 s · 15s rows13 entitiespjm-operational-reserves
Worth knowing first
- PJM's Eastern Prevailing Time observes daylight saving; its rows carry UTC as well. Every timestamp Dryos serves is UTC.
- A node is one string across all four LMP streams: the substation padded to eight characters, then the voltage — a fixed-width relic, checked against PJM's pricing-node master for every row read.
- The real-time feed is unverified in its name and in fact; the verified copy posts the next business day. 28 of 14,449 nodes differed on the interval checked, most by rounding.
Read it
Public, read-only, no key and no sign-up. Every stream answers the same way.
Every stream in the catalogue
curl "https://api.dryos.ai/v1/datasets"The newest rows at WESTERN HUB
curl "https://api.dryos.ai/v1/datasets/pjm-realtime-lmp/query?node=WESTERN%20HUB&limit=12"Or point an AI agent at all of it
claude mcp add --transport http dryos https://api.dryos.ai/mcpFull parameters are on the API reference; every client's setup is on the MCP server page.