> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreflux.org/llms.txt
> Use this file to discover all available pages before exploring further.

# ENTSO-E Transparency Platform REST API

> Client-mode REST API connector for European day-ahead prices, generation per type, and system load (IEC 62325 XML)

Technical Preview

## Overview

The [ENTSO-E Transparency Platform](https://transparency.entsoe.eu/) publishes pan-European electricity market data under EU Regulation 543/2013. This connector calls the production Web API at `https://web-api.tp.entsoe.eu` with `BASE_ADDRESS` set to that origin and path `/api`. Responses are **IEC 62325 XML** (`Accept: application/xml`), not JSON.

> [!NOTE]
>
> A call without a valid `securityToken` returns HTTP 401 (`Acknowledgement_MarketDocument`: missing or invalid security token). This template has not been verified with a live token. Register on the Transparency Platform, request RESTful API access from [transparency@entsoe.eu](mailto:transparency@entsoe.eu), generate a token under My Account, and pass it only at runtime.

## Auth

Pass the personal **security token** as the `securityToken` query parameter via `{value.json.securityToken}`. Prefer Hub secrets / `GET SECRET "ENTSOE_SECURITY_TOKEN"`. Never commit real tokens into the `.lot`.

## Area codes

Queries use EIC area codes. Portugal example (documentation only): `10YPT-REN------W`. For day-ahead prices (A44), `in_Domain` and `out_Domain` must be the same bidding-zone EIC. Load items (A65) use `outBiddingZone_Domain`.

## Basic Syntax

```lot wrap theme={"theme":"css-variables","languages":{"custom":["/languages/lot.json"]}}
DEFINE ROUTE EntsoETransparencyPlatformRestApi WITH TYPE REST_API
    ADD REST_API_CONFIG
        WITH BASE_ADDRESS "https://web-api.tp.entsoe.eu"
        WITH ENABLE_CLIENT "true"
        WITH USE_SSL "true"
        WITH REQUEST_TIMEOUT '60'
        WITH DEFAULT_CONTENT_TYPE "application/xml"
    ADD EVENT GetDayAheadPrices
        WITH SOURCE_TOPIC "integrations/entso-e-transparency-platform/request/GetDayAheadPrices"
        WITH DESTINATION_TOPIC "integrations/entso-e-transparency-platform/response/GetDayAheadPrices"
        WITH METHOD "GET"
        WITH ENDPOINT "/api?securityToken={value.json.securityToken}&documentType=A44&in_Domain={value.json.in_Domain}&out_Domain={value.json.out_Domain}&periodStart={value.json.periodStart}&periodEnd={value.json.periodEnd}"
        WITH HEADERS
            ADD "Accept" "application/xml"
    ADD EVENT GetActualGenerationPerType
        WITH SOURCE_TOPIC "integrations/entso-e-transparency-platform/request/GetActualGenerationPerType"
        WITH DESTINATION_TOPIC "integrations/entso-e-transparency-platform/response/GetActualGenerationPerType"
        WITH METHOD "GET"
        WITH ENDPOINT "/api?securityToken={value.json.securityToken}&documentType=A75&processType=A16&in_Domain={value.json.in_Domain}&periodStart={value.json.periodStart}&periodEnd={value.json.periodEnd}"
        WITH HEADERS
            ADD "Accept" "application/xml"
    ADD EVENT GetTotalLoad
        WITH SOURCE_TOPIC "integrations/entso-e-transparency-platform/request/GetTotalLoad"
        WITH DESTINATION_TOPIC "integrations/entso-e-transparency-platform/response/GetTotalLoad"
        WITH METHOD "GET"
        WITH ENDPOINT "/api?securityToken={value.json.securityToken}&documentType=A65&processType=A16&outBiddingZone_Domain={value.json.outBiddingZone_Domain}&periodStart={value.json.periodStart}&periodEnd={value.json.periodEnd}"
        WITH HEADERS
            ADD "Accept" "application/xml"
```

## Events in this package

| Event | documentType | Focus |
| - | - | - |
| GetDayAheadPrices | A44 | Day-ahead prices |
| GetActualGenerationPerType | A75 | Actual generation per type (`processType=A16`) |
| GetTotalLoad | A65 | Actual total load (`processType=A16`) |
| GetCrossBorderPhysicalFlows | A11 | Cross-border physical flows |
| GetWindAndSolarGeneration | A74 | Wind and solar generation |
| GetDayAheadTotalLoadForecast | A65 + A01 | Day-ahead total load forecast |

`periodStart` / `periodEnd` use `yyyyMMddHHmm` UTC.

## Example request payload

```json theme={"theme":"css-variables","languages":{"custom":["/languages/lot.json"]}}
{
  "securityToken": "YOUR_ENTSOE_SECURITY_TOKEN",
  "in_Domain": "10YPT-REN------W",
  "out_Domain": "10YPT-REN------W",
  "periodStart": "202610010000",
  "periodEnd": "202610020000"
}
```

For load events, use `outBiddingZone_Domain` instead of `in_Domain` / `out_Domain`.

## Related

* [REST API Connectors](/latest/lot-language/routes/rest-api-routes)
* [ENTSO-E Transparency Platform](https://transparency.entsoe.eu/)
* [How to get a security token](https://transparencyplatform.zendesk.com/hc/en-us/articles/12845911031188-How-to-get-security-token)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.