---
title: "List solar PV installations by grid operator or location"
method: GET
path: "/api/assets/solar"
tags: ["Assets"]
---

# List solar PV installations by grid operator or location

`GET /api/assets/solar`

## Request

- Base URL: `https://api.cernion.de`
- URL: `https://api.cernion.de/api/assets/solar`
- Auth: none declared

Retrieves photovoltaic 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`). Example: /api/assets/solar?location=Mainz

## Query parameters

- `vnbName` string
- `bdewCode` string
- `gridOperatorId` string
- `location` string
- `commissioningYear` number
- `minCapacityKW` number
- `maxCapacityKW` number
- `limit` number
- `offset` number
- `redispatch` boolean
- `operationalStatus` string
- `netzbetreiberPruefungStatus` string
- `includeNapData` boolean
- `updatedAfter` string, date
- `format` 'json' | 'csv' | 'xlsx'
- `token` string

## Response `200`

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

- union
  - object[]
    - `Asset-ID` string
    - `SEE Nummer` string
    - `Anlagentyp` string
    - `Leistung kW` number
    - `Ort` string, nullable
    - `Postleitzahl` string, nullable
    - `Bundesland` string, nullable
  - object: Returned instead of a bare array when `location` could not be resolved to an exact postal code. Never confuse this with "0 assets found" — re-issue the request with a 5-digit postal code.
    - `success` boolean, required
    - `data` object[], required
      - `Asset-ID` string
      - `SEE Nummer` string
      - `Anlagentyp` string
      - `Leistung kW` number
      - `Ort` string, nullable
      - `Postleitzahl` string, nullable
      - `Bundesland` string, nullable
    - `locationResolutionWarning` string, required

## Other responses

- `400`: Invalid parameters (at least one of vnbName, bdewCode, gridOperatorId or location is required).
- `500`: Internal server error during MaStR query.

---

[API](https://skmtc.dev/cernion/apis/cernion-energy-tools-api.md) · [All operations](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cernion/apis/cernion-energy-tools-api/revisions/cdb94473b538?raw)
