Playground Sign in Start free
Resource · Infrastructure

Pick the right proxy. Save 5× on credits.

Most teams overspend by defaulting to residential everywhere. The 80/20 is: datacenter handles most of the web, residential handles the protected long tail, mobile is for the dozen sites that need it. Here’s a decision tree, real metrics, and the parameters to set.

Last updated Mar 2026
1

What proxies do, briefly

A proxy sits between your scraper and the target. Every request is forwarded through it; the target sees the proxy’s IP, not yours. That gives you three things: anonymity (your real IP isn’t on the target’s logs), distribution (no per-IP rate limits when you rotate), and geo-targeting (request from the country the site expects).

Sites monitor request patterns per IP. Too many requests from one IP → rate limit, soft block, CAPTCHA, or hard ban. Different proxy types exist because different sites do different kinds of monitoring. The 80/20 isn’t about which proxy is “best” — it’s about matching tier to target.

2

The decision tree (the 80/20)

Skip the rest of this page if you only read one section. Match your target to the row that fits — the recommended stack is in the middle column. Real-world success rates measured across our customers in Q1 2026.

Target type
Recommended proxy
Why
Success rate
Public docs, blogs, government data, RSS
Datacenter
No bot detection or trivial UA-only checks. Pay for speed and cheapness, not stealth.
~95% success
Mid-tier e-commerce, news, B2B SaaS marketing pages
Datacenter, fall back to Residential on 403
Light Cloudflare/CF-bot-management. Auto-failover catches the 5–10% that need a clean IP.
~92% success on datacenter alone
Amazon, eBay, Walmart, Booking, Airbnb, Zillow
Residential, geo-matched
Aggressive IP-reputation scoring. Datacenter ASNs are pre-flagged.
~98% success
Google SERP, Maps, News, Flights
Residential, city-level geo where possible
Personalised by IP geo. Country-level isn’t enough for accurate SERPs.
~96% success
LinkedIn, Twitter/X, Instagram
Residential or Mobile, sticky session
Account-bound rate limits + behavioural scoring. Per-call rotation looks abnormal.
~90% success with sticky
Banking portals, login walls
Out of scope — not a public scraping target
Don’t. We don’t solve CAPTCHAs on auth gates either.
N/A
The cheap default that works
auto_proxy=true is the “you decide for me” option: starts on datacenter, falls back to residential on 4xx, mobile if needed. You only pay residential rates when residential is what got the 2xx. Most teams’ effective per-request cost lands around 1.4 credits.
3

Cost, latency, and trust by tier

The trade-offs are linear in obvious ways and non-linear in subtle ones. Datacenter is 5× cheaper than residential but only ~5% lower in success rate on most sites — making it almost always the right first attempt. Mobile costs 10× datacenter and only matters on a small set of targets where the marginal trust unlocks the page.

Tier
Cost / req
Latency p50
Trust
Geo
Pool size
Datacenter
1 credit
~250ms
Low
Country
50K+ IPs
Residential
5 credits
~600ms
High
City
50M+ IPs
Mobile / 4G
10 credits
~900ms
Highest
Carrier-region
~5M IPs
Custom (BYO)
0 (your pool)
Yours
Yours
Yours
Yours
4

Proxy types, when each one matters

The same six categories show up across every provider — naming varies, behaviour doesn’t.

Datacenter Fast Cheap

Cloud-provider IPs (AWS, GCP, OVH, Hetzner). Identifiable by ASN. Use for sites that don’t do IP-reputation scoring.

Residential High trust Default

Real ISP-assigned IPs. Carry the trust score of an actual home connection. Default for protected sites.

Mobile / 4G Highest trust Premium

Carrier-NAT IPs. Shared by thousands of real users — banning one bans many. Reserved for the hardest targets.

Rotating Per-request Default

Fresh IP for every request. Removes per-IP rate limits, no session bookkeeping.

Sticky Session Multi-step

Same IP for N minutes via a session ID. Required for logins, paginated state, anything cookie-bound.

Custom (BYO) Your pool

Plug your own pool into the engine. We handle rendering, you handle IPs.

5

How auto-proxy actually works

auto_proxy=true implements the decision tree at request time. The loop is: try cheap, escalate on failure, return on success. You’re only billed for the request that actually returned a 2xx — failed escalation steps are free.

1
Datacenter attempt

First request goes through datacenter. Returns immediately on 2xx/3xx (other than 404 misroutes).

try datacenter
2
Residential escalation

On 4xx/5xx (except 404), retries with residential. New IP, new TLS handshake, fresh challenge cookies.

on fail → residential
3
Mobile fallback

For the hardest targets, falls back once more to mobile/4G after a residential failure.

on fail → mobile
4
Direct as last resort

If every proxy tier fails, attempts a direct connection. Almost never useful but ensures we never silently drop the request.

on fail → direct
Triggers escalation
  • Network timeout / DNS error
  • HTTP 400, 403, 429, 500, 503
  • Empty 200 with CAPTCHA body
  • Proxy connection failure
Returns immediately
  • HTTP 200 with valid body
  • HTTP 301 / 302 redirects
  • HTTP 404 (genuinely not found)
6

Rotation: per-call vs sticky sessions

Two questions decide which one fits: (1) does the target track sessions, and (2) does the scrape need cookie/state continuity across requests?

Per-call rotation (default)

Fresh IP per request. Best for high-volume stateless scraping — product catalogs, SERP tracking, news monitoring. No per-IP rate limits, no extra cost.

Sticky sessions

Pin an IP for up to 30 min via proxy_session="sess_42". Required for logins, multi-step forms, and paginated results that bind to IP. Same key reuses the same exit IP.

Session length, in practice
Rotate sticky sessions every ~10 minutes even when the target tolerates longer. IP reputation degrades during a session as you accumulate request history; cycling refreshes it.
7

Geo-targeting that actually works

“US proxy” is rarely specific enough. Amazon shows different prices in California vs Texas. Google SERPs vary city to city. A US proxy on a US site triggers fewer challenges than a foreign IP — match the geo, and the rest of the stack relaxes.

cURL · country-level geo
curl -X GET 'https://api.example.com/scrape' \
  -H 'ApiKey: YOUR_API_KEY' \
  -G \
  --data-urlencode 'url=https://www.amazon.com/dp/B08N5WRWNW' \
  --data-urlencode 'premium_proxy=true' \
  --data-urlencode 'proxy_country=US'

Pool granularity by tier: datacenter ≈ country, residential ≈ city, mobile ≈ carrier-region (often 1–2 metro areas). For city-level Google SERPs, residential is the floor.

8

Proxy API parameters

All proxy configuration is request parameters — no separate proxy SDK to wire up.

Parameter
Type
Default
Description
auto_proxy
boolean
false
Cycle through tiers (datacenter → residential → mobile) until a 2xx/3xx is returned. Catches transient blocks without per-request tier selection.
proxy_type
enum
rotating
rotating, premium (residential), mobile, custom, builtin (datacenter). Pin a tier when you know what you need.
premium_proxy
boolean
false
Shorthand for residential. Use with auto_proxy off when residential is required from request 1.
proxy_country
string
auto
ISO country code. 195+ available. Sets Accept-Language and timezone too.
proxy_session
string
Sticky session key. Same value reuses the same exit IP for up to 30 min.
custom_proxy
string
http://host:port or socks5://host:port for BYO routing.
custom_proxy_username
string
Auth username for custom_proxy.
custom_proxy_password
string
Auth password for custom_proxy.
9

Code examples

Auto-proxy with failover (the cheap default)

cURL · auto_proxy
curl -X GET 'https://api.example.com/scrape' \
  -H 'ApiKey: YOUR_API_KEY' \
  -G \
  --data-urlencode 'url=https://example.com' \
  --data-urlencode 'auto_proxy=true'

Residential + country targeting

Python · residential US
import requests

response = requests.get(
    'https://api.example.com/scrape',
    params={
        'url': 'https://protected-site.com',
        'premium_proxy': 'true',
        'proxy_country': 'US',
    },
    headers={'ApiKey': 'YOUR_API_KEY'},
)
print(response.text)

Sticky session for paginated scraping

Node · sticky session
// Same session key = same exit IP across the loop
for (let page = 1; page <= 5; page++) {
  await fetch('https://api.example.com/scrape?' + new URLSearchParams({
    url: `https://example.com/page/${page}`,
    premium_proxy: 'true',
    proxy_session: 'my-session-123',
  }), { headers: { ApiKey: 'YOUR_API_KEY' } });
}
10

FAQ

When is datacenter actually fine?

About 60% of the public web in our measurements: most blogs, docs sites, news outlets without paywalls, government data, B2B SaaS marketing pages. The reliable signal is whether the site has Cloudflare’s “Bot Fight Mode” on, or runs Akamai Bot Manager — if not, datacenter clears just fine.

How does auto_proxy save credits vs always-residential?

You only pay for the tier that actually returned the 2xx. If 70% of your URLs clear on datacenter, that’s 70% at 1 credit instead of 5 — a 3.2× cost reduction at the same success rate.

Do failed proxy attempts consume credits?

No. Only the request that returned a usable 2xx (or a real 404) is billed. Failed escalation steps are free.

Can I bring my own proxy pool?

Yes. custom_proxy + auth credentials. We handle browser rendering, you handle IPs. Often used by teams with existing residential contracts who still want our anti-bot stack.

How many countries are available?

195+. Country-level on every tier; city-level for residential and mobile in the major markets (US, UK, DE, FR, JP, AU, BR, IN).

Should I combine proxies with stealth mode?

Yes. Proxies and stealth address different layers — IP reputation vs browser fingerprint. They multiply rather than add. See the fingerprinting guide.

What’s the latency overhead of residential?

~350ms over datacenter on average. The IP is a real home connection, so its uplink isn’t a colo backbone. For batch scraping this barely matters; for interactive use it’s the main reason to keep datacenter as the first attempt.

Do you support SOCKS5?

For BYO proxies, yes — pass socks5://... as custom_proxy. Our managed pools are HTTPS-only.

Ship Ujeebu tonight.

5,000 credits free. No card. Real residential proxies on the free tier.