ERCOT Price Locations
Every ERCOT location that carries a price, as three columns: location_id, name, and kind.
Overview
20,456 rows — bus (19,329), node (1,100), weather_zone (8), zone (8), hub (7), interface (4). This is the dimension the ERCOT price, and where applicable constraint, tables join to, and it is the one place a location's type is decided: resolve "which hubs exist", "is this a zone or a node", or "give me the readable name for this id" here rather than inferring a type from a name prefix. For ERCOT, name equals location_id — the settlement-point name is the identifier. The key is (location_id, kind), not location_id alone: 161 ERCOT names exist as both a settlement point and an electrical bus, and those are separately priced objects. Filter on kind when a name could be either. The same three columns exist for every market, so the equivalent question in another ISO is the same query against that ISO's table.
Query contract
Analysis rules
Interpretation
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.
POST /api/v1/datasets/ercot_locations/queryNeed the full history of this dataset in Snowflake, Databricks or your own storage? Data services delivers it on a schedule.
Schema3
location_idLowCardinality(String)nameLowCardinality(String)kindLowCardinality(String)Sample data
| location_id | name | kind |
|---|---|---|
| 0001 | 0001 | bus |
| 0001DUPV1_ | 0001DUPV1_ | bus |
| 0001HWFG1 | 0001HWFG1 | bus |
| 0001VICTOR | 0001VICTOR | bus |
| 0001_C | 0001_C | bus |
| 0001_EB | 0001_EB | bus |
| 0001_LO | 0001_LO | bus |
| 0002 | 0002 | bus |
| 0002_EB | 0002_EB | bus |
| 0003 | 0003 | bus |
| 0003EB | 0003EB | bus |
| 0003_EB | 0003_EB | bus |
| 0004 | 0004 | bus |
| 0004EB | 0004EB | bus |
| 0004_1 | 0004_1 | bus |
| 0004_EB | 0004_EB | bus |
| 0005 | 0005 | bus |
| 0006 | 0006 | bus |
| 0006B | 0006B | bus |
| 0006EB | 0006EB | bus |
| 0006_PV1 | 0006_PV1 | bus |
| 0007 | 0007 | bus |
| 0007_EB | 0007_EB | bus |
| 0008 | 0008 | bus |
| 0008EB | 0008EB | bus |
Coverage
No time-indexed data — coverage isn’t applicable to this dataset.