Free developer tools

Proxy Requirement Calculator

Estimate how many proxies your job needs from its request volume, deadline and per-IP limits. Four numbers you already have or can measure in an afternoon go in, and the calculator shows every step of the working.

Example settings to start from. Their figures are illustrations, not measurements of any target.

Include every page of pagination, every API call a page fires and every asset you fetch.

The time the run has to finish in, not the calendar day.

Your measured r: the rate one address sustains against this target. It depends on the target, not on the provider.

What your deadline needs running at once. Leave at 0 if you do not know it yet.

Defended targets often cap this at one or two, independently of request rate.

Share of attempts that return no usable response (timeouts, resets, 403s, 429s, challenge pages) and get retried. Measure it on a small sample against your target. 0 to 95.

Measure it with your real fetch settings. HTML only and everything-loaded differ by an order of magnitude.

Only changes the plan size. Bandwidth packages are monthly, so a daily job runs about 30 times.

Estimated proxies needed

14

This is the estimated minimum from the inputs above. Real runs usually want some headroom over it: new addresses start with no history, some trip a defense and need resting, and volume tends to grow.

Which product fits

A static pool, bought by the address

14 addresses is within the 100 this calculator treats as a pool you can shard yourself, and the 0% failure allowance is under the 30% point where it switches to rotating. You are sizing an address count, so per-IP pricing fits.

Smallest listed size that covers 14 addresses: Premium Datacenter, 25 addresses at $32.25/mo. See Premium Datacenter pricing

The working

Run window
28,800 s
Peak aggregate rate
6.9 req/s
Per-IP rate (r)
0.50 req/s
Rate floor
13.9 addresses
Concurrency floor
not given
Binding constraint
Pace against the per-IP rate limit
Retry multiplier
1.00x
Requests including retries
200,000
Requests per proxy
14,286
Each proxy busy for
7 h 56 min of the window (99%)
Bandwidth for the run
80.0 GB

The same job at other failure rates

Illustrative rates, worked by the same formula as the answer above. Your own input is highlighted.

Failure rateAttempts per successProxiesGB / runShape
0% (yours)1.001480.0 GBStatic
5%1.051584.2 GBStatic
20%1.2518100 GBStatic
40%1.6724133 GBRotating

What this number assumes

  • No in-flight figure was given, so only the rate floor was computed. If your target caps simultaneous connections per address, that can set a higher floor on its own.
  • With a 0% failure allowance this is the paper number: every attempt succeeds first time. Enter the failure rate you measure against your own target, and use the sensitivity table to see how far the answer moves.
  • Every address would be working almost the entire window at its tolerated rate, with no slack for a cold start or a rested address. Plan for some headroom above this floor.
  • More addresses only help when the limit is keyed to the address. A limit keyed to an account, an API key, a session cookie or a fingerprint follows your traffic through every exit you own.

How the number is derived

Two independent floors, and the larger one wins. The rate floor is your peak aggregate request rate divided by the rate a single address is tolerated at. The concurrency floor is the number of requests you need in flight divided by the simultaneous connections one address is allowed. The retry multiplier then inflates whichever floor won, because a failed attempt still costs a request.

  1. Count the full request volume, pagination and per-page extras included.
  2. Convert it to peak requests per second over the run window.
  3. Rate floor: peak rate divided by r.
  4. Concurrency floor: required in-flight divided by the per-address cap.
  5. Take the larger floor, then apply the retry multiplier.
  6. Decide the shape: an address count you shard, or bandwidth through a pool.

Rates are converted to requests per second and windows to seconds before anything is divided, so 30 per minute and 0.5 per second give the same answer. Bandwidth is attempts including retries times the average transfer, in decimal units (1 GB is 1,000,000 KB). It counts a failed attempt at full size, so treat it as an upper estimate. The calculator suggests a static pool while the answer is 100 addresses or fewer and the failure allowance is under 30%, and a rotating gateway otherwise. Those two cut-offs are planning rules of thumb, shown so you can apply your own. The plan size is the smallest listed size that covers the answer: addresses for a static pool, or GB per run times runs per month for a rotating one.

Failures and the retry multiplier

A failure is any attempt you have to repeat to get the response you need: a timeout, a reset connection, a 403 or 429, or a challenge page in place of content. If a share f of attempts fail and every failure is retried until it succeeds, each success costs 1 / (1 − f) attempts on average, so attempts = requests / (1 − f). At 20% that is 1.25 attempts per success and at 40% about 1.67. At 100% no number of retries finishes the job, which is why the field stops at 95%. The multiplier assumes failures are spread evenly across attempts; a target that blocks an address outright after a few tries costs more than this.

To measure your own rate, send a few hundred requests to your target at the pace you plan to run, through the kind of address you plan to use, and divide the failed attempts by the total. The rate moves with pace, time of day and the target's defenses, so re-check it before a large run. The 5%, 20% and 35% in the example settings are illustrations, not typical values.

Measuring r

r is the sustained rate one address holds against your specific target before the 429s and challenge pages start. It depends on that target's defenses, not on any proxy, so it has to be measured. From one address, request at a gentle pace, step the rate up while holding at each level, and take half of the last clean rate as your working figure. The headroom is deliberate, because limits are enforced over bursts rather than smooth averages. Re-measure per target and re-measure occasionally, since defenses change without announcement.

When more proxies will not help

More addresses raise your ceiling only when the limit is keyed to the address. Limits keyed to an account, an API key, a session cookie or a TLS fingerprint follow your traffic through every exit you own, so a job that collects 429s can triple its pool and collect the same 429s. The check takes minutes: run the same pattern through two exits at once. If combined throughput roughly doubles, the limit is per-address and more addresses help. If it stays put, the fix is pacing, session handling or header hygiene, and this estimate does not apply.

The full derivation, with worked examples

This calculator implements the arithmetic from How Many Proxies Do I Need: The Actual Math, which walks two jobs at different scales through the same steps, covers why the window and r dominate the result far more than page count does, and explains when a rotating gateway is the better shape than a static pool you shard yourself. If you already know your address count and just need the connection details, the connection string builder takes it from there.

The infrastructure behind these tools

Need proxies behind your code?

Node4 sells datacenter, rotating and residential proxies over HTTP(S), with SOCKS5 on paid plans. Datacenter and rotating exits are in the US, Italy and Spain; residential exits cover 170+ countries. Start with free proxies, no card required.