Skip to contents

Procured balancing capacity by TSOs. 100 documents limit applies; paging is handled transparently.

Usage

procured_balancing_capacity(
  eic = NULL,
  process_type = NULL,
  market_agreement_type = NULL,
  period_start = ymd(Sys.Date() - days(x = 7L), tz = "CET"),
  period_end = ymd(Sys.Date(), tz = "CET"),
  tidy_output = TRUE,
  security_token = Sys.getenv("ENTSOE_PAT")
)

Arguments

eic

Energy Identification Code of the area domain

process_type

type of frequency restoration reserve "A51" aFRR "A52" FCR "A47" mFRR

market_agreement_type

Optional market agreement type code "A01" Daily "A02" Weekly "A03" Monthly "A04" Yearly "A05" Total "A06" Long term "A07" Intraday "A13" = Hourly

period_start

POSIXct or YYYY-MM-DD HH:MM:SS format

period_end

POSIXct or YYYY-MM-DD HH:MM:SS format

tidy_output

Defaults to TRUE. flatten nested tables

security_token

Security token for ENTSO-E transparency platform

Value

A tibble::tibble() with the queried data.

Examples

df <- entsoeapi::procured_balancing_capacity(
  eic = "10YCZ-CEPS-----N",
  process_type = "A51",
  period_start = lubridate::ymd(x = "2024-01-01", tz = "CET"),
  period_end = lubridate::ymd(x = "2024-01-02", tz = "CET"),
  tidy_output = TRUE
)
#> 
#> ── API call ────────────────────────────────────────────────────────────────────────────────────────────────────────────
#> → https://web-api.tp.entsoe.eu/api?documentType=A15&processType=A51&area_Domain=10YCZ-CEPS-----N&periodStart=202312312300&periodEnd=202401012300&securityToken=<...>
#> <- HTTP/2 400 
#> <- date: Mon, 13 Apr 2026 08:52:27 GMT
#> <- content-type: text/xml
#> <- content-length: 920
#> <- content-disposition: inline; filename="acknowledgement.xml"
#> <- x-content-type-options: nosniff
#> <- x-xss-protection: 0
#> <- strict-transport-security: max-age=15724800; includeSubDomains
#> <- 
#>  *** The request has been rephrased. ***
#> 
#> ── API call ────────────────────────────────────────────────────────────────────────────────────────────────────────────
#> → https://web-api.tp.entsoe.eu/api?documentType=A15&processType=A51&area_Domain=10YCZ-CEPS-----N&periodStart=202312312300&periodEnd=202401012300&offset=0&securityToken=<...>
#> <- HTTP/2 200 
#> <- date: Mon, 13 Apr 2026 08:52:27 GMT
#> <- content-type: application/zip
#> <- content-length: 2544
#> <- content-disposition: attachment; filename="Procured Balancing Capacity_202312312300-202401012300.zip"
#> <- x-content-type-options: nosniff
#> <- x-xss-protection: 0
#> <- strict-transport-security: max-age=15724800; includeSubDomains
#> <- 
#>  response has arrived
#>  /tmp/RtmpB1aCB1/001-PROCURED_BALANCING_CAPACITY_R3_202312312300-202401012300.xml has been read in
#> 
#> ── API call ────────────────────────────────────────────────────────────────────────────────────────────────────────────
#> → https://web-api.tp.entsoe.eu/api?documentType=A15&processType=A51&area_Domain=10YCZ-CEPS-----N&periodStart=202312312300&periodEnd=202401012300&offset=100&securityToken=<...>
#> <- HTTP/2 200 
#> <- date: Mon, 13 Apr 2026 08:52:27 GMT
#> <- content-type: application/zip
#> <- content-length: 2481
#> <- content-disposition: attachment; filename="Procured Balancing Capacity_202312312300-202401012300.zip"
#> <- x-content-type-options: nosniff
#> <- x-xss-protection: 0
#> <- strict-transport-security: max-age=15724800; includeSubDomains
#> <- 
#>  response has arrived
#>  /tmp/RtmpB1aCB1/001-PROCURED_BALANCING_CAPACITY_R3_202401010500-202401011800.xml has been read in
#> 
#> ── API call ────────────────────────────────────────────────────────────────────────────────────────────────────────────
#> → https://web-api.tp.entsoe.eu/api?documentType=A15&processType=A51&area_Domain=10YCZ-CEPS-----N&periodStart=202312312300&periodEnd=202401012300&offset=200&securityToken=<...>
#> <- HTTP/2 200 
#> <- date: Mon, 13 Apr 2026 08:52:28 GMT
#> <- content-type: application/zip
#> <- content-length: 2459
#> <- content-disposition: attachment; filename="Procured Balancing Capacity_202312312300-202401012300.zip"
#> <- x-content-type-options: nosniff
#> <- x-xss-protection: 0
#> <- strict-transport-security: max-age=15724800; includeSubDomains
#> <- 
#>  response has arrived
#>  /tmp/RtmpB1aCB1/001-PROCURED_BALANCING_CAPACITY_R3_202401011400-202401011800.xml has been read in
#> 
#> ── API call ────────────────────────────────────────────────────────────────────────────────────────────────────────────
#> → https://web-api.tp.entsoe.eu/api?documentType=A15&processType=A51&area_Domain=10YCZ-CEPS-----N&periodStart=202312312300&periodEnd=202401012300&offset=300&securityToken=<...>
#> <- HTTP/2 200 
#> <- date: Mon, 13 Apr 2026 08:52:28 GMT
#> <- content-type: application/zip
#> <- content-length: 1985
#> <- content-disposition: attachment; filename="Procured Balancing Capacity_202312312300-202401012300.zip"
#> <- x-content-type-options: nosniff
#> <- x-xss-protection: 0
#> <- strict-transport-security: max-age=15724800; includeSubDomains
#> <- 
#>  response has arrived
#>  /tmp/RtmpB1aCB1/001-PROCURED_BALANCING_CAPACITY_R3_202401011600-202401012300.xml has been read in
#>  Additional type names have been added!
#>  Additional eic names have been added!
#>  Additional definitions have been added!
#>  Additional type names have been added!
#>  Additional eic names have been added!
#>  Additional definitions have been added!
#>  Additional type names have been added!
#>  Additional eic names have been added!
#>  Additional definitions have been added!
#>  Additional type names have been added!
#>  Additional eic names have been added!
#>  Additional definitions have been added!

dplyr::glimpse(df)
#> Rows: 1,868
#> Columns: 26
#> $ area_domain_mrid              <chr> "10YCZ-CEPS-----N", "10YCZ-CEPS-----N", "10YCZ-CEPS-----N", "10YCZ-CEPS-----N", 
#> $ area_domain_name              <chr> "Czech Republic", "Czech Republic", "Czech Republic", "Czech Republic", "Czech R…
#> $ type                          <chr> "A15", "A15", "A15", "A15", "A15", "A15", "A15", "A15", "A15", "A15", "A15", "A1…
#> $ type_def                      <chr> "Acquiring System Operator Reserve Schedule", "Acquiring System Operator Reserve…
#> $ process_type                  <chr> "A51", "A51", "A51", "A51", "A51", "A51", "A51", "A51", "A51", "A51", "A51", "A5…
#> $ process_type_def              <chr> "Automatic frequency restoration reserve", "Automatic frequency restoration rese…
#> $ market_agreement_type         <chr> "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A0…
#> $ market_agreement_type_def     <chr> "Yearly contract", "Yearly contract", "Yearly contract", "Yearly contract", "Yea…
#> $ ts_flow_direction             <chr> "A02", "A02", "A02", "A02", "A02", "A02", "A02", "A02", "A02", "A02", "A02", "A0…
#> $ ts_flow_direction_def         <chr> "DOWN", "DOWN", "DOWN", "DOWN", "DOWN", "DOWN", "DOWN", "DOWN", "DOWN", "DOWN", 
#> $ ts_business_type              <chr> "B95", "B95", "B95", "B95", "B95", "B95", "B95", "B95", "B95", "B95", "B95", "B9…
#> $ ts_business_type_def          <chr> "Procured capacity", "Procured capacity", "Procured capacity", "Procured capacit…
#> $ ts_mkt_psr_type               <chr> "A03", "A03", "A03", "A03", "A03", "A03", "A03", "A03", "A03", "A03", "A03", "A0…
#> $ ts_mkt_psr_type_def           <chr> "Resource Object", "Resource Object", "Resource Object", "Resource Object", "Res…
#> $ created_date_time             <dttm> 2026-04-13 08:52:27, 2026-04-13 08:52:27, 2026-04-13 08:52:27, 2026-04-13 08:52…
#> $ revision_number               <dbl> 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
#> $ ts_resolution                 <chr> "PT60M", "PT60M", "PT60M", "PT60M", "PT60M", "PT60M", "PT60M", "PT60M", "PT60M",
#> $ ts_time_interval_start        <dttm> 2023-12-31 23:00:00, 2023-12-31 23:00:00, 2023-12-31 23:00:00, 2023-12-31 23:00…
#> $ ts_time_interval_end          <dttm> 2024-01-01 05:00:00, 2024-01-01 05:00:00, 2024-01-01 05:00:00, 2024-01-01 05:00…
#> $ ts_mrid                       <dbl> 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 4, 4, 4, 4, 4, 4, 5, 5, 5,
#> $ ts_point_dt_start             <dttm> 2023-12-31 23:00:00, 2024-01-01 00:00:00, 2024-01-01 01:00:00, 2024-01-01 02:00…
#> $ ts_point_quantity             <dbl> 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 15, 15, 15, 15, 15, 15, 16…
#> $ procurement_price_amount      <dbl> 9.00, 9.00, 9.00, 9.00, 9.00, 9.00, 26.00, 26.00, 26.00, 26.00, 26.00, 26.00, 15…
#> $ ts_currency_unit_name         <chr> "EUR", "EUR", "EUR", "EUR", "EUR", "EUR", "EUR", "EUR", "EUR", "EUR", "EUR", "EU…
#> $ ts_price_measure_unit_name    <chr> "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MA…
#> $ ts_quantity_measure_unit_name <chr> "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MA…