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

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ercot-public-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

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