# Get Forecast Rooftop PV

`GET /data/forecast/rooftop_pv_power`

Get basic rooftop PV power forecasts from the present time up to 14 days ahead for the requested location, derived from satellite (clouds and irradiance over non-polar continental areas, nowcasted for approx. four hours ahead) and numerical weather models (other data and longer horizons).

The basic rooftop power simulation is only suitable for residential and smaller C&I rooftop sites, not for grid-scale sites.

## Parameters

### Query Parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `latitude` | number (double) | yes | The latitude of the location you request data for. Must be a decimal number between -90 and 90. |
| `longitude` | number (double) | yes | The longitude of the location you request data for. Must be a decimal number between -180 and 180. |
| `hours` | integer (int32) | no | The number of hours to return in the response. |
| `period` | string | no | Length of the averaging period in ISO 8601 duration format. Default is PT30M. |
| `azimuth` | number (float) | no | The azimuth is defined as the angle (degrees) from true north that the PV system is facing. An azimuth of 0 means the system is facing true north. Positive values are anticlockwise, so azimuth is -90 for an east-facing system and 135 for a southwest-facing system. If you don't specify an azimuth, we use a default value of 0 (north facing) in the southern hemisphere and 180 (south-facing) in the northern hemisphere. |
| `capacity` | number (float) | yes | The capacity of the inverter (AC) or the modules (DC), whichever is greater, in kilowatts (kW). |
| `format` | string | no | Response format. Default is HTML if not supplied. |
| `install_date` | string | no | The date (yyyy-MM-dd) of installation of the PV system. We use this to estimate your loss_factor based on the ageing of your system. If you provide us with a loss_factor directly, we will ignore this date. |
| `loss_factor` | number (float) | no | Default is 0.90 A factor to reduce your output forecast from the full capacity based on characteristics of the PV array or inverter. This is effectively the non-temperature loss effects on the nameplate rating of the PV system, including inefficiency and soiling. For a 1kW PV system anything that reduces 1000W/m2 solar radiation from producing 1000W of power output (assuming temperature is 25C). Valid values are between 0 and 1 (i.e. 0.6 equals 60%). If you specify 0.6 your returned power will be a maximum of 60% of AC capacity. |
| `output_parameters` | string[] | no | The output parameters to include in the response. |
| `terrain_shading` | boolean | no | If true, irradiance parameters are modified based on the surrounding terrain from a 90m-horizontal-resolution digital elevation model. The direct component of irradiance is set to zero when the beam from the sun is blocked by the terrain. The diffuse component of irradiance is reduced throughout the day if the sky view at the location is significantly reduced by the surrounding terrain. Global irradiance incorporates both effects. |
| `tilt` | number (float) | no | The angle (degrees) that the PV system is tilted off the horizontal. A tilt of 0 means the system faces directly upwards, and 90 means the system is vertical and facing the horizon. If you don't specify tilt, we use a default tilt angle based on the latitude you specify in your request. Must be between 0 and 90. |

## Example request

### cURL

```bash
curl -X GET "https://api.solcast.com.au/data/forecast/rooftop_pv_power?latitude=-33.8567&longitude=151.2152&capacity=1&output_parameters=pv_power_rooftop&hours=24&period=PT60M" \
  -H "Authorization: Bearer $API_KEY"
```

### Python

```python
import requests

params = {
    "latitude": "-33.8567",
    "longitude": "151.2152",
    "capacity": "1",
    "output_parameters": "pv_power_rooftop",
}

response = requests.get(
    "https://api.solcast.com.au/data/forecast/rooftop_pv_power", params=params,
    headers={"Authorization": "Bearer API_KEY"},
)
data = response.json()
```

## Example response (200)

```json
{
  "forecasts": [
    {
      "pv_power_rooftop": 0.646,
      "period_end": "2026-07-30T01:00:00.0000000Z",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.697,
      "period_end": "2026-07-30T02:00:00.0000000Z",
      "period": "PT60M"
    },
    {
      "pv_power_rooftop": 0.696,
      "period_end": "2026-07-30T03:00:00.0000000Z",
      "period": "PT60M"
    }
  ]
}
```

## Responses

### 200 — OK

Schema: `ForecastsDataResponse`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `forecasts` | object[] | no |  |

Source: /docs/section/rooftop-pv-power#getDataForecastRooftopPvPower
