# Get Forecast HSU Losses

`GET /data/forecast/soiling/hsu`

Get soiling loss forecasts using the HSU model for the requested location from the present up to 14 days ahead.

## 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 | Time window of the response in hours from 1 to 336. Default is 24. |
| `period` | string | no | Length of the averaging period in ISO 8601 duration format. Default is PT30M. |
| `cleaning_threshold` | number (double) | no | Amount of daily rainfall required to clean the panels (mm). Default is 1.0. |
| `depo_veloc_pm10` | number (double) | no | Deposition or settling velocity of PM10 particulates. [m/s]. Default is 0.004. |
| `depo_veloc_pm2_5` | number (double) | no | Deposition or settling velocity of PM2.5 particulates. [m/s]. Default is 0.0009. |
| `format` | string | no | Response format. Default is HTML if not supplied. |
| `initial_soiling` | number (double) | no | Initial percentage of energy lost due to soiling at time zero in the rainfall series input. If not provided, Solcast will perform a ramp up series calculation to accurately determine this value. If provided must be >= 0 and < 0.3437. |
| `manual_wash_dates` | string[] | no | Optional. Default is none. A list of ISO_8601 compliant dates or a repeating interval when manual cleaning of the panels occurred. A list of dates example: [2025-01-01,2025-01-05,2025-01-10]. A repeating interval example: R3/2025-01-01T00:00:00Z/P14D. Wash dates outside of the start and end of the request are discarded. |
| `pm10` | number[] | no | Restricted. A list of PM10 values. Concentration of airborne particulate matter (PM) with aerodynamic diameter less than 10 microns. [g/m^3]. HSU endpoint will internally use Solcast's PM10 values tailored to your request time period. |
| `pm2_5` | number[] | no | Restricted. Concentration of airborne particulate matter (PM) with aerodynamic diameter less than 2.5 microns. [g/m^3]. HSU endpoint will internally use Solcast's PM2.5 values tailored to your request time period. |
| `tilt` | number (double) | 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. |
| `time_zone` | string | no | Timezone to return in data set. Accepted values are utc, longitudinal, or a range from -13 to 13 in 0.25 hour increments for utc offset. Default is utc. |

## Example request

### cURL

```bash
curl -X GET "https://api.solcast.com.au/data/forecast/soiling/hsu?latitude=-33.8567&longitude=151.2152&time_zone=<time_zone>&hours=24" \
  -H "Authorization: Bearer $API_KEY"
```

### Python

```python
import requests

params = {
    "latitude": "-33.8567",
    "longitude": "151.2152",
}

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

## Example response (200)

```json
{
  "forecasts": [
    {
      "hsu_loss_fraction": 0.0087,
      "period_end": "2026-07-30T01:00:00+00:00",
      "period": "PT60M"
    },
    {
      "hsu_loss_fraction": 0.0087,
      "period_end": "2026-07-30T02:00:00+00:00",
      "period": "PT60M"
    },
    {
      "hsu_loss_fraction": 0.0087,
      "period_end": "2026-07-30T03:00:00+00:00",
      "period": "PT60M"
    }
  ]
}
```

## Responses

### 200 — OK

Schema: `ForecastsDataResponse`

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

Source: /docs/section/soiling#getDataForecastSoilingHsu
