ERCOT Public Data API

RESTful access to ERCOT Market Information List (EMIL) public data products — 106 documented endpoints spanning real-time and day-ahead locational marginal prices, settlement point prices, SCED system lambda and shadow prices, actual system load by weather and forecast zone, wind and solar power production actuals and forecasts, ancillary service offers and awards, hourly resource outage capacity, and 60-day SCED/DAM disclosure reports, plus historic file archives retained at least seven years. Data is public and free, but every call requires a free self-serve Azure API Management subscription key plus an Azure AD B2C ID token. Rate limited to 30 requests per minute; requests from outside the United States are blocked.

Documentation

Specifications

Other Resources

OpenAPI Specification

ercot-public-data-api-openapi.json Raw ↑
{
    "openapi": "3.0.1",
    "info": {
        "title": "ERCOT Public API Client/Developer Documentation",
        "description": "Client/Developer RESTFul web services documentation for ERCOT Market Information List (EMIL) products.",
        "version": "1.0"
    },
    "servers": [
        {
            "url": "https://api.ercot.com/api/public-reports"
        }
    ],
    "paths": {
        "/{emilId}": {
            "get": {
                "tags": [
                    "EMIL Products"
                ],
                "summary": "Available report artifacts for a specified EMIL product.",
                "description": "Available report artifacts for a specified EMIL product.",
                "operationId": "getProduct",
                "parameters": [
                    {
                        "name": "emilId",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK The operation completed successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Product"
                                },
                                "example": {
                                    "emilId": "string",
                                    "name": "string",
                                    "description": "string",
                                    "status": "string",
                                    "reportTypeId": 0,
                                    "audience": "string",
                                    "generationFrequency": "string",
                                    "securityClassification": "string",
                                    "lastUpdated": "string",
                                    "firstRun": "string",
                                    "eceii": "string",
                                    "channel": "string",
                                    "userGuide": "string",
                                    "postingType": "string",
                                    "market": "string",
                                    "extractSubscriber": "string",
                                    "xsdName": "string",
                                    "misPostingLocation": "string",
                                    "certificateRole": "string",
                                    "fileType": "string",
                                    "ddlName": "string",
                                    "misDisplayDuration": 0,
                                    "archiveDuration": 0,
                                    "notificationType": "string",
                                    "protocolRules": {},
                                    "links": [
                                        {
                                            "rel": "string",
                                            "href": "string",
                                            "hreflang": "string",
                                            "media": "string",
                                            "title": "string",
                                            "type": "string",
                                            "deprecation": "string",
                                            "profile": "string",
                                            "name": "string"
                                        }
                                    ],
                                    "artifacts": [
                                        {
                                            "reportTypeId": 0,
                                            "displayName": "string",
                                            "endpoint": "string",
                                            "links": [
                                                {
                                                    "rel": "string",
                                                    "href": "string",
                                                    "hreflang": "string",
                                                    "media": "string",
                                                    "title": "string",
                                                    "type": "string",
                                                    "deprecation": "string",
                                                    "profile": "string",
                                                    "name": "string"
                                                }
                                            ]
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request operation failed. The request and/or one or more of its parameters are invalid.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The request operation failed. You do not have access to the requested resource.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "The request operation failed. The requested resource does not exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    }
                }
            }
        },
        "/version": {
            "get": {
                "tags": [
                    "Versioning"
                ],
                "summary": "Retrieve the current version for ERCOT Public API system.",
                "description": "Retrieve the current version for ERCOT Public API system.",
                "operationId": "getVersion",
                "responses": {
                    "200": {
                        "description": "OK The operation completed successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Version"
                                },
                                "example": {
                                    "info": {
                                        "title": "string",
                                        "description": "string",
                                        "version": "string",
                                        "build": "string"
                                    },
                                    "openapi": "string"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request operation failed. The request and/or one or more of its parameters are invalid.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The request operation failed. You do not have access to the requested resource.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "The request operation failed. The requested resource does not exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    }
                }
            }
        },
        "/np6-970-cd/rtd_lmp_node_zone_hub": {
            "get": {
                "tags": [
                    "NP6-970-CD"
                ],
                "summary": "RTD Indicative LMPs by Resource Nodes, Load Zones and Hubs",
                "description": "RTD Indicative LMPs by Resource Nodes, Load Zones and Hubs",
                "operationId": "getData",
                "parameters": [
                    {
                        "name": "RTDTimestampFrom",
                        "in": "query",
                        "description": "Format - yyyy-MM-ddTH24:mm:ss.",
                        "schema": {
                            "type": "string",
                            "format": "yyyy-MM-ddTH24:mm:ss"
                        }
                    },
                    {
                        "name": "RTDTimestampTo",
                        "in": "query",
                        "description": "Format - yyyy-MM-ddTH24:mm:ss.",
                        "schema": {
                            "type": "string",
                            "format": "yyyy-MM-ddTH24:mm:ss"
                        }
                    },
                    {
                        "name": "repeatHourFlag",
                        "in": "query",
                        "description": "Format - true | false.",
                        "schema": {
                            "type": "boolean",
                            "format": "true | false"
                        }
                    },
                    {
                        "name": "intervalIdFrom",
                        "in": "query",
                        "description": "Format - ###.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "intervalIdTo",
                        "in": "query",
                        "description": "Format - ###.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "intervalEndingFrom",
                        "in": "query",
                        "description": "Format - yyyy-MM-ddTH24:mm:ss.",
                        "schema": {
                            "type": "string",
                            "format": "yyyy-MM-ddTH24:mm:ss"
                        }
                    },
                    {
                        "name": "intervalEndingTo",
                        "in": "query",
                        "description": "Format - yyyy-MM-ddTH24:mm:ss.",
                        "schema": {
                            "type": "string",
                            "format": "yyyy-MM-ddTH24:mm:ss"
                        }
                    },
                    {
                        "name": "intervalRepeatHourFlag",
                        "in": "query",
                        "description": "Format - true | false.",
                        "schema": {
                            "type": "boolean",
                            "format": "true | false"
                        }
                    },
                    {
                        "name": "settlementPoint",
                        "in": "query",
                        "description": "Format - abc123.",
                        "schema": {
                            "type": "string",
                            "format": "abc123"
                        }
                    },
                    {
                        "name": "settlementPointType",
                        "in": "query",
                        "description": "Format - abc123.",
                        "schema": {
                            "type": "string",
                            "format": "abc123"
                        }
                    },
                    {
                        "name": "LMPFrom",
                        "in": "query",
                        "description": "Format - ####.###.",
                        "schema": {
                            "type": "number",
                            "format": "####.###"
                        }
                    },
                    {
                        "name": "LMPTo",
                        "in": "query",
                        "description": "Format - ####.###.",
                        "schema": {
                            "type": "number",
                            "format": "####.###"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Format - ###. Page number of returned values in the collection.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "Format - ###. Number of returned items per page.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Format - abc123. Defines field by which to sort the returned resource values.",
                        "schema": {
                            "type": "string",
                            "format": "abc123"
                        }
                    },
                    {
                        "name": "dir",
                        "in": "query",
                        "description": "Format - abc123. Defines sort order of returned values based on the primary business key of the resource.",
                        "schema": {
                            "type": "string",
                            "format": "abc123"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK The operation completed successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Report"
                                },
                                "example": {
                                    "_meta": {
                                        "totalRecords": 0,
                                        "pageSize": 0,
                                        "totalPages": 0,
                                        "currentPage": 0,
                                        "query": {
                                            "parameterCount": 0,
                                            "parameters": {},
                                            "sortedBy": "string"
                                        }
                                    },
                                    "report": {
                                        "reportName": "string",
                                        "reportDisplayName": "string",
                                        "reportId": "string",
                                        "reportEMIL": "string"
                                    },
                                    "fields": [
                                        {
                                            "name": "string",
                                            "label": "string",
                                            "cardinality": 0,
                                            "dataType": "BOOLEAN",
                                            "searchable": true,
                                            "sortable": true,
                                            "hasRange": true
                                        }
                                    ],
                                    "data": {},
                                    "links": [
                                        {
                                            "rel": "string",
                                            "href": "string",
                                            "hreflang": "string",
                                            "media": "string",
                                            "title": "string",
                                            "type": "string",
                                            "deprecation": "string",
                                            "profile": "string",
                                            "name": "string"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request operation failed. The request and/or one or more of its parameters are invalid.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The request operation failed. You do not have access to the requested resource.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "The request operation failed. The requested resource does not exist.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    }
                }
            }
        },
        "/np6-905-cd/spp_node_zone_hub": {
            "get": {
                "tags": [
                    "NP6-905-CD"
                ],
                "summary": "Settlement Point Prices at Resource Nodes, Hubs and Load Zones",
                "description": "Settlement Point Prices at Resource Nodes, Hubs and Load Zones",
                "operationId": "getData_1",
                "parameters": [
                    {
                        "name": "deliveryDateFrom",
                        "in": "query",
                        "description": "Format - yyyy-MM-dd.",
                        "schema": {
                            "type": "string",
                            "format": "yyyy-MM-dd"
                        }
                    },
                    {
                        "name": "deliveryDateTo",
                        "in": "query",
                        "description": "Format - yyyy-MM-dd.",
                        "schema": {
                            "type": "string",
                            "format": "yyyy-MM-dd"
                        }
                    },
                    {
                        "name": "deliveryHourFrom",
                        "in": "query",
                        "description": "Format - ###.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "deliveryHourTo",
                        "in": "query",
                        "description": "Format - ###.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "deliveryIntervalFrom",
                        "in": "query",
                        "description": "Format - ###.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "deliveryIntervalTo",
                        "in": "query",
                        "description": "Format - ###.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "settlementPoint",
                        "in": "query",
                        "description": "Format - abc123.",
                        "schema": {
                            "type": "string",
                            "format": "abc123"
                        }
                    },
                    {
                        "name": "settlementPointType",
                        "in": "query",
                        "description": "Format - abc123.",
                        "schema": {
                            "type": "string",
                            "format": "abc123"
                        }
                    },
                    {
                        "name": "settlementPointPriceFrom",
                        "in": "query",
                        "description": "Format - ####.###.",
                        "schema": {
                            "type": "number",
                            "format": "####.###"
                        }
                    },
                    {
                        "name": "settlementPointPriceTo",
                        "in": "query",
                        "description": "Format - ####.###.",
                        "schema": {
                            "type": "number",
                            "format": "####.###"
                        }
                    },
                    {
                        "name": "DSTFlag",
                        "in": "query",
                        "description": "Format - true | false.",
                        "schema": {
                            "type": "boolean",
                            "format": "true | false"
                        }
                    },
                    {
                        "name": "page",
                        "in": "query",
                        "description": "Format - ###. Page number of returned values in the collection.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "size",
                        "in": "query",
                        "description": "Format - ###. Number of returned items per page.",
                        "schema": {
                            "type": "integer",
                            "format": "###"
                        }
                    },
                    {
                        "name": "sort",
                        "in": "query",
                        "description": "Format - abc123. Defines field by which to sort the returned resource values.",
                        "schema": {
                            "type": "string",
                            "format": "abc123"
                        }
                    },
                    {
                        "name": "dir",
                        "in": "query",
                        "description": "Format - abc123. Defines sort order of returned values based on the primary business key of the resource.",
                        "schema": {
                            "type": "string",
                            "format": "abc123"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK The operation completed successfully.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Report"
                                },
                                "example": {
                                    "_meta": {
                                        "totalRecords": 0,
                                        "pageSize": 0,
                                        "totalPages": 0,
                                        "currentPage": 0,
                                        "query": {
                                            "parameterCount": 0,
                                            "parameters": {},
                                            "sortedBy": "string"
                                        }
                                    },
                                    "report": {
                                        "reportName": "string",
                                        "reportDisplayName": "string",
                                        "reportId": "string",
                                        "reportEMIL": "string"
                                    },
                                    "fields": [
                                        {
                                            "name": "string",
                                            "label": "string",
                                            "cardinality": 0,
                                            "dataType": "BOOLEAN",
                                            "searchable": true,
                                            "sortable": true,
                                            "hasRange": true
                                        }
                                    ],
                                    "data": {},
                                    "links": [
                                        {
                                            "rel": "string",
                                            "href": "string",
                                            "hreflang": "string",
                                            "media": "string",
                                            "title": "string",
                                            "type": "string",
                                            "deprecation": "string",
                                            "profile": "string",
                                            "name": "string"
                                        }
                                    ]
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "The request operation failed. The request and/or one or more of its parameters are invalid.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Exception"
                                },
                                "example": {
                                    "timestamp": "string",
                                    "code": 0,
                                    "status": "string",
                                    "message": "string",
                                    "data": {}
                                }
                            }
                        }
                    },
                    "403": {
                        "description": "The request operation failed. You do not have access to the requested reso

# --- truncated at 32 KB (1571 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ercot/refs/heads/main/openapi/ercot-public-data-api-openapi.json