Creating Custom Reporting Tools with Energy API: Insights for ESG and Sustainability Teams

Creating Custom Reporting Tools with Energy API: Insights for ESG and Sustainability Teams

Introduction

In today's rapidly evolving energy landscape, organizations are increasingly focused on sustainability and environmental, social, and governance (ESG) metrics. However, accessing reliable and timely energy market data can be a daunting task. Many developers and data engineers find themselves grappling with the complexities of scraping government portals or stitching together disparate data sources, which can lead to inefficiencies and inaccuracies in reporting. This is where Energy API comes into play, offering a unified solution that aggregates wholesale energy market data from trusted sources.

This blog post aims to guide developers and ESG teams in creating custom reporting tools using the Energy API. By leveraging its comprehensive endpoints and normalized data structure, you can streamline your data acquisition process and focus on building impactful applications that drive sustainability initiatives. Whether you're an energy trader, a fintech team, or a utility provider, this post will provide you with the insights needed to harness the power of the Energy API effectively.

Why Energy API

Energy API stands out in the crowded field of energy data providers for several reasons:

  • Unified Data Structure: With Energy API, you gain access to a single REST interface that normalizes data from multiple sources such as OMIE, ENTSO-E, and EIA. This eliminates the need for extensive ETL (Extract, Transform, Load) processes, allowing developers to ship features in hours instead of weeks.
  • Comprehensive Coverage: The API supports over 39 symbols across six commodity categories, including electricity, natural gas, crude oil, coal, carbon allowances, and grid carbon intensity. This breadth of data enables developers to build versatile applications that can cater to various market needs.
  • Real-Time and Historical Data: With endpoints covering spot prices, historical series, and intraday curves, developers can access both real-time and historical data seamlessly. This is crucial for applications that require accurate trend analysis and forecasting.
  • Trusted Data Providers: Energy API aggregates data from reputable sources, ensuring that the information you receive is reliable and up-to-date. This trustworthiness is essential for making informed decisions in the energy market.

Quick Start

To get started with the Energy API, you'll need to familiarize yourself with the base URL and authentication method. The base URL for the API is:

https://energy-api.com/api/v1

Authentication is done via the api_key query parameter. Here’s how to make your first request to retrieve the latest prices for multiple symbols:

curl -G https://energy-api.com/api/v1/latest \
--data-urlencode "symbols=BRENT_CRUDE,TTF_GAS,EUA_CO2" \
--data-urlencode "api_key=YOUR_API_KEY"

The expected JSON response will look like this:

{
"success": true,
"date": "2026-06-11",
"base": "MIXED",
"rates": {
"BRENT_CRUDE": 74.82,
"TTF_GAS": 38.15,
"EUA_CO2": 67.40
},
"dates": {
"BRENT_CRUDE": "2026-06-11",
"TTF_GAS": "2026-06-11",
"EUA_CO2": "2026-06-11"
},
"currencies": {
"BRENT_CRUDE": "USD",
"TTF_GAS": "EUR",
"EUA_CO2": "EUR"
}
}

In this response, the rates object provides the latest prices for each symbol, while the currencies object indicates the currency in which each price is quoted. This structure allows developers to easily parse and utilize the data in their applications.

Core Endpoints

1. GET /latest

This endpoint retrieves the most recent price for one or more symbols.

Key Parameters:

  • symbols (required): A comma-separated list of symbols to retrieve prices for.
  • base (optional): Currency filter for the response.

cURL Example:

curl -G https://energy-api.com/api/v1/latest \
--data-urlencode "symbols=BRENT_CRUDE,TTF_GAS,EUA_CO2" \
--data-urlencode "api_key=YOUR_API_KEY"

JSON Response:

{
"success": true,
"date": "2026-06-11",
"base": "MIXED",
"rates": {
"BRENT_CRUDE": 74.82,
"TTF_GAS": 38.15,
"EUA_CO2": 67.40
},
"dates": {
"BRENT_CRUDE": "2026-06-11",
"TTF_GAS": "2026-06-11",
"EUA_CO2": "2026-06-11"
},
"currencies": {
"BRENT_CRUDE": "USD",
"TTF_GAS": "EUR",
"EUA_CO2": "EUR"
}
}

Field Explanation:

  • success: Indicates whether the request was successful.
  • date: The date of the data retrieved.
  • rates: An object containing the latest prices for each requested symbol.
  • currencies: The currency in which each price is quoted.

2. GET /historical

This endpoint provides prices for all symbols on a specific past date. If the date falls on a non-publishing day, it returns the most recent value before it.

Key Parameters:

  • date (required): The date in YYYY-MM-DD format.
  • symbols (required): A comma-separated list of symbols to retrieve prices for.
  • base (optional): Currency filter for the response.

cURL Example:

curl -G https://energy-api.com/api/v1/historical \
--data-urlencode "date=2025-09-15" \
--data-urlencode "symbols=BRENT_CRUDE,TTF_GAS" \
--data-urlencode "api_key=YOUR_API_KEY"

JSON Response:

{
"success": true,
"date": "2025-09-15",
"base": "MIXED",
"rates": {
"BRENT_CRUDE": 71.45,
"TTF_GAS": 36.20
},
"currencies": {
"BRENT_CRUDE": "USD",
"TTF_GAS": "EUR"
}
}

Field Explanation:

  • success: Indicates whether the request was successful.
  • date: The date for which the historical prices are retrieved.
  • rates: An object containing the historical prices for each requested symbol.
  • currencies: The currency in which each price is quoted.

3. GET /timeseries

This endpoint retrieves historical series between two dates, which is ideal for charting and trend analysis.

Key Parameters:

  • start (required): The start date in YYYY-MM-DD format.
  • end (required): The end date in YYYY-MM-DD format.
  • symbols (required): A comma-separated list of symbols to retrieve prices for.
  • base (optional): Currency filter for the response.

cURL Example:

curl -G https://energy-api.com/api/v1/timeseries \
--data-urlencode "start=2025-01-01" \
--data-urlencode "end=2025-03-31" \
--data-urlencode "symbols=BRENT_CRUDE,TTF_GAS" \
--data-urlencode "api_key=YOUR_API_KEY"

JSON Response:

{
"success": true,
"base": "MIXED",
"start_date": "2025-01-01",
"end_date": "2025-03-31",
"rates": {
"BRENT_CRUDE": {
"2025-01-02": 76.30,
"2025-01-03": 75.90
},
"TTF_GAS": {
"2025-01-02": 46.80,
"2025-01-03": 47.10
}
},
"frequencies": {
"BRENT_CRUDE": "daily",
"TTF_GAS": "daily"
},
"currencies": {
"BRENT_CRUDE": "USD",
"TTF_GAS": "EUR"
}
}

Field Explanation:

  • success: Indicates whether the request was successful.
  • start_date: The start date for the historical series.
  • end_date: The end date for the historical series.
  • rates: An object containing the historical prices for each requested symbol, keyed by date.
  • frequencies: Indicates the frequency of the data (e.g., daily).
  • currencies: The currency in which each price is quoted.

4. GET /fluctuation

This endpoint provides start and end values, absolute change, and percentage change over a specified period.

Key Parameters:

  • start (required): The start date in YYYY-MM-DD format.
  • end (required): The end date in YYYY-MM-DD format.
  • symbols (required): A comma-separated list of symbols to retrieve fluctuation data for.
  • base (optional): Currency filter for the response.

cURL Example:

curl -G https://energy-api.com/api/v1/fluctuation \
--data-urlencode "start=2025-01-01" \
--data-urlencode "end=2025-03-31" \
--data-urlencode "symbols=BRENT_CRUDE,TTF_GAS" \
--data-urlencode "api_key=YOUR_API_KEY"

JSON Response:

{
"success": true,
"fluctuations": {
"BRENT_CRUDE": {
"start_value": 76.30,
"end_value": 75.90,
"change": -0.40,
"change_pct": -0.52
},
"TTF_GAS": {
"start_value": 46.80,
"end_value": 47.10,
"change": 0.30,
"change_pct": 0.64
}
}
}

Field Explanation:

  • success: Indicates whether the request was successful.
  • fluctuations: An object containing fluctuation data for each requested symbol.
  • start_value: The price at the start of the period.
  • end_value: The price at the end of the period.
  • change: The absolute change in price over the period.
  • change_pct: The percentage change in price over the period.

Real-World Use Cases

Here are three concrete examples of how developers can leverage the Energy API to build impactful applications:

  • Price Alert System: Developers can create a price alert system that notifies users when the price of a specific commodity reaches a certain threshold. By utilizing the /latest endpoint, the application can continuously monitor prices and send alerts via email or SMS when conditions are met.
  • ESG Dashboard: An ESG dashboard can be built to visualize carbon intensity and energy consumption data. By querying the /carbon-intensity and /electricity/latest endpoints, developers can provide real-time insights into a company's carbon footprint and energy usage, helping organizations meet their sustainability goals.
  • Cost Calculator: A cost calculator can be developed to estimate monthly energy expenses based on current market prices. By using the /cost-estimate endpoint, developers can allow users to input their expected energy consumption and receive an estimated cost based on the latest prices for their region.

FAQ

How often does the TTF gas price update?

The TTF gas price updates daily, reflecting the most recent market conditions. You can retrieve the latest price using the /latest endpoint.

Can I get historical energy prices going back 5 years?

Yes, the Energy API allows you to access historical prices for various commodities. You can use the /historical and /timeseries endpoints to retrieve data for specific dates or ranges.

Does the API support multiple currencies?

Yes, the Energy API supports multiple currencies. You can specify a currency filter using the base parameter in your requests to receive prices in your desired currency.

Conclusion

In conclusion, the Energy API provides a powerful and efficient solution for accessing wholesale energy market data. By leveraging its comprehensive endpoints and normalized data structure, developers can create custom reporting tools that meet the needs of ESG and sustainability teams. The ability to access real-time and historical data from trusted sources without the hassle of data scraping or format incompatibility is a game-changer for organizations focused on sustainability.

We encourage you to explore the capabilities of the Energy API and see how it can enhance your applications. With a starter plan available, you can try Energy API for free and start building impactful solutions today. Don't miss out on the opportunity to streamline your data acquisition process and contribute to a more sustainable future.

Ready to get started?

Get your API key and start querying energy commodity prices in minutes.

Get API Key

Related posts