Volumes and prices of contracted reserves. 100 documents limit applies; paging is handled transparently.
Usage
contracted_reserves(
eic = NULL,
market_agreement_type = NULL,
process_type = NULL,
psr_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 control area domain
- market_agreement_type
Market agreement type code (mandatory) "A01" Daily "A02" Weekly "A03" Monthly "A04" Yearly "A06" Long term "A13" Hourly
- process_type
Optional process type code "A46" Replacement reserve "A47" Manual frequency restoration reserve "A51" Automatic frequency restoration reserve "A52" Frequency containment reserve
- psr_type
Optional PSR type code "A03" Mixed "A04" Generation "A05" Load
- 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.
See also
Other balancing endpoints:
activated_balancing_prices(),
aggregated_balancing_energy_bids(),
allocation_of_cross_zonal_balancing_cap(),
balancing_border_cap_limit(),
balancing_energy_bids(),
changes_to_bid_availability(),
current_balancing_state(),
elastic_demands(),
exchanged_volumes(),
exchanged_volumes_per_border(),
fcr_total_capacity(),
financial_expenses_and_income(),
hvdc_link_constrains(),
imbalance_prices(),
imbalance_volumes(),
netted_volumes(),
netted_volumes_per_border(),
procured_balancing_capacity(),
rr_and_frr_actual_capacity(),
shares_of_fcr_capacity(),
sharing_of_rr_and_frr_capacity()
Examples
df <- entsoeapi::contracted_reserves(
eic = "10YCZ-CEPS-----N",
market_agreement_type = "A01",
period_start = lubridate::ymd(x = "2022-01-01", tz = "CET"),
period_end = lubridate::ymd(x = "2022-01-02", tz = "CET"),
tidy_output = TRUE
)
#>
#> ── API call ────────────────────────────────────────────────────────────────────────────────────────────────────────────
#> → https://web-api.tp.entsoe.eu/api?documentType=A81&businessType=B95&type_MarketAgreement.Type=A01&controlArea_Domain=10YCZ-CEPS-----N&periodStart=202112312300&periodEnd=202201012300&securityToken=<...>
#> <- HTTP/2 200
#> <- date: Mon, 13 Apr 2026 08:51:11 GMT
#> <- content-type: application/zip
#> <- content-length: 2918
#> <- content-disposition: attachment; filename="Amount and Prices Paid of Balancing Reserves Under Contract_202112312300-202201012300.zip"
#> <- x-content-type-options: nosniff
#> <- x-xss-protection: 0
#> <- strict-transport-security: max-age=15724800; includeSubDomains
#> <-
#> ✔ response has arrived
#> ✔ /tmp/RtmpB1aCB1/001-AMOUNT_AND_PRICES_PAID_OF_BALANCING_RESERVES_UNDER_CONTRACT_R3_202112312300-202201012300.xml has been read in
#> ✔ /tmp/RtmpB1aCB1/002-AMOUNT_AND_PRICES_PAID_OF_BALANCING_RESERVES_UNDER_CONTRACT_R3_202112312300-202201012300.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!
dplyr::glimpse(df)
#> Rows: 96
#> Columns: 27
#> $ 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> "A81", "A81", "A81", "A81", "A81", "A81", "A81", "A81", "A81", "A81", "A81", "A8…
#> $ type_def <chr> "Contracted reserves", "Contracted reserves", "Contracted reserves", "Contracted…
#> $ process_type <chr> "A47", "A47", "A47", "A47", "A47", "A47", "A47", "A47", "A47", "A47", "A47", "A4…
#> $ process_type_def <chr> "Manual frequency restoration reserve", "Manual frequency restoration reserve", …
#> $ market_agreement_type <chr> "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A0…
#> $ market_agreement_type_def <chr> "Daily contract", "Daily contract", "Daily contract", "Daily contract", "Daily c…
#> $ ts_flow_direction <chr> "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A01", "A0…
#> $ ts_flow_direction_def <chr> "UP", "UP", "UP", "UP", "UP", "UP", "UP", "UP", "UP", "UP", "UP", "UP", "UP", "U…
#> $ 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> "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A04", "A0…
#> $ ts_mkt_psr_type_def <chr> "Generation", "Generation", "Generation", "Generation", "Generation", "Generatio…
#> $ created_date_time <dttm> 2026-04-13 08:51:11, 2026-04-13 08:51:11, 2026-04-13 08:51:11, 2026-04-13 08:51…
#> $ 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> 2021-12-31 23:00:00, 2021-12-31 23:00:00, 2021-12-31 23:00:00, 2021-12-31 23:00…
#> $ ts_time_interval_end <dttm> 2022-01-01 23:00:00, 2022-01-01 23:00:00, 2022-01-01 23:00:00, 2022-01-01 23:00…
#> $ ts_mrid <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, 2, 2, 2,…
#> $ ts_point_dt_start <dttm> 2021-12-31 23:00:00, 2022-01-01 00:00:00, 2022-01-01 01:00:00, 2022-01-01 02:00…
#> $ ts_point_quantity <dbl> 377, 377, 377, 377, 377, 377, 377, 365, 377, 405, 407, 407, 377, 377, 377, 383, …
#> $ procurement_price_amount <dbl> 1131.79, 1128.61, 1128.61, 1128.61, 1128.61, 1136.04, 1155.76, 1157.95, 1128.61,…
#> $ ts_currency_unit_name <chr> "CZK", "CZK", "CZK", "CZK", "CZK", "CZK", "CZK", "CZK", "CZK", "CZK", "CZK", "CZ…
#> $ ts_quantity_measure_unit_name <chr> "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MAW", "MA…
#> $ imbalance_price_category <chr> "A06", "A06", "A06", "A06", "A06", "A06", "A06", "A06", "A06", "A06", "A06", "A0…
#> $ imbalance_price_category_def <chr> "Average bid price", "Average bid price", "Average bid price", "Average bid pric…