Error while Using Restic to Backup - TooManyRequests

Hello, I am using the backup tool restic to upload backups to Cloud Archive. Unfortunately the tool fails immediately with TooManyRequests error, after only 5 HTTP requests.

Is this a quota issue ?

Here is a sample of the HTTP requests made by the program run in debug mode.

2022/05/10 00:05:28 debug/round_tripper_debug.go:96 debug.loggingRoundTripper.RoundTrip 7 ------------ HTTP RESPONSE ----------
HTTP/1.1 201 Created

2022/05/10 00:05:29 debug/round_tripper_debug.go:96 debug.loggingRoundTripper.RoundTrip 13 ------------ HTTP RESPONSE ----------
HTTP/1.1 204 No Content

2022/05/10 00:05:30 debug/round_tripper_debug.go:96 debug.loggingRoundTripper.RoundTrip 71 ------------ HTTP RESPONSE ----------
HTTP/1.1 200 OK

2022/05/10 00:05:34 debug/round_tripper_debug.go:96 debug.loggingRoundTripper.RoundTrip 47 ------------ HTTP RESPONSE ----------
HTTP/1.1 200 OK

2022/05/10 00:05:34 debug/round_tripper_debug.go:96 debug.loggingRoundTripper.RoundTrip 30 ------------ HTTP RESPONSE ----------
HTTP/1.1 429 Too Many Requests

2022/05/10 00:05:35 debug/round_tripper_debug.go:96 debug.loggingRoundTripper.RoundTrip 76 ------------ HTTP RESPONSE ----------
HTTP/1.1 429 Too Many Requests

2022/05/10 00:05:36 debug/round_tripper_debug.go:96 debug.loggingRoundTripper.RoundTrip 50 ------------ HTTP RESPONSE ----------
HTTP/1.1 429 Too Many Requests

If Restic shows TooManyRequests (HTTP 429) while backing up to OVH’s object storage, the problem is hitting a rate limit from the storage backend — not a Restic bug per se. HTTP 429 means the service is telling your client you’re making too many requests too quickly and need to slow down.

OVH’s storage (Swift/OpenStack) enforces rate limits for performance and fairness, and if Restic opens too many connections or does many ops in parallel, you can hit that limit and see repeated 429 responses.

What to do:

  • Reduce concurrency: Lower the number of parallel transfers (e.g., Restic’s --connections or similar flags) so fewer requests are sent at once.
  • Use backoff/retries: Implement exponential backoff or respect any Retry‑After headers returned, so Restic waits before retrying after a 429.
  • Spread requests: Try backing up in smaller batches over a longer time rather than flooding the API all at once.

This will help stay under the rate limits and avoid the TooManyRequests errors.

The TooManyRequests (HTTP 429) error with Restic usually means you’re hitting OVHcloud rate limits, not a bug in Restic. OVH limits the number of API/storage requests to protect performance, and if too many requests are sent (especially in parallel), the service starts rejecting them with 429 errors.

Fix:

  • Reduce parallel uploads (lower Restic concurrency)
  • Add retries/backoff
  • Avoid sending too many small requests at once

This should stop the errors and make backups more stable.