Assets

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).

get/api/assets/storage

Request

  • Base URL: https://api.cernion.de
  • URL: https://api.cernion.de/api/assets/storage
  • Auth: none declared

Query parameters

vnbNamestring
Example:Netze BW

Name of grid operator

bdewCodestring
Example:4041407000008

BDEW code (13 digits)

gridOperatorIdstring
Example:SNB948311994307

MaStR grid operator ID

locationstring
Example:Heidelberg

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>?".

commissioningYearnumber
Example:2020

Commissioning year

minCapacityKWnumber
Example:100

Min. capacity in kW

maxCapacityKWnumber
Example:10000

Max. capacity in kW

limitnumber
Example:1000

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.

offsetnumber

Pagination offset — skip N records to fetch the next page.

redispatchboolean
Example:true

Redispatch 2.0 (≥100kW)

operationalStatusstring
Example:35

Operational status: 31=Planned, 35=In operation (default), 37=Temporarily decommissioned, 38=Permanently decommissioned, all=All

netzbetreiberPruefungStatusstring
Example:2955

Filter by grid operator verification status code(s), comma-separated. Values: 2954=Geprüft ✅, 2955=In Prüfung ⏳, 3075=Nicht vorgesehen.

includeNapDataboolean

Include NAP data (MeLo, voltage level, bottleneck capacity). Default: true

updatedAfterstring date
Example:2026-03-24

ISO date — only installations with lastUpdatedAt (DatumLetzteMeldung) after this date.

format'json' | 'csv' | 'xlsx'

Output format (default: json)

tokenstring

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).

OR

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.