ERCOT · Pricing
DAM energy sold
Cleared day-ahead sale volumes per settlement point and hour — the supply side of the DAM. Collected from ERCOT MIS (NP4-193).
ercot-dam-energy-solddaily, ~12:35 CT · 1h rows1,049 entitiesWhat is in it
- Updates
- daily, ~12:35 CT · 1h rows
- Entities
- 1,049 entities — HB_NORTH, HB_HOUSTON, LZ_WEST…
- Source
- ERCOT MIS · NP4-193-CD
- Source timezone
- US Central — every timestamp Dryos serves is UTC
- Coverage
- 28 August 2026 to now
- Rows held
- 328,696
- Primary key
- iso, node, interval_start_utc
What it measures
Every value, its unit, and what the source means by it.
- Energy soldMWh
Total DAM energy sold at the point in the hour.
energy_mwh
Columns
Exactly what a request answers with, read from the API rather than written here.
| Column | Type | Description |
|---|---|---|
| interval_start_utcrequired | timestamp | Start of the interval, UTC. Always UTC — ERCOT publishes wall-clock Central with a repeated-hour flag, which is resolved on ingest.e.g. 2026-08-29T14:15:00Z |
| isorequired | string | Publishing ISO.e.g. ERCOT |
| noderequired | string | Settlement point identifier, as published by ERCOT.e.g. HB_HOUSTON |
| energy_mwhrequired | number | Total DAM energy sold at this settlement point in this hour, MWh.e.g. 120.5 |
| source_published_at_utcrequired | timestamp | When ERCOT posted the document this row came from, UTC. For reports republished on a rolling window this is the vintage: the same interval appears once per publication, and the newest is the current view.e.g. 2026-08-29T14:17:01Z |
| collected_at_utcrequired | timestamp | When Dryos collected this row, UTC. Stamped by the platform, not the collector.e.g. 2026-08-29T14:18:02Z |
Read it
Public, read-only, no key and no sign-up. Relative times stay relative, so a URL keeps working.
The newest rows
curl "https://api.dryos.ai/v1/datasets/ercot-dam-energy-sold/query?node=HB_NORTH&limit=12"The catalogue entry — every column, its type and the source
curl "https://api.dryos.ai/v1/datasets/ercot-dam-energy-sold"Full parameters — bucketing, aggregation, filters and search — are on the API reference.
Ask an agent
The same stream through the Model Context Protocol, so Claude, ChatGPT, Cursor or any MCP client can query it directly.
claude mcp add --transport http dryos https://api.dryos.ai/mcpThen ask:
What has Energy sold been at HB_NORTH over the last 24 hours, and when did it peak?
Setup for every client is on the MCP server page.
How this stream is checked
- Pulled straight from ERCOT MIS · NP4-193-CD — no reseller in between — and compared against that file before it is served.
- Null means the source did not report it — never zero.
- A reading lands daily, ~12:35 CT; the interval timestamp is the start of the interval, in UTC.
- ERCOT settles and publishes on US Central time. Every timestamp Dryos serves is UTC.
Related streams
- ERCOT real-time LMPERCOT
Locational marginal prices from the latest SCED run, every ERCOT settlement point.
every 5 min · 5m rows1,118 entitiesercot-realtime-lmp - ERCOT day-ahead hourly LMPERCOT
Hourly cleared prices from the day-ahead market for every ERCOT electrical bus, posted once for the following day.
daily, ~12:35 CT · 1h rows19,312 entitiesercot-dam-lmp-bus - Real-time settlement point pricesERCOT
The 15-minute price settlement actually uses, every ERCOT settlement point — the SCED LMP plus price adders.
every 15 min · 15m rows1,118 entitiesercot-rt-spp - DAM settlement point pricesERCOT
Day-ahead hourly settlement point prices for every settlement point, posted once after the DAM run.
daily, ~12:35 CT · 1h rows1,118 entitiesercot-dam-spp - Real-time LMPs by electrical busERCOT
Bus-level prices under the settlement points: ~19,000 electrical buses from every SCED run.
every 5 min · 5m rows19,312 entitiesercot-rt-lmp-bus - Indicative LMPs (RTD look-ahead)ERCOT
Where real-time prices are about to go: RTD's forward intervals for every settlement point, republished each run with every vintage kept.
every 5 min, look-ahead · 5m rows1,118 entitiesercot-indicative-lmp