List battery storage installations by grid operator or location
Retrieves battery storage installations from MaStR by grid operator context (vnbName, bdewCode, gridOperatorId) or directly by location (city/region/postal code). Default: Only active installations (status 35). Count semantics: this endpoint returns an array. For questions like "How many ...", use the number of returned items (array.length).
Request
- Base URL: https://api.cernion.de
- URL: https://api.cernion.de/api/assets/storage
- Auth: none declared
Query parameters
Name of grid operator
BDEW code (13 digits)
MaStR grid operator ID
City/region/postal code for location-based search (e.g. "Mainz", "69115", "Baden-Württemberg"). Live MaStR filtering only supports an exact 5-digit postal code; a free-text city/region name that cannot be resolved to one does NOT return a bare empty array — the response includes a locationResolutionWarning instead (see response schema). Pass the postal code directly when known.. Supports city-style queries like "Welche Speicheranlagen gibt es in <Ort>?".
Commissioning year
Min. capacity in kW
Max. capacity in kW
Max. number of results. Default: 1,000. Use a high value (e.g. 1000000) or all for the complete result set — the server paginates internally.
Pagination offset — skip N records to fetch the next page.
Redispatch 2.0 (≥100kW)
Operational status: 31=Planned, 35=In operation (default), 37=Temporarily decommissioned, 38=Permanently decommissioned, all=All
Filter by grid operator verification status code(s), comma-separated. Values: 2954=Geprüft ✅, 2955=In Prüfung ⏳, 3075=Nicht vorgesehen.
Include NAP data (MeLo, voltage level, bottleneck capacity). Default: true
ISO date — only installations with lastUpdatedAt (DatumLetzteMeldung) after this date.
Output format (default: json)
Optional Cernion MCP token as URL query parameter. If provided, it overrides CERNION_TOKEN for this request. Prefer Authorization Bearer header in production to reduce token exposure in URLs/logs.
Response
Array of matching installations, OR — when location was a free-text city/region that could not be resolved to a postal code (#274) — an object reporting that resolution failure instead of a bare empty array. A bare [] always means a genuinely empty, location-resolved result set; count/aggregation for the array case can be derived via response length (array.length).
Example response
{
"success": true,
"locationResolutionWarning": "Location \"Meckesheim\" could not be resolved to a postal code. The live MaStR backend only supports exact 5-digit postleitzahl filtering, not free-text city/region search. Pass \"postleitzahl\" directly, or resolve the postal code first (e.g. via grid-operations.marketPartners or OSM Geo)."
}Changes
No recorded changes to this operation across all 2 revisions of this API.