How to Choose a Dedicated Proxy Provider: 9 Things to Check
Buying dedicated proxies? Check these 9 things first: subnet spread, ASN, replacement terms, exclusivity, geo accuracy, billing and a 48-hour test.

Answer: choose the dedicated proxy provider whose delivered IP list survives inspection, meaning it spreads across many subnets, sits in an ASN your targets don't already block, comes with written replacement and renewal terms, and exits on the exact addresses you were assigned. Per-IP price is the last thing to compare, not the first.
Dedicated proxies are sold on one promise: the address is yours and nobody else's. Almost nothing on a pricing page lets you check that promise, or the three things that decide whether the IPs keep working after week two. This guide is the checklist we'd hand a colleague before they spend money, with the commands to run on the IP list once it arrives.
If you're still deciding whether you need dedicated IPs at all, start with our definition of a dedicated datacenter proxy and come back. This post assumes you've decided, and now have to pick a vendor.
The short answer
Shortlist two or three providers whose pages state exclusivity in plain words and publish a per-IP price. Buy the smallest order each allows. Then judge them on the IPs you actually receive, not on the marketing.
A good delivery of 50 dedicated proxies looks like this: the addresses span many /24 blocks rather than one or two, they announce from a hosting network that isn't one of the big public clouds, none of them has fresh abuse reports, each one exits as itself when you send a request through it, and the provider will tell you in writing how replacements and renewals work.
A bad delivery can still cost less per IP. That is exactly why price comes last.
What "dedicated" has to mean on the order page
Vendors use four labels loosely, and they are not interchangeable:
| Label | What you should get | What sometimes ships instead |
|---|---|---|
| Dedicated / private | One IP, one customer, for the whole term | IPs shared with 2-3 other buyers |
| Semi-dedicated | One IP shared by a small fixed group | An open shared pool |
| Static | An IP that doesn't rotate | A shared static IP with many users |
| Sticky session | The same exit IP for a period of time | A rotating pool that holds an IP briefly |
"Static" describes whether the address changes. "Dedicated" describes who else uses it. A static IP can be shared, and a sticky session is neither dedicated nor static. If the order page doesn't use the word dedicated or private, or buries "semi-dedicated" in the FAQ, assume you're buying shared capacity. Our comparison of shared vs dedicated datacenter proxies covers when that difference is worth paying for.
Scraping at scale? Skip the blocks.
Fast, unblockable datacentre proxies with unlimited bandwidth.
The 9 checks at a glance
| # | Check | What a good answer looks like | Where to verify |
|---|---|---|---|
| 1 | Exclusivity | Stated on the order page and in the terms, for the whole term | Terms of service, exit-IP test |
| 2 | Subnet spread | Your list covers many /24 blocks, no single block holds a large share | Group the delivered list by /24 |
| 3 | ASN | A hosting ASN you can name, not a major public cloud range | Bulk whois lookup |
| 4 | Replacement terms | A stated number of free swaps, from a different subnet, within a stated time | Support ticket before purchase |
| 5 | Renewal continuity | Same IPs kept on renewal, in writing | Support ticket before purchase |
| 6 | Geolocation | Country and city agree across two or three geo databases | Geo lookups on a sample |
| 7 | Billing and bandwidth | Per-IP price with the traffic allowance spelled out | Pricing page small print |
| 8 | Throughput and auth | Concurrency limits, protocols and whitelist slots listed | Docs, dashboard |
| 9 | Trial and refund | A test window or refund for IPs that arrive dirty | Refund policy |
The sections below take them in groups, because several checks answer the same underlying question.
IP quality: exclusivity, subnets and ASN
These three checks decide whether the IPs work on day one. They are also the three a pricing page tells you least about.
Check 1: Exclusivity you can actually test
You can't prove from the outside that nobody else holds your IP. You can catch the common ways the promise breaks.
First, confirm each proxy exits as the address you were given. If a request through proxy A comes out from address B, you're on a gateway in front of a pool, not a dedicated IP.
# proxies.txt: one "ip:port:user:pass" per line, as most dedicated vendors deliver them
while IFS=: read -r ip port user pass; do
exit_ip=$(curl -s --max-time 15 -x "http://$user:$pass@$ip:$port" https://api.ipify.org)
[ "$exit_ip" = "$ip" ] && echo "OK $ip" || echo "DIFF $ip -> ${exit_ip:-timeout}"
done < proxies.txt
Second, look for history the IP shouldn't have. A newly assigned dedicated IP with abuse reports from last week was recycled from another customer very recently. Check a sample on AbuseIPDB or a similar reputation service, and read our note on IP reputation for which signals matter.
Third, get exclusivity into the terms of service, not just the landing page. A sentence like "IPs are assigned to one customer for the duration of the subscription" is something you can hold a vendor to. "Private proxies" in a hero banner is not.
Check 2: Subnet spread
This is the check most buyers skip, and it's the one that decides how much a single block hurts you.
Anti-bot systems and rate limiters often act on a whole prefix, commonly the /24 (256 addresses). If your 50 dedicated IPs all sit in one /24, a target that bans that /24 takes out 100% of your list in one move. Spread the same 50 IPs across 25 blocks and the same ban costs you two addresses.
Group the list before you run anything else:
import ipaddress
from collections import Counter
ips = [line.split(":")[0] for line in open("proxies.txt") if line.strip()]
blocks = Counter(str(ipaddress.ip_network(f"{ip}/24", strict=False)) for ip in ips)
print(f"{len(ips)} IPs across {len(blocks)} /24 blocks")
for block, n in blocks.most_common(5):
print(f" {block:<18} {n} IPs ({n / len(ips):.0%})")
There's no universal threshold, but read the output like this: if the largest block holds more than a fifth of your list, one prefix ban becomes a serious outage. Many sequential addresses in one block also look like one operator to a target, whatever the vendor calls them. Some vendors sell spread across subnets as an explicit option, which is the idea behind subnet proxies. If you need it, ask for it before ordering, because it's usually allocated at purchase time.
Check 3: ASN, and who announces the range
Every IP is announced by an Autonomous System. Targets that block datacenter traffic usually do it by ASN, and some block the major cloud ranges on sight because those ranges are published and easy to load into a firewall. Our explainers on datacenter ASNs and cloud provider IP ranges go deeper.
Team Cymru's free bulk whois service returns the ASN, BGP prefix and AS name for a list of IPs in one query:
# build the query file, then send it to whois.cymru.com on port 43
{ echo begin; echo verbose; cut -d: -f1 proxies.txt; echo end; } > asn-query.txt
nc whois.cymru.com 43 < asn-query.txt | awk -F'|' 'NR>1 {print $1 "|" $7}' | sort | uniq -c
Three things to look for in the result. The AS names should belong to hosting or network companies, not to AWS (AS16509), Google (AS15169) or Microsoft (AS8075) if your targets are strict. More than one ASN is better than one. And the AS name should make sense for the vendor: a provider claiming its own network whose every IP announces from a single well-known budget host is reselling, which isn't wrong in itself but should change how much you trust the rest of the pitch. The fake provider checklist covers resale signals in more detail.
Lifecycle: replacement, renewal and geolocation
Checks 4 to 6 decide whether the IPs keep working in month three. None of them shows up in a first-day test, which is why they cause most of the regret.
Check 4: Replacement terms
A dedicated IP will eventually get blocked somewhere you care about. What happens next is a policy question, so ask it in a support ticket before you pay:
- How many free replacements per month or per term?
- How fast are replacements issued: instantly from a dashboard, or by ticket within a stated time?
- Does the replacement come from a different /24? A swap inside the banned block is useless.
- Is a replacement granted because the IP is blocked on your target, or only if the vendor agrees it's faulty?
The answer to that last question matters most. Some providers only replace addresses that fail a connectivity check, which does nothing for an IP that connects fine but returns 403 on your target.
Check 5: Renewal continuity
If your dedicated proxies sit on a partner's allowlist, a bank's API allowlist, or behind a firewall rule, a new set of addresses at renewal is an outage. Ask whether renewing keeps the same IPs, and whether a lapsed payment of a day or two releases them back to the pool. Longer terms often cost less per IP, but a 90-day commitment only helps if the addresses survive the renewal. Our guide to IP whitelisting for proxies explains why allowlisted setups break so badly on address changes.
The reverse also applies: ask what happens to your IPs after you leave. If they go straight to the next customer, whatever reputation you built, good or bad, goes with them.
Check 6: Geolocation that agrees with the databases
Vendors label an IP's country from the registry allocation or their own routing. Your target labels it from whichever commercial geo database it licenses. When those disagree, a "US" dedicated proxy can show up in a target's logs as somewhere else, and geo-gated content or pricing changes.
Look up a sample of five to ten IPs in two or three geo databases and compare country, region and city. Country disagreement is a red flag. City disagreement is common and only matters if you target city-level results, such as local search rankings. The full method is in our guide to validating IP geolocation and fraud scores.
Cost: billing unit, bandwidth and throughput
Now price, once the IPs have earned a place on the shortlist.
Check 7: The billing unit and what it excludes
Dedicated proxies are almost always sold per IP per month, with discounts for volume or longer terms. The number that matters is not the headline rate. It's what the rate excludes:
- Traffic allowance. "Unlimited" and "100 GB per proxy, pooled" are very different products for a job that pulls heavy pages. Check whether bandwidth is metered on top of the per-IP fee.
- Quantity tiers. Many vendors price small orders much higher per IP. The starting price usually assumes a large order.
- Term lock-in. A cheaper 90-day rate is prepaid for 90 days. If the IPs turn out blocked on your target in week one, check the refund policy before you take the discount.
As an illustration only, using the published figures in the provider table below: 100 dedicated IPs for 30 days would be about $157 at IPRoyal's 30-day rate and $170 at Bright Data's 100-IP tier. Those two totals look close, but one includes a pooled traffic allowance and the other's terms need reading separately. Compare what you'd actually pay for your traffic, not the per-IP line. Our breakdown of datacenter proxy pricing models walks through the maths.
Check 8: Throughput limits
Dedicated doesn't mean unlimited speed. Ask for three numbers: concurrent connections allowed per IP or per account, the port speed (and whether it's shared), and any requests-per-second cap. A dedicated IP limited to a handful of concurrent connections won't support a high-volume job however clean it is. See concurrent connections in proxies for how to size this against your workload.
Access: authentication and the trial
Check 9: Authentication options, protocols and a real trial
Three access details trip teams up after purchase:
- Authentication. Username and password works from anywhere. IP whitelisting is cleaner for fixed servers, but check how many whitelist slots you get, because CI runners and autoscaling groups change egress IPs.
- Protocols. HTTP(S) covers most scraping. If you run tools that need SOCKS5, confirm it's included on the dedicated product, not only on another plan.
- Trial or refund. You want either a short test period or a refund for IPs that are blocklisted or mislocated on delivery. A vendor that won't replace a dirty IP in the first 48 hours won't be quicker in month three.
What four providers publish about dedicated proxies
Every competitor figure below was read from that vendor's own dedicated or datacenter proxy page on 17 September 2026. Prices and terms change often, so treat this as a dated snapshot and check the vendor's site for current rates before buying.
| Provider | Published dedicated price | Pool and locations (as published) | What the page says about subnets or replacement |
|---|---|---|---|
| Oxylabs | From $1.20/IP; its calculator showed $2.25/IP for a 3-IP order | 1.9M+ IP pool, 188 countries | Claims "high ASN and subnet diversity", no figure given; replacement policy not stated on the product page, so ask sales or check their docs |
| Bright Data | $2.20/IP at 10 IPs, $1.70 at 100, $1.50 at 500, $1.30 at 1,000 | 1,300,000+ datacenter IPs, 98 locations | Says datacenter IPs "can be kept for as long as you need them"; replacement policy not stated on the product page, so ask sales or check their docs |
| IPRoyal | $1.57/proxy for 30 days, $1.48 for 60, $1.39 for 90 | 60+ locations; 100 GB traffic per proxy per cycle, pooled | Subnet spread and replacement terms not stated on the product page, so ask sales or check their docs |
| SparkProxy | Does not sell per-IP dedicated lists | 1M+ datacenter IPs, 80+ countries | Thread-based rotating plans, covered below |
Two things stand out. None of the three dedicated vendors publishes a subnet count or a replacement policy on the product page, which is exactly why checks 2 and 4 have to happen in a support ticket and on the delivered list. And the pool size figures describe the whole network, not how many distinct blocks your order will be drawn from.
On SparkProxy: our proxy plans are sold by concurrent threads, not by assigned IP. Starter is $75/mo for 100 threads, Core $140/mo for 250, Boost $240/mo for 500 and Plus $440/mo for 1,000, all with unlimited bandwidth over 30 days. Traffic goes through gateway.sparkproxy.io, rotating per request on port 11000, with a sticky-session port on 11002 and SOCKS5 on 13000. That's the right shape for high-volume scraping where no single address needs to survive. It's the wrong shape if you need a fixed IP on a partner's allowlist, and in that case one of the dedicated vendors above is the better buy. For a wider ranking, see our comparison of the best datacenter proxy providers.
A 48-hour acceptance test
Buy the smallest order each shortlisted vendor allows, then run the same test on each. Record results in one sheet so the comparison is honest.
Hour 0 to 1: the delivered list
- Run the exit-IP loop from check 1. Every line should read
OK. - Run the /24 grouping from check 2. Note the block count and the largest block's share.
- Run the ASN lookup from check 3. Note the AS names and whether any is a major cloud.
Hour 1 to 4: reputation and location
- Look up a sample on a reputation service and in two geo databases. Note any abuse reports and any country mismatch.
Hour 4 to 48: your own targets
- Send a realistic, polite request rate through each IP to the sites you actually care about, and log status codes per IP. A proxy test against a generic IP-echo page tells you almost nothing about your target. Our proxy testing guide has a fuller harness.
import csv, requests
TARGETS = ["https://www.sparkproxy.io/", "https://www.sparkproxy.io/pricing"] # swap in your real targets
with open("proxies.txt") as f, open("results.csv", "w", newline="") as out:
w = csv.writer(out)
w.writerow(["ip", "url", "status", "seconds"])
for line in f:
ip, port, user, pw = line.strip().split(":")
proxy = f"http://{user}:{pw}@{ip}:{port}"
for url in TARGETS:
try:
r = requests.get(url, proxies={"http": proxy, "https": proxy}, timeout=20)
w.writerow([ip, url, r.status_code, round(r.elapsed.total_seconds(), 2)])
except requests.RequestException as e:
w.writerow([ip, url, type(e).__name__, ""])
- File one replacement request for your worst IP. Time the response and check which /24 the new address comes from.
At the end, the vendor with the most 200s on your targets, the widest subnet spread and the fastest honest replacement wins. If two are close, then compare price.
When dedicated proxies are the wrong purchase
Dedicated proxies solve one problem: you need an address that stays yours. They're the wrong buy in three common cases.
You need volume, not identity. Scraping many pages from targets that rate-limit per IP rewards a large rotating pool, not 50 fixed addresses you have to pace carefully. A concurrency-priced plan usually costs less per successful request here.
Your target blocks datacenter ASNs outright. A clean, exclusive datacenter IP is still a datacenter IP. If the first request returns 403 regardless of pacing and headers, no dedicated datacenter provider fixes it. Look at ISP proxies vs datacenter proxies instead.
You only need the same IP for a few minutes. Logins and multi-step checkouts often just need consistency for the length of a session. A sticky session proxy does that without paying for an address around the clock.
If none of those apply and a fixed address really is part of how your system works, run the nine checks, and let the delivered list make the decision for you.
Frequently asked questions
FAQ
Look for written exclusivity, IPs spread across many /24 subnets, a hosting ASN your targets don't block, clear replacement and renewal terms, and geolocation that matches the major geo databases. Compare per-IP price only after a small test order passes those checks.
You can't prove exclusivity from outside, but you can catch the usual failures. Confirm each proxy exits as its own assigned address, check a sample for recent abuse reports that a newly assigned IP shouldn't have, and make sure exclusivity is stated in the terms of service rather than only on the landing page.
There's no fixed standard, but more is safer. Group your delivered list by /24 and look at the largest block: if more than about a fifth of your IPs share one /24, a single prefix ban on your target takes out a large part of your list at once.
As of September 2026, published dedicated datacenter rates run from about $1.20 to $2.25 per IP per month at Oxylabs, Bright Data and IPRoyal, with lower rates for larger orders or longer terms. Check each vendor's site for current prices and whether traffic is metered on top.
Most vendors offer some replacement, but none of the three dedicated product pages we reviewed spells out the policy. Ask before buying how many free swaps you get, how fast they arrive, whether the new IP comes from a different subnet, and whether being blocked on your target qualifies.
Only when a fixed address matters, such as logins, allowlisted APIs or account sessions. For high-volume scraping of targets that rate-limit per IP, a large rotating datacenter pool is usually cheaper per successful request and more resilient to blocks.
Get 20% off your first month
Premium datacentre proxies with unlimited bandwidth. Use the code at checkout.
Save up to 15% more on quarterly, half-yearly and yearly plans
Related articles

Scraping API Pricing: How Credit Multipliers Set Real Cost
Scraping API pricing explained: how JS rendering, premium proxies, domain surcharges and billed failures multiply credit costs, with a worked estimate.

How to Read a Proxy Provider SLA Before You Sign
How to read a proxy SLA clause by clause: what counts as downtime, exclusions that void it, how service credits are calculated and claimed, what to negotiate.

Proxy Pool Size Claims: What Millions of IPs Really Means
Proxy pool size claims decoded: how vendors count IPs, the discounts between headline and usable pool, and a sampling method to estimate the pool you reach.
