Skip to content

Using the API

Retrieving a list of available EMIL Products

Users must provide a valid Subscription Key and your Authentication (ID) Token in all HTTP requests to the API. Without these credentials all calls will be rejected. See Registration and Authentication for further details.

List of available EMIL Products

Below are some examples for accessing the API using the with either Postman, Curl, JavaScript, Java, or Python.

    1. On the Authorization tab, set the Type as “Bearer Token” and in the Token field enter the id_token obtained previously.
    2. On the Headers tab, provide the subscription key: Ocp-Apim-Subscription-Key and enter your subscription key in the value field.

    1. Add the Subscription Key and ID Token to cURL command.
      curl
      1
      2
      3
      curl --location --request GET 'https://api.ercot.com/api/public-reports' \
      --header 'Ocp-Apim-Subscription-Key: 4ce1f2...' \
      --header 'Authorization: Bearer eyJhbGc...'
      
      response
      1
      {"_embedded":{"products":[{"emilId":"NP3-233-CD","name":"Hourly Resource Outage Capacity","description":"This report includes all approved and accepted Planned, Forced and Maintenance Resource outages EXCEPT Resource outages for retirement of old equipment, seasonal mothballed (during the outaged season), and mothballed. The outage capacity in this report reflects aggregated ACTIVE resource outaged capacity by Load Zone sourced from the Outage Scheduler (OS) for the next 168 hours and is published every hour. Columns 'C\\' - 'F' consists of the aggregated outaged capacity of ALL the ACTIVE resource outages by Load Zone in the OS for each hour excluding the outages stated above, IRR resource outages, and new equipment outages. Columns 'G' - 'J' consists of the aggregated outaged capacity of ALL the ACTIVE IRR resource outages by Load Zone in the OS for each hour excluding the outages stated above, outages in columns 'C' - 'F' and new equipment outages. Columns 'K' - 'N' consists of the aggregated outaged capacity of ALL the ACTIVE New Equipment Energization resource outages by Load Zone. Note that this report contains OS data only and does not look at telemetry. It includes both entire resource outage and de-rates.","status":"Active","reportTypeId":13103,"audience":"Public","generationFrequency":"Chron - Hourly","securityClassification":"Public","lastUpdated":"2021-06-04","firstRun":"2013-10-20","eceii":null,"channel":"Public, EWS","userGuide":null,"postingType":"Report","market":"Nodal","extractSubscriber":null,"xsdName":"Current Day Reports XSD","misPostingLocation":null,"certificateRole":null,"fileType":"zip, csv, xml","ddlName":null,"misDisplayDuration":31,"archiveDuration":2555,"notificationType":null,"contentType":"DATA","downloadLimit":1000,"lastPostDatetime":"2024-06-12T23:01:25","protocolRules":{"NP3.2.3(1)(b)":"https://www.ercot.com/mp/data-products?protocolRules=NP3.2.3(1)(b)"},"artifacts":[{"reportTypeId":13103,"displayName":"Hourly Resource Outage Capacity","_links":{"endpoint":{"href":"https://api.ercot.com/api/public-reports/np3-233-cd/hourly_res_outage_cap"}}}],"_links":{"self":{"href":"https://api.ercot.com/api/public-reports/np3-233-cd"},"parent":{"href":"https://api.ercot.com/api/public-reports"},"archive":{"href":"https://api.ercot.com/api/public-reports/archive/np3-233-cd"}}},...
      
    1. Define an Ocp-Apim-Subscription-Key header and add your Subscription Key to this value.
    2. Add the ID Token to the "authorization": "Bearer" header of your API requests.
      javascript
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      const SUBSCRIPTION_KEY = "your_subscription_key";
      const ID_TOKEN = "acquired_id_token";
      fetch("https://api.ercot.com/api/public-report/", {
          "headers": {
              "authorization": "Bearer " + ID_TOKEN,
              "Ocp-Apim-Subscription-Key”: SUBSCRIPTION_KEY,
          },
          "method": "GET",
      }).then(response => response.json())
      .then(data => console.log(data));
      
      response
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      {
          "_embedded": {
              "products": [
                  {
                      "emilId": "NP3-233-CD",
                      "name": "Hourly Resource Outage Capacity",
                      "description": "This report includes all approved and accepted Planned, Forced and Maintenance Resource outages...",
                      "status": "Active",
                      "reportTypeId": 13103,
                      "audience": "Public",
                      "generationFrequency": "Chron - Hourly",
                      "securityClassification": "Public",
                      "lastUpdated": "2021-06-04",
                      "firstRun": "2013-10-20",
                      "eceii": null,
                      "channel": "Public, EWS",
                      "userGuide": null,
                      "postingType": "Report",
                      "market": "Nodal",
                      "extractSubscriber": null,
                      "xsdName": "Current Day Reports XSD",
                      "misPostingLocation": null,
                      "certificateRole": null,
                      "fileType": "zip, csv, xml",
                      "ddlName": null,
                      "misDisplayDuration": 31,
                      "archiveDuration": 2555,
                      "notificationType": null,
                      "contentType": "DATA",
                      "downloadLimit": 1000,
                      "lastPostDatetime": "2024-06-13T17:01:41",
                      "protocolRules": {
                          "NP3.2.3(1)(b)": "https://www.ercot.com/mp/data-products?protocolRules=NP3.2.3(1)(b)"
                      },
                      "artifacts": [
                          {
                              "reportTypeId": 13103,
                              "displayName": "Hourly Resource Outage Capacity",
                              "_links": {
                                  "endpoint": {
                                      "href": "https://api.ercot.com/api/public-reports/np3-233-cd/hourly_res_outage_cap"
                                  }
                              }
                          }
                      ],
                      "_links": {
                          "self": {
                              "href": "https://api.ercot.com/api/public-reports/np3-233-cd"
                          },
                          "parent": {
                              "href": "https://api.ercot.com/api/public-reports"
                          },
                          "archive": {
                              "href": "https://api.ercot.com/api/public-reports/archive/np3-233-cd"
                          }
                      }
                  }
              ]
          }
      }
      
    1. Define an Ocp-Apim-Subscription-Key header and add your Subscription Key to this value.
    2. Add the ID Token to the "authorization": "Bearer" header of your API requests.
      java
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      final String PRODUCT_URI = "https://api.ercot.com/api/public-reports";
      HttpRequest productRequest = HttpRequest.newBuilder()
          .uri(URI.create(PRODUCT_URI))
          .GET()
          .header("Authorization", "Bearer " + bearerToken)
          .header("Ocp-Apim-Subscription-Key", SUBSCRIPTION_KEY)
          .build();
      
      HttpResponse<String> productResponse = httpClient.send(productRequest, HttpResponse.BodyHandlers.ofString());
      System.out.println(productResponse.body());
      
      response
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      {
          "_embedded": {
              "products": [
                  {
                      "emilId": "NP3-233-CD",
                      "name": "Hourly Resource Outage Capacity",
                      "description": "This report includes all approved and accepted Planned, Forced and Maintenance Resource outages...",
                      "status": "Active",
                      "reportTypeId": 13103,
                      "audience": "Public",
                      "generationFrequency": "Chron - Hourly",
                      "securityClassification": "Public",
                      "lastUpdated": "2021-06-04",
                      "firstRun": "2013-10-20",
                      "eceii": null,
                      "channel": "Public, EWS",
                      "userGuide": null,
                      "postingType": "Report",
                      "market": "Nodal",
                      "extractSubscriber": null,
                      "xsdName": "Current Day Reports XSD",
                      "misPostingLocation": null,
                      "certificateRole": null,
                      "fileType": "zip, csv, xml",
                      "ddlName": null,
                      "misDisplayDuration": 31,
                      "archiveDuration": 2555,
                      "notificationType": null,
                      "contentType": "DATA",
                      "downloadLimit": 1000,
                      "lastPostDatetime": "2024-06-13T17:01:41",
                      "protocolRules": {
                          "NP3.2.3(1)(b)": "https://www.ercot.com/mp/data-products?protocolRules=NP3.2.3(1)(b)"
                      },
                      "artifacts": [
                          {
                              "reportTypeId": 13103,
                              "displayName": "Hourly Resource Outage Capacity",
                              "_links": {
                                  "endpoint": {
                                      "href": "https://api.ercot.com/api/public-reports/np3-233-cd/hourly_res_outage_cap"
                                  }
                              }
                          }
                      ],
                      "_links": {
                          "self": {
                              "href": "https://api.ercot.com/api/public-reports/np3-233-cd"
                          },
                          "parent": {
                              "href": "https://api.ercot.com/api/public-reports"
                          },
                          "archive": {
                              "href": "https://api.ercot.com/api/public-reports/archive/np3-233-cd"
                          }
                      }
                  }
              ]
          }
      }
      
    1. Define an Ocp-Apim-Subscription-Key header and add your Subscription Key to this value.
    2. Add the ID Token to the "authorization": "Bearer" header of your API requests.
      python
      1
      2
      3
      4
      5
      PRODUCTS_URL = "https://api.ercot.com/api/public-reports"
      headers = {"Authorization": "Bearer " + access_token, "Ocp-Apim-Subscription-Key": SUBSCRIPTION_KEY}
      product_response = requests.get(PRODUCTS_URL, headers=headers)
      
      print (product_response.text)
      
      response
       1
       2
       3
       4
       5
       6
       7
       8
       9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      23
      24
      25
      26
      27
      28
      29
      30
      31
      32
      33
      34
      35
      36
      37
      38
      39
      40
      41
      42
      43
      44
      45
      46
      47
      48
      49
      50
      51
      52
      53
      54
      55
      56
      57
      58
      59
      60
      {
          "_embedded": {
              "products": [
                  {
                      "emilId": "NP3-233-CD",
                      "name": "Hourly Resource Outage Capacity",
                      "description": "This report includes all approved and accepted Planned, Forced and Maintenance Resource outages...",
                      "status": "Active",
                      "reportTypeId": 13103,
                      "audience": "Public",
                      "generationFrequency": "Chron - Hourly",
                      "securityClassification": "Public",
                      "lastUpdated": "2021-06-04",
                      "firstRun": "2013-10-20",
                      "eceii": null,
                      "channel": "Public, EWS",
                      "userGuide": null,
                      "postingType": "Report",
                      "market": "Nodal",
                      "extractSubscriber": null,
                      "xsdName": "Current Day Reports XSD",
                      "misPostingLocation": null,
                      "certificateRole": null,
                      "fileType": "zip, csv, xml",
                      "ddlName": null,
                      "misDisplayDuration": 31,
                      "archiveDuration": 2555,
                      "notificationType": null,
                      "contentType": "DATA",
                      "downloadLimit": 1000,
                      "lastPostDatetime": "2024-06-13T17:01:41",
                      "protocolRules": {
                          "NP3.2.3(1)(b)": "https://www.ercot.com/mp/data-products?protocolRules=NP3.2.3(1)(b)"
                      },
                      "artifacts": [
                          {
                              "reportTypeId": 13103,
                              "displayName": "Hourly Resource Outage Capacity",
                              "_links": {
                                  "endpoint": {
                                      "href": "https://api.ercot.com/api/public-reports/np3-233-cd/hourly_res_outage_cap"
                                  }
                              }
                          }
                      ],
                      "_links": {
                          "self": {
                              "href": "https://api.ercot.com/api/public-reports/np3-233-cd"
                          },
                          "parent": {
                              "href": "https://api.ercot.com/api/public-reports"
                          },
                          "archive": {
                              "href": "https://api.ercot.com/api/public-reports/archive/np3-233-cd"
                          }
                      }
                  }
              ]
          }
      }
      



Retrieving a list of reports within an EMIL Product

Coming Soon


Retrieving data from a EMIL Product Artifact

Coming Soon


Getting history archives for an EMIL Product

Coming Soon