Summary
Add support for PT15M (15-minute) resolution to the Electricity Prices API (/services/price/electricity/{area}), in addition to the current hourly PT60M.
Background
The Price API docs currently specify Hourly (PT60M) as the only resolution, with no resolution parameter exposed:
https://developer.sourceful.energy/docs/api/price-api
The upstream data source (ENTSO-E Transparency Platform) now publishes 15-minute MTU data for a growing number of European bidding zones, driven by the EU move to a 15-minute imbalance settlement period. So the raw PT15M data already exists upstream — it's just not surfaced through Nova Core.
Motivation
Sourceful's Price API is valuable specifically because it proxies ENTSO-E and avoids hitting ENTSO-E directly. Calling ENTSO-E from browser/frontend projects runs into CORS restrictions (no permissive CORS headers) plus API-key/token handling — so a hosted, CORS-friendly proxy is the practical way to consume this data client-side.
We'd like to use 15-minute prices in:
srcfl/negative-price-calc (the negative-price project) — finer granularity matters for spotting and acting on negative-price windows that an hourly average can mask.
- Other downstream projects that consume the Price API client-side and can't call ENTSO-E directly due to CORS.
Proposed change
Expose an optional resolution selector on the electricity prices endpoint, e.g.:
GET /services/price/electricity/{area}?resolution=PT15M
- Default remains
PT60M for backward compatibility.
- Accept
PT15M (and ideally PT60M) explicitly.
- For areas/dates where 15-minute data isn't available upstream, fall back to PT60M (or return a clear indicator of the resolution actually served).
- Document the supported resolutions and per-area availability.
Acceptance criteria
Thanks! Happy to test against negative-price-calc once it's available.
Summary
Add support for PT15M (15-minute) resolution to the Electricity Prices API (
/services/price/electricity/{area}), in addition to the current hourly PT60M.Background
The Price API docs currently specify Hourly (PT60M) as the only resolution, with no resolution parameter exposed:
https://developer.sourceful.energy/docs/api/price-api
The upstream data source (ENTSO-E Transparency Platform) now publishes 15-minute MTU data for a growing number of European bidding zones, driven by the EU move to a 15-minute imbalance settlement period. So the raw PT15M data already exists upstream — it's just not surfaced through Nova Core.
Motivation
Sourceful's Price API is valuable specifically because it proxies ENTSO-E and avoids hitting ENTSO-E directly. Calling ENTSO-E from browser/frontend projects runs into CORS restrictions (no permissive CORS headers) plus API-key/token handling — so a hosted, CORS-friendly proxy is the practical way to consume this data client-side.
We'd like to use 15-minute prices in:
srcfl/negative-price-calc(the negative-price project) — finer granularity matters for spotting and acting on negative-price windows that an hourly average can mask.Proposed change
Expose an optional resolution selector on the electricity prices endpoint, e.g.:
PT60Mfor backward compatibility.PT15M(and ideallyPT60M) explicitly.Acceptance criteria
resolution=PT15Mreturns 15-minute price points for supported bidding zones.Thanks! Happy to test against
negative-price-calconce it's available.