NYISO logo

NYISO Real-Time Binding Constraints

Which transmission facilities bound in NYISO's real-time market and what each one cost, one row per interval and constraint.

Native record
constraint x dispatch interval
5-minute publication cadence
Evidence
Observed market data
Published observations from the named source
Time basis
Interval-start records
UTC · event_time

Overview

5.87M rows, 2001-06 to now. Columns: event_time, constraint_name, shadow_price_usd_mwh, plus contingency. 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.

Query contract

A row means this constraint was binding in this interval. Absence of a row means it was not binding, not that it does not exist.

Analysis rules

  • Rank constraints by summed or averaged shadow price over a window, and say which — a constraint that binds rarely but hard ranks differently from one that binds constantly and cheaply.
  • Count binding INTERVALS, not rows, when describing how often a constraint bound.

Related analysis

  • explaining why a location's congestion component moved in an interval · align on event_time; the constraint explains the market-wide congestion pattern, not one location's share of it

Interpretation

  • A shadow price is the marginal value of relaxing the limit. It is not the amount of power that flowed, not a measure of how loaded the line was, and not a dollar cost anyone paid.
  • This table names the binding element. Attributing a specific location's congestion to a specific constraint additionally needs a shift factor, which is not published here.

Access

Query from your own tools

Use the guarded HTTP endpoint directly, or connect an MCP client and load the dataset contract with describe_data before calling query_data.

HTTP endpoint
POST /api/v1/datasets/nyiso_constraints_rt/query

Need the full history of this dataset in Snowflake, Databricks or your own storage? Data services delivers it on a schedule.

Schema4

Column
Type
event_timeDateTime64(6, 'UTC')
constraint_nameLowCardinality(String)
contingencyLowCardinality(String)
shadow_price_usd_mwhNullable(Float64)

Sample data

event_timeconstraint_namecontingencyshadow_price_usd_mwh
2026-10-12 06:40:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 06:40:00.000000E179THST 138 HELLGATE 138 1BASE CASE-0.02
2026-10-12 06:35:00.000000E179THST 138 HELLGATE 138 1BASE CASE-0.02
2026-10-12 06:35:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 06:30:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 06:25:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 06:25:00.000000GOUDEY 115 LAUREL L 115 1E.TOWANDA-HILLSIDE_230_70&PAR-159.93
2026-10-12 06:20:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 06:15:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 06:10:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 06:05:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 06:05:00.000000FARRAGUT 138 HUDS_AVE 138 1BASE CASE-0.02
2026-10-12 06:00:00.000000FARRAGUT 138 HUDS_AVE 138 1BASE CASE-0.02
2026-10-12 05:55:00.000000FARRAGUT 138 HUDS_AVE 138 1BASE CASE-0.02
2026-10-12 05:50:00.000000FARRAGUT 138 HUDS_AVE 138 1BASE CASE-0.02
2026-10-12 05:45:00.000000FARRAGUT 138 HUDS_AVE 138 1BASE CASE-0.02
2026-10-12 05:45:00.000000GOUDEY 115 LAUREL L 115 1E.TOWANDA-HILLSIDE_230_70&PAR-185.5
2026-10-12 05:40:00.000000FARRAGUT 138 HUDS_AVE 138 1BASE CASE-0.02
2026-10-12 05:40:00.000000GOUDEY 115 LAUREL L 115 1E.TOWANDA-HILLSIDE_230_70&PAR-1000
2026-10-12 05:35:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 05:35:00.000000FARRAGUT 138 HUDS_AVE 138 1BASE CASE-0.02
2026-10-12 05:35:00.000000GOUDEY 115 LAUREL L 115 1E.TOWANDA-HILLSIDE_230_70&PAR-258.69
2026-10-12 05:30:00.000000FARRAGUT 138 HUDS_AVE 138 1BASE CASE-0.02
2026-10-12 05:30:00.000000E179THST 138 SHERMCRK 138 1BASE CASE0.02
2026-10-12 05:25:00.000000FARRAGUT 138 HUDS_AVE 138 1BASE CASE-0.02

Coverage

99.7% complete32 gap days9,221 days with data
Show coverage history
Coverage: 99.7%Days with data: 9,221Gaps: 32
2026
2025
2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011
2010
2009
2008
2007
2006
2005
2004
2003
2002
2001
gaplessmore