Energy Price References API

User guide for the Intratec Energy Price References API, covering authentication, endpoints, query parameters, examples, rate limits, and reference tables.

About the API

The Intratec Energy Price References API provides direct access to the prices released under the Intratec Energy Price References subscription.

This RESTful API provides a simple interface for a timely and efficient retrieval of the most current data available.

The results from Energy Price References API data queries will return in JavaScript Object Notation (JSON) format, that can be easily plugged into the formatting file or graphic of choice.

API Core Concepts

Price Assessment

Price Assessment is a specific monthly time-series comprising prices since Jan/2007 for a given energy commodity in a location under specific terms. A price assessment comprises historical values and price forecasts when available.

Price assessment description example: "Crude Oil (WTI), export spot price, fob, Cushing"

Price Assessment Code

Each price assessment is associated with a unique identifier code, which is used to retrieve the price assessment data in the Intratec Energy Price References API.

Price assessment code example: "68520-8-1"

Intratec team continuously works to add new price assessments to Intratec Energy Price References. New price assessments may approach the same energy commodity and location, but different negotiation terms, thus having a different code.

If a price series basis significantly changes, the price assessment will be discontinued, and another price assessment will be created with a new assessment code.

There can be, however, changes that will not result in the creation of a new assessment, such as specific data points revision or minor value revisions throughout the entire series due to methodology adjustments.

Price Data Request

A price data request is the act of requesting data from a price assessment through the API. It is important to note that a price data request is different from an API call.

One API call may include multiple price data requests. In a single API call, the user can specify multiple price assessment codes to retrieve data from various price assessments.

Understanding the difference between a price data request and an API call is key, as some API limits are based on the number of price data requests rather than the number of API calls.

Available Datasets

Intratec Energy Price References are accessible via an annual subscription in which subscribers have access to trustworthy and independent cost data of key energy commodities in 33 strategic countries.

The API will only access datasets included in the user's subscription. The list of available price assessments under the user's subscription can be retrieved via Intratec Energy Price References API.

Data Releases

New data points are released monthly according to the schedule provided at Intratec Data Release Schedule.

Intratec recommends scheduling the client application to query values once a month on a predefined date.

For selecting the date that best fits the company's needs, mind the Scheduled Maintenance section.

Getting Started with APIs

This section gives the basic information needed to start working with the Intratec Energy Price References API.

The use of Intratec Energy Price References API is subject to having a user set with the Developer role. This user will be the only one with access to the API. Learn how to set user with the Developer role.

Available APIs

The following public APIs are available for use to authorized accounts:

Access Token API

This API is used to authenticate the calling service. It will also generate an access token needed when calling other Intratec APIs for authorization purposes. The access token is a JSON Web Token (JWT).

This API comprises a single operation:

Method Operation URL
[POST] Access Token https://intratec.azure-api.net/access_token/v1

Intratec Energy Price References API

The base URL for the Energy Price References API is https://intratec.azure-api.net/energy_price

It comprises the following operations:

Method Operation Path Description
[GET] Series Info /v1/export/series List available price assessments
[GET] Series Values /v1/export/series/{code} Retrieve historical data for the past year, current and forecast prices
[GET] Series Values History /v1/export/series_hist/{code} Retrieve historical data for multiple years, current and forecast prices
[GET] Data Limits /v1/data_limits Check query limits

API Flow

Follow the steps below to use the Intratec Energy Price References API effectively. The steps cover everything from authentication to making requests. Adhering to this structured approach guarantees optimal performance and reliable access to data.

Step 1: Generate an Access Token

Use the Access Token API to authenticate the account credentials and generate the access token needed to use the Intratec Energy Price References API.

Step 2: List Available Price Assessments

Use the Series Info operation from Intratec Energy Price References API to list the available price assessments and their respective metadata. Additionally, the list includes the price assessment codes, which are required to query prices.

The price assessment metadata comprises, for instance, complete description; currency and unit of measurement in which data is displayed by default; other available currencies and units of measurement for retrieving data; and availability of data forecasts. It also informs whether historical data has been revised.

This operation also provides the date of the most recent update to the price assessment data. This information can be used to determine if new price data is available and whether new price data requests should be made.

Step 3: Query Price Assessment Values

After selecting the price assessment codes, use the Intratec Energy Price References API to query the price assessment values. There are two different operations for that purpose:

Series Values: This operation retrieves prices for the most recently concluded month, as well as for the previous 12 months, totaling 13 months of historical data. Additionally, it provides price forecasts for the subsequent 6 months (when provided by Intratec). It is advisable to use this operation after each new data release to ensure access to the latest information, as it is generally faster than Series Values History.

Series Values History: This operation's availability is subject to the Data Automation Option of the API plan. It retrieves monthly historical prices up to the most recently concluded month. It also includes price forecasts for the subsequent 6 months when available. It should be used when initially setting up data in the client application or when historical data is reviewed by Intratec.

Both operations support up to 40 price assessment codes and customization of both currency and unit of measurement for data display.

Query Limits

Understanding the query limits of the API is essential to efficiently manage usage and avoid interruptions. This section outlines the daily and monthly quotas for various operations, as well as specific restrictions on price data series requests based on the Data Automation Option.

Daily Quotas

All operations performed using the API are subject to a daily quota of 8,000 requests.

Monthly Quotas

In addition to the daily quota, some operations have additional monthly limits. The "Series Info" operation is limited to 10,000 requests per month.

The operations Series Values and Series Values History are also restricted based on the number of price data requests that can be made per dataset in a month. This limit is based on the selected Data Automation Option.

All monthly quotas are reset when new data are released at the beginning of each month, according to the Intratec Release Schedule. Attempting to request more codes than the plan allows will result in an error.

Monitoring Usage

To help stay within the plan's limits, the user can monitor the usage via the Data Limits operation. This will provide information on the current data series requests usage, as shown in the Examples section.

Handling Quota Exceedances

If the user exceeds the monthly quota or requests more price data series than allowed by the plan, the user will receive an error response indicating the quota limit has been reached. Here are some best practices to manage and optimize the usage:

  • Monitor Usage via Data Limits operation: Regularly check the usage to stay within the limits.
  • Data Automation Option: If the usage frequently exceeds the monthly limits, consider upgrading the plan to accommodate higher demand.

By understanding and adhering to these query limits, users can ensure seamless and uninterrupted access to the API services.

Rate limiting also applies to API requests. Users can make up to 10 requests per second per operation.

API Sandbox

The Energy Price References API Sandbox environment enables developers to use the API without any monthly restrictions on the number of requested codes.

The API Sandbox comprises different operations that will process requests exactly like the actual API providing responses with the exact same format, allowing developers to make tests and configure their applications.

The monthly prices returned by the API Sandbox are dummy negative values.

The API Sandbox is subject to the following daily quotas:

  • Sandbox – Series Info: 8,000 requests/day
  • Sandbox – Series Values: 16,000 requests/day
  • Sandbox – Series Values History: 16,000 requests/day

Example API Queries

This section aims to provide simple usage examples of Intratec Energy Price References API. Users can test and use APIs productively in their own instances using a REST API client of choice.

For detailed mapping information and Python implementation examples, please refer to the Developer Portal. Links are provided after each example.

Generating Access Token

To generate this token, the user should send a POST request like the following:

Example Request:

POST https://intratec.azure-api.net/access_token/v1 HTTP/1.1
Host: intratec.azure-api.net
Content-Type: application/json
{"password":"password","username":"john.doe@intratec.us"}

Example Response:

{
    "access_token": "eyJhbGciOiJSUzI1NiIsImtpZCI ... SpvL9ZfVEGwch6Nfg"
}

For detailed data mapping, as well as python and VBA implementation examples, please refer to the developer portal.

Listing Available Price Assessments

To send a request to obtain the available price assessments codes and details.

Example Request:

GET https://intratec.azure-api.net/energy_price/v1/sandbox/export/series HTTP/1.1
Host: intratec.azure-api.net
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI ... SpvL9ZfVEGwch6Nfg

Example Response:

[{
    "area": "Cushing",
    "assessment": "Crude Oil (WTI), export spot price, fob, Cushing",
    "available_currencies": "USD, USD cent, EUR, CNY, JPY, GBP",
    "available_units": "m3, Bbl, l, gal",
    "code": "68520-8-1",
    "commodity": "Crude Oil",
    "coverage": "United States",
    "default_currency": "USD",
    "default_unit": "Bbl",
    "details": "N/A",
    "has_forecast": true,
    "has_preliminary": true,
    "last_available_final": "2024-03-01",
    "location": "United States",
    "product": "Energy Price References",
    "remark_1": "lag: 0",
    "remark_2": "N/A",
    "series_hist_changed": false,
    "specification": "blends of West Texas Intermediate (WTI) type light sweet crude, sulfur content < 0.42 wt%, gravity between 37-42 API",
    "updated_at": "2024-04-09"
},
...
]

For detailed data mapping, as well as python and VBA implementation examples, please refer to the developer portal.

Querying Values for a Single Price Assessment

Example Request:

GET https://intratec.azure-api.net/energy_price/v1/sandbox/export/series/73470-7-1 HTTP/1.1
Host: intratec.azure-api.net
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI ... SpvL9ZfVEGwch6Nfg

Example Response:

[{
    "assessment": "Crude Oil (WTI), export spot price, fob, Cushing",
    "code": "68520-8-1",
    "coverage": "United States",
    "currency": "USD",
    "product": "Energy Price References",
    "remark_1": "lag: 0",
    "remark_2": "N/A",
    "series_final_values": [{
        "date": "2024-03-01",
        "value": -555
    },
    ...
    {
        "date": "2023-03-01",
        "value": -555
    }],
    "series_forecast_values": [{
        "date": "2024-09-01",
        "value": -555
    },
    ...
    {
        "date": "2024-04-01",
        "value": -555
    }],
    "unit": "Bbl",
    "updated_at": "2024-04-09"
}]

For detailed data mapping, as well as python and VBA implementation examples, please refer to the developer portal.

Querying Values in Another Currency

Specify a different output currency by adding &c= after the code. The example request queries values in British Pounds (GBP) - =9.

Example Request:

GET https://intratec.azure-api.net/energy_price/v1/sandbox/export/series/68520-8-1&c=9 HTTP/1.1
Host: intratec.azure-api.net
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI ... SpvL9ZfVEGwch6Nfg

Example Response:

[{
    "assessment": "Crude Oil (WTI), export spot price, fob, Cushing",
    "code": "68520-8-1",
    "coverage": "United States",
    "currency": "GBP",
    "product": "Energy Price References",
    "remark_1": "lag: 0",
    "remark_2": "N/A",
    "series_final_values": [{
        "date": "2024-03-01",
        "value": -436.7730576532258
    },
    ...
    {
        "date": "2023-03-01",
        "value": -457.07214434032255
    }],
    "series_forecast_values": [{
        "date": "2024-09-01",
        "value": -438.17749741435796
    },
    ...
    {
        "date": "2024-04-01",
        "value": -437.60743065302074
    }],
    "unit": "Bbl",
    "updated_at": "2024-04-09"
}]

For detailed data mapping, as well as python and VBA implementation examples, please refer to the developer portal.

Querying Values in Another Unit of Measurement

Specify a different output unit by adding &u= after the code. The example request queries values in cubic meter (m3) - =2.

Example Request:

GET https://intratec.azure-api.net/energy_price/v1/sandbox/export/series/68520-8-1&u=2 HTTP/1.1
Host: intratec.azure-api.net
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI ... SpvL9ZfVEGwch6Nfg

Example Response:

[{
    "assessment": "Crude Oil (WTI), export spot price, fob, Cushing",
    "code": "68520-8-1",
    "coverage": "United States",
    "currency": "USD",
    "product": "Energy Price References",
    "remark_1": "lag: 0",
    "remark_2": "N/A",
    "series_final_values": [{
        "date": "2024-03-01",
        "value": -3490.844866225164
    },
    ...
    {
        "date": "2023-03-01",
        "value": -3490.844866225164
    }],
    "series_forecast_values": [{
        "date": "2024-09-01",
        "value": -3490.844866225164
    },
    ...
    {
        "date": "2024-04-01",
        "value": -3490.844866225164
    }],
    "unit": "m3",
    "updated_at": "2024-04-09"
}]

For detailed data mapping, as well as python and VBA implementation examples, please refer to the developer portal.

Querying Values for Multiple Price Assessments

Example Request:

GET https://intratec.azure-api.net/energy_price/v1/sandbox/export/series/68520-8-1,071192-8-1 HTTP/1.1
Host: intratec.azure-api.net
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI ... SpvL9ZfVEGwch6Nfg

Example Response:

[{
    "assessment": "Crude Oil (WTI), export spot price, fob, Cushing",
    "code": "68520-8-1",
    "coverage": "United States",
    "currency": "USD",
    "product": "Energy Price References",
    "remark_1": "lag: 0",
    "remark_2": "N/A",
    "series_final_values": [...],
    "series_forecast_values": [...],
    "unit": "Bbl",
    "updated_at": "2024-04-09"
}, {
    "assessment": "Gasoline (regular), export spot price, fob, New York Harbor",
    "code": "071192-8-1",
    "coverage": "United States",
    "currency": "USD",
    "product": "Energy Price References",
    ...
}]

For detailed data mapping, as well as python and VBA implementation examples, please refer to the developer portal.

Querying Price Assessment Historical Values

Example Request:

GET https://intratec.azure-api.net/energy_price/v1/sandbox/export/series_hist/68520-8-1 HTTP/1.1
Host: intratec.azure-api.net
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI ... SpvL9ZfVEGwch6Nfg

Example Response:

[{
    "assessment": "Crude Oil (WTI), export spot price, fob, Cushing",
    "code": "68520-8-1",
    "coverage": "United States",
    "currency": "USD",
    "product": "Energy Price References",
    "remark_1": "lag: 0",
    "remark_2": "N/A",
    "series_final_values": [{
        "date": "2024-03-01",
        "value": -555
    },
    ...
    {
        "date": "2014-03-01",
        "value": -555
    }],
    "series_forecast_values": [{
        "date": "2024-09-01",
        "value": -555
    },
    ...
    {
        "date": "2024-04-01",
        "value": -555
    }],
    "unit": "Bbl",
    "updated_at": "2024-04-09"
}]

For detailed data mapping, as well as python and VBA implementation examples, please refer to the developer portal.

Verifying Data Request Limits

To check the total and remaining requests for each subscribed dataset of Series Values and Series Values History operations.

Example Request:

GET https://intratec.azure-api.net/energy_price/v1/data_limits HTTP/1.1
Host: intratec.azure-api.net
Authorization: Bearer eyJhbGciOiJSUzI1NiIsImtpZCI ... SpvL9ZfVEGwch6Nfg

Example Response:

{
    "United States": {
        "remaining_requests": 506,
        "total_requests": 600
    },
    "Germany": {
        "remaining_requests": 590,
        "total_requests": 600
    },
    "China": {
        "remaining_requests": 596,
        "total_requests": 600
    },
    "Japan": {
        "remaining_requests": 545,
        "total_requests": 600
    },
    ...
}

For detailed data mapping, as well as python and VBA implementation examples, please refer to the developer portal.

Scheduled Maintenance

Intratec Energy Price References API goes unavailable during regular maintenance procedures from 6 am to 10 pm (US Central Time) on the following days:

  • 15th day of the month
  • 25th day of the month

On the day when monthly data is released, the API becomes unavailable at 6 am and becomes available again once the new data is released. The deadline for releasing the new data is 10 pm (US Central Time). Users can find the release date in the Intratec Data Release Schedule.

API Versioning

Versioning of Intratec Energy Price References API follows widely accepted concepts to differentiate between breaking and non-breaking changes. In case of breaking changes, the recent API version is still available but marked as deprecated. Deprecated APIs and API versions will be supported for at least 3 months from the date of deprecation. However, we highly recommend that users migrate to the most recent APIs as soon as possible.

Any modifications, improvements and corrections to the API will be documented and published on the Release Notes page.

The following are examples of breaking (incompatible) and non-breaking (also known as "compatible" or "smooth") changes in REST APIs.

Examples of breaking changes:

  • Deleting an operation
  • Deleting or renaming parameters
  • Changing the type of a parameter

Examples of non-breaking changes:

  • Adding an operation
  • Adding a non-mandatory parameter
  • Adding non-mandatory properties to a resource

As APIs do not remain fixed and unchanged within the same API version, API consumers must prepare their client-side implementation to handle non-breaking changes.

Currency Reference

Currency Full Name Currency Short Name Currency ID
United States Dollar USD 1
United States Dollar Cent USD cent 2
Euro EUR 3
Chinese Yuan Renminbi CNY 4
Japanese Yen JPY 5
British Pound Sterling GBP 9

Unit Reference

Unit Full Name Unit Short Name Unit ID
Metric Ton mt 1
Cubic Meter m3 2
Million British Thermal Unit MMBtu 3
Kilowatt Hour kWh 4
Normal Cubic Meter Nm3 5
Kilogram kg 6
Megawatt Hour MWh 7
Oil Barrel Bbl 9
Pound lb 10
Liter l 12
US Liquid Gallon gal 13
Troy Ounce t oz 18
Megajoule MJ 23
Short Ton st 25
Gigajoule GJ 31
Gram g 35