1--- 2c: Copyright (C) Daniel Stenberg, <daniel@haxx.se>, et al. 3SPDX-License-Identifier: curl 4Long: rate 5Arg: <max request rate> 6Help: Request rate for serial transfers 7Category: connection global 8Added: 7.84.0 9Multi: single 10Scope: global 11See-also: 12 - limit-rate 13 - retry-delay 14Example: 15 - --rate 2/s $URL ... 16 - --rate 3/h $URL ... 17 - --rate 14/m $URL ... 18--- 19 20# `--rate` 21 22Specify the maximum transfer frequency you allow curl to use - in number of 23transfer starts per time unit (sometimes called request rate). Without this 24option, curl starts the next transfer as fast as possible. 25 26If given several URLs and a transfer completes faster than the allowed rate, 27curl waits until the next transfer is started to maintain the requested 28rate. This option has no effect when --parallel is used. 29 30The request rate is provided as "N/U" where N is an integer number and U is a 31time unit. Supported units are 's' (second), 'm' (minute), 'h' (hour) and 'd' 32/(day, as in a 24 hour unit). The default time unit, if no "/U" is provided, 33is number of transfers per hour. 34 35If curl is told to allow 10 requests per minute, it does not start the next 36request until 6 seconds have elapsed since the previous transfer was started. 37 38This function uses millisecond resolution. If the allowed frequency is set 39more than 1000 per second, it instead runs unrestricted. 40 41When retrying transfers, enabled with --retry, the separate retry delay logic 42is used and not this setting. 43 44Starting in version 8.10.0, you can specify number of time units in the rate 45expression. Make curl do no more than 5 transfers per 15 seconds with "5/15s" 46or limit it to 3 transfers per 4 hours with "3/4h". No spaces allowed. 47