Rate Limiting

The Home Connect API uses the following rate limits. Please make sure not to reach the limits regularly, otherwise your client application may be blocked. At the moment two different rate limit types are supported.

 

Amount-based Rate Limits

Generally if too many requests are sent, further requests are rejected with the HTTP status code 429.

The following limits are currently configured:

  • 10 event monitoring channels per client and Home Connect user account at any time (the request for further channels will be blocked)
  • 10 requests per second on average (20 requests max. burst) with leaky bucket algorithm, otherwise HTTP 429 error

Example

No Retry-After header is set.


{
  "error": {
    "key": "429",
    "description": "Too many parallel monitoring connections. Maximum is 10"
  }
}

 

Time-based Rate Limits

Generally if too many requests are sent, further requests are rejected with the HTTP status code 429. In this case, please check the Retry-After header. This states the number of seconds that you need to wait, before you try your request again.

The following limits are currently configured:

  • 10 token refresh per minute and 100 token refresh per day
  • 1000 requests per client and Home Connect user account per day
    If the quota is reached, additional requests may be blocked. Thus, do not query for state information but use the monitoring function instead, and start/stop programs with care. Furthermore, only one monitoring channel per device per home appliance is allowed.
  • 50 requests per client and Home Connect user account per minute (more requests will be blocked for one minute)
  • 5 program starts per client and Home Connect user account per minute (more program starts will be blocked for one minute)
  • 5 program stops per client and Home Connect user account per minute (more program stops will be blocked for one minute)
  • 10 successive requests per client and Home Connect user account per 10 minutes which result in an error (more requests will be blocked for 10 minutes)

Example

Retry-After header is set to 52.


{
    "error": {
        "key": "429",
        "description": "The rate limit \"5 start program calls in 1 minute\" was reached. Requests are blocked during the remaining period of 52 seconds."
    }
}