blob: 953f8659661aa0b9e7ef9e7ca809a5591971cc20 [file] [log] [blame]
xf.li6c8fc1e2023-08-12 00:11:09 -07001c: Copyright (C) 1998 - 2022, Daniel Stenberg, <daniel@haxx.se>, et al.
2SPDX-License-Identifier: curl
3Long: rate
4Arg: <max request rate>
5Help: Request rate for serial transfers
6Category: connection
7Example: --rate 2/s $URL
8Example: --rate 3/h $URL
9Example: --rate 14/m $URL
10Added: 7.84.0
11See-also: limit-rate retry-delay
12Multi: single
13---
14Specify the maximum transfer frequency you allow curl to use - in number of
15transfer starts per time unit (sometimes called request rate). Without this
16option, curl will start the next transfer as fast as possible.
17
18If given several URLs and a transfer completes faster than the allowed rate,
19curl will wait until the next transfer is started to maintain the requested
20rate. This option has no effect when --parallel is used.
21
22The request rate is provided as "N/U" where N is an integer number and U is a
23time unit. Supported units are 's' (second), 'm' (minute), 'h' (hour) and 'd'
24/(day, as in a 24 hour unit). The default time unit, if no "/U" is provided,
25is number of transfers per hour.
26
27If curl is told to allow 10 requests per minute, it will not start the next
28request until 6 seconds have elapsed since the previous transfer was started.
29
30This function uses millisecond resolution. If the allowed frequency is set
31more than 1000 per second, it will instead run unrestricted.
32
33When retrying transfers, enabled with --retry, the separate retry delay logic
34is used and not this setting.