---
title: "Forecast of public net electricity production or load"
method: GET
path: "/v2/public_power_forecast"
tags: ["power v2"]
---

# Forecast of public net electricity production or load

`GET /v2/public_power_forecast`

Forecast of the public net electricity production (or load) in megawatt (MW). If no dates are provided, values from today until the end of the available forecast are returned. Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start.

## Query parameters

- `country` 'ch' | 'eu' | 'all' | 'at' | 'ba' | 'be' | 'bg' | 'cy' | 'cz' | 'de' | 'dk' | 'ee' | 'es' | 'fi' | 'fr' | 'ge' | 'gr' | 'hr' | 'hu' | 'ie' | 'it' | 'lt' | 'lu' | 'lv' | 'md' | 'me' | 'mk' | 'nl' | 'no' | 'pl' | 'pt' | 'ro' | 'rs' | 'se' | 'si' | 'sk' | 'ua' | 'uk' | 'xk' — ISO-like country code accepted by the Energy-Charts API.
- `production_type` 'solar' | 'wind_onshore' | 'wind_offshore' | 'load' | 'wind' — Production types for which forecasts are published.
- `forecast_type` 'current' | 'intraday' | 'day-ahead' | 'week-ahead' — Forecast horizon / publication time.
- `start` string — Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start.
- `end` string — Accepted formats: ISO 8601 (`2026-01-01T17:00Z`), day (`2026-01-01`, interpreted in the local timezone) or unix seconds (`1767222000`). Empty start defaults to today; empty end defaults to start.

## Response `200`

Successful Response

- TimeSeriesResponseV2 — Uniform, self-describing time-series envelope of all v2 endpoints.
  - `schema_version` string, required — Version of this response schema.
  - `endpoint` string, required — Name of the endpoint that produced this response.
  - `country` string, nullable — Country code the data refers to (lowercase), if applicable.
  - `bidding_zone` string, nullable — Bidding zone the data refers to, if applicable.
  - `timezone` string, required — IANA timezone in which all timestamps of this response are expressed.
  - `resolution` string, nullable — Temporal resolution as ISO 8601 duration (e.g. PT15M, PT1H, P1D, P1M, P1Y). `null` if the time axis is irregular.
  - `interval_minutes` integer, nullable — Temporal resolution in minutes. `null` if irregular or if the step is calendar based (months / years).
  - `unit` string, nullable — Default unit of all series. Individual series may override it via `series[*].unit`.
  - `generated_at` string, required — ISO 8601 time at which this response body was generated. Responses may be served from a short-lived cache; this field always reflects the true generation time.
  - `available_from` string, nullable — Timestamp of the first record that contains at least one non-null value. `null` if the response is empty.
  - `available_until` string, nullable — Timestamp of the last record that contains at least one non-null value (data availability at generation time). `null` if the response is empty.
  - `series` SeriesDescriptorV2[], required — Descriptors of all series present in `data[*].values`.
    - `id` string, required — Stable snake_case identifier. Key of this series inside every `data[*].values` object.
    - `name` string, required — Human readable display name of the series.
    - `unit` string, nullable — Unit of this series if it differs from the envelope-level `unit`. Omitted when the envelope-level unit applies.
    - `description` string, nullable — Free-text explanation of the series semantics. Omitted when there is nothing to explain beyond the name.
  - `data` DataPointV2[], required — Chronologically ordered records.
    - `timestamp` string, required — ISO 8601 timestamp with UTC offset, expressed in the envelope `timezone`. Marks the START of the period the values refer to. Single exception: `installed_power`, where the timestamp labels the reporting year or month and values represent the state at the END of that period (or the net change during it, with installation_decommission=true).
    - `values` object, required — Mapping of series id -> value. `null` means the value is not (yet) available for this timestamp.
  - `attributes` object — Endpoint specific metadata (e.g. forecast_type).
  - `license` string, nullable — License of the data in this response.
  - `deprecated` boolean, required — True if this endpoint is scheduled for discontinuation.

## Other responses

- `400` — Invalid parameters
- `404` — No data available
- `422` — Validation Error

---

[API](https://skmtc.net/energy-charts/apis/energy-charts-api.md) · [All operations](https://skmtc.net/energy-charts/apis/energy-charts-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/energy-charts/energy-charts-api/revisions/ebf9e22a0925/schema)
