Every API here is available over the APIs.io API and to AI agents over MCP.
{
"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