Overview

Which transmission facilities bound in ERCOT's real-time market and what each one cost, one row per interval and constraint. 8.42M rows, 2014-05 to now. Columns: event_time, constraint_name, shadow_price_usd_mwh, plus contingency (the outage the limit is evaluated against), from_station and to_station (the ends of the constrained element), limit_mw and flow_mw. The shadow price is the marginal cost of the binding limit — what the market would have saved from one more megawatt of capability on that element. This is the table that answers WHY congestion appeared; a price spread between two locations shows that they separated but not which facility separated them.

Use with MCP

This table is readable two ways, over the same guarded boundary. Over HTTP: POST /api/v1/datasets/ercot_constraints_rt/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.

Schema8

Column
Type
event_timeDateTime64(6, 'UTC')
constraint_nameLowCardinality(String)
contingencyLowCardinality(String)
from_stationLowCardinality(Nullable(String))
to_stationLowCardinality(Nullable(String))
shadow_price_usd_mwhNullable(Float64)
limit_mwNullable(Float64)
flow_mwNullable(Float64)

Sample rows

event_timeconstraint_namecontingencyfrom_stationto_stationshadow_price_usd_mwhlimit_mwflow_mw
2026-08-28 01:55:25.000000OB_WAP98_ASOBWAP5WAPOB
2026-08-28 01:55:25.000000NUECES_WHITE_2_1SMAYWHI8NUECES_BWHITE_PT
2026-08-28 01:55:25.000000NELRIOBASE CASE
2026-08-28 01:55:25.000000MAGRUD_VICTOR2_1XVIC89VICTORIAMAGRUDER485.62305
2026-08-28 01:55:25.000000I_DUPS_RESNIK3_3SI_2RES8I_DUPSWRESNIK98.742
2026-08-28 01:55:25.000000E_PATABASE CASE
2026-08-28 01:55:25.000000E_PASPBASE CASE
2026-08-28 01:55:25.000000COTULL_REVEIL1_1DFOWSMG5REVEILLECOTULLA
2026-08-28 01:55:25.000000CARIZOSPG_BEVO_1XASH89BEVOCARIZOS
2026-08-28 01:55:25.000000BRUNI_69_1SLAQLOB8BRUNIBRUNI
2026-08-28 01:55:25.000000BRUNI_69_1DFOAVLO5BRUNIBRUNI
2026-08-28 01:55:25.000000BI_WAP50_ADWAP_JN5WAPBI
2026-08-28 01:50:25.000000OB_WAP98_ASOBWAP5WAPOB
2026-08-28 01:50:25.000000NUECES_WHITE_2_1SMAYWHI8NUECES_BWHITE_PT
2026-08-28 01:50:25.000000NELRIOBASE CASE
2026-08-28 01:50:25.000000MAGRUD_VICTOR2_1XVIC89VICTORIAMAGRUDER528.40137
2026-08-28 01:50:25.000000I_DUPS_RESNIK3_3SI_2RES8I_DUPSWRESNIK91.58741
2026-08-28 01:50:25.000000E_PATABASE CASE
2026-08-28 01:50:25.000000E_PASPBASE CASE
2026-08-28 01:50:25.000000COTULL_REVEIL1_1DFOWSMG5REVEILLECOTULLA
2026-08-28 01:50:25.000000CARIZOSPG_BEVO_1XASH89BEVOCARIZOS
2026-08-28 01:50:25.000000BRUNI_69_1SLAQLOB8BRUNIBRUNI
2026-08-28 01:50:25.000000BRUNI_69_1DFOAVLO5BRUNIBRUNI18.54297
2026-08-28 01:50:25.000000BI_WAP50_ADWAP_JN5WAPBI
2026-08-27 22:55:19.000000WAPWLY72_ADBLW2JC5WLYWAP

Coverage

99.7% complete15 gap days4,488 days with data
Show coverage history ▾
Coverage: 99.7%Days with data: 4,488Gaps: 15
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
gaplessmore