# Yield API

Der Yield-Endpunkt liefert mittlere spezifische Ertragswerte sowie detaillierte jährliche Ertragsdaten für Photovoltaikanlagen basierend auf Standort und Anlagenkonfiguration. Der Endpunkt unterstützt `GET`-Anfragen und benötigt zwingend `latitude`, `longitude` sowie `slope` und `orientation`. Standardmäßig werden die Jahre **2015 bis 2024** berechnet.

:::note
Nutzer des kostenlosen Tarifs erhalten nur den mittleren Ertragswert über die letzten 10 Jahre. Keine Jahresaufschlüsselung, keine Konfidenzintervalle und keine weiteren Details.
:::

:::note
Erweiterte Daten zurück bis **2007** sind als Add-on verfügbar. Mit `include_historical_data=true` aktivieren und `historical_data_start_year` entsprechend setzen.
:::

:::note
Ein **Rate-Limit von 6 Anfragen pro Minute** gilt, um Missbrauch zu verhindern. Bei Überschreitung wird `429` zurückgegeben.
:::

## Basis-URL

```
https://api.pvnode.com/v1/yield/
```

## Beispielanfrage

Die folgenden Beispiele zeigen, wie die erforderlichen Parameter übergeben und der [API-Key](/docs/de/authentication) zur Authentifizierung genutzt wird. Das Beispiel verwendet eine Neigung (`slope`) von 30 Grad, eine Ausrichtung (`orientation`) von 180 Grad (Süden) und den Standort Rosenheim, Deutschland mit den Koordinaten `latitude`: 47.84812, `longitude`: 12.06231.

<CodeTabs>

```python
import requests

url = 'https://api.pvnode.com/v1/yield/'
body = {
    "latitude": 47.84812,
    "longitude": 12.06231,
    "slope": 30,
    "orientation": 180
}
headers = {
    'Authorization': 'Bearer ' + YOUR_API_KEY
}
response = requests.get(url, headers=headers, params=body)
data = response.json()
```

```javascript
const axios = require('axios');

const url = 'https://api.pvnode.com/v1/yield/';
const params = {
    latitude: 47.84812,
    longitude: 12.06231,
    slope: 30,
    orientation: 180
};
const headers = {
    Authorization: 'Bearer YOUR_API_KEY'
};

axios.get(url, { headers, params })
    .then(response => {
        console.log(response.data);
    })
    .catch(error => {
        console.error('Error during API call:', error);
    });
```

</CodeTabs>

Dies ist die Basis-Konfiguration. Die API unterstützt viele weitere Parameter für Verschattung, Tracker-Systeme, Moduleigenschaften und mehr — die vollständige Liste findet sich in der [API-Referenz](/api/v1-endpoints#yield).

## Erweiterte Konfiguration

<div className="not-prose mt-4">
  <div className="grid sm:grid-cols-2 gap-3">
    <a href="/docs/de/guides/shading-horizon" className="group block rounded-xl border border-border bg-card p-5 hover:border-primary/50 hover:shadow-lg hover:shadow-primary/5 transition-all">
      <h3 className="font-semibold text-sm mb-1 group-hover:text-primary transition-colors">Verschattung &amp; Horizont</h3>
      <p className="text-xs text-muted-foreground leading-relaxed">Horizontprofile, Reihenverschattung und weitere Verschattungsszenarien konfigurieren.</p>
    </a>
    <a href="/docs/de/guides/tracker-configuration" className="group block rounded-xl border border-border bg-card p-5 hover:border-primary/50 hover:shadow-lg hover:shadow-primary/5 transition-all">
      <h3 className="font-semibold text-sm mb-1 group-hover:text-primary transition-colors">Tracker-Konfiguration</h3>
      <p className="text-xs text-muted-foreground leading-relaxed">Einachsige und zweiachsige Tracker-Systeme mit eigenen Parametern einrichten.</p>
    </a>
  </div>
</div>
