Residential Proxies: Real IPs in 170+ Countries

Consumer connections in 170+ countries, targeted by country, state, city or ASN from the proxy username.

From $7.47 a month for 3 GB

That is $2.49/GB at 3 GB, and the rate falls as the volume rises.

  • Country, state, city and ASN targeting on every residential plan.
  • Exits from an upstream partner network across 170+ countries.
  • HTTP(S) / SOCKS5 on the same credential, targeting on both.
Visa Mastercard American ExpressAMEX PayPal Bitcoin Card, PayPal, Bitcoin or USDT
  • 7-day refund on your first order
  • Billed monthly. Cancel anytime, keep access to period end.

Not sure you need residential? Test your target through a free allocation of shared datacenter proxies first, no card required.

Start free

Plans and pricing

Billed monthly. Card and PayPal renew automatically until you cancel. Bitcoin cannot be collected from your wallet, so a Bitcoin plan does not renew on its own unless your account credit covers the renewal in full; otherwise you pay the renewal invoice from your dashboard. Cancel anytime from your own settings. You keep access until the end of the period you have paid for.

Residential

Residential exits from a partner network, with country, state, city and ASN targeting

BandwidthPrice per GBTotalDiscountSelect this plan
3 GB$2.49/GB$7.47 /mo-
5 GB$2.29/GB$11.45 /moSave 8%
10 GB$1.99/GB$19.90 /moSave 20%
25 GB$1.69/GB$42.25 /moSave 32%
50 GB$1.39/GB$69.50 /moSave 44%
100 GB Popular$0.79/GB$79.00 /moSave 68%
250 GB$0.75/GB$187.50 /moSave 70%
500 GB$0.70/GB$350.00 /moSave 72%
1 TB$0.65/GB$650.00 /moSave 74%
5 TB$0.49/GB$2,450.00 /moSave 80%
Bandwidth
Per GB pricing
Threads
Unlimited
Protocols
HTTP(S) / SOCKS5
Sessions
Per tunnel or request, or sticky (best effort, up to 30 min)

Is this the right product for you?

Choose residential when the target refuses datacenter ranges outright: retail, travel, social, ticketing, anything behind serious bot protection. It costs more per gigabyte and its exits are consumer connections, so it is the wrong buy for bulk transfer or for APIs that accept hosting traffic, where rotating datacenter does the same work for less. A residential exit changes which network the target sees; it is not a promise of access. If you are unsure, test rotating datacenter first.

What you get

Residential in 170+ countries
Country, state, city and ASN targeting, all set in the proxy username rather than by switching endpoints. These exits come from an upstream partner network and are resold, which is why residential is billed by the gigabyte.
Both protocols, no upcharge
HTTP(S) / SOCKS5 on every tier of this product, on one credential, at no extra charge.
170
Residential countries
Country, state, city
Residential targeting
Sticky or rotating
Sessions

Connection details

One hostname for every country. Targeting is chosen in the username, so you never switch endpoints or rotate credentials to change market.

Host
gw-residential.node4.io
HTTP(S) port
8082
SOCKS5 port
1082

Code examples

cURL
# Anywhere
curl -x http://USER:PASS@gw-residential.node4.io:8082 https://api.ipify.org

# United States
curl -x http://USER-country-us:PASS@gw-residential.node4.io:8082 https://api.ipify.org

# One city, over SOCKS5 (same credential)
curl --socks5-hostname \
  USER-country-au-state-nsw-city-maitland:PASS@gw-residential.node4.io:1082 \
  https://api.ipify.org
Pythonpip install requests[socks]
import requests

USER, PASS = "user-42-abc123", "your-password"
HOST = "gw-residential.node4.io"

# Country-targeted
proxies = {
    "http":  f"http://{USER}-country-de:{PASS}@{HOST}:8082",
    "https": f"http://{USER}-country-de:{PASS}@{HOST}:8082",
}
print(requests.get("https://api.ipify.org", proxies=proxies, timeout=30).text)

# Sticky session: the same exit IP across requests.
# The session id is yours to pick: letters and digits, up to 32 chars.
# Reuse it to hold the exit; change it to move to a fresh one.
sticky = {
    "https": f"http://{USER}-country-us-session-482913:{PASS}@{HOST}:8082",
}
with requests.Session() as s:
    for _ in range(3):
        print(s.get("https://api.ipify.org", proxies=sticky).text)
Node.jsnpm install undici
// Import fetch from undici as well: a dispatcher only works with the
// fetch from its OWN undici install. Node's global fetch is a separate
// internal copy and throws on this dispatcher. { agent } is ignored.
import { fetch, ProxyAgent } from "undici";

const USER = "user-42-abc123";
const PASS = "your-password";

const dispatcher = new ProxyAgent(
  `http://${USER}-country-gb:${PASS}@gw-residential.node4.io:8082`
);

const res = await fetch("https://api.ipify.org", { dispatcher });
console.log(await res.text());
Scrapy
# Rotate country per request by changing the username - no endpoint
# changes and no credential juggling.
def start_requests(self):
    for country in ("us", "gb", "de", "br"):
        yield scrapy.Request(
            "https://api.ipify.org",
            meta={
                "proxy": (
                    f"http://user-42-abc123-country-{country}"
                    ":PASS@gw-residential.node4.io:8082"
                )
            },
            dont_filter=True,
        )

How a request is routed

Your client connects to gw-residential.node4.io and authenticates with your username and password. The gateway reads the targeting segments out of the username, checks each one against your plan, and selects an exit in the partner network that matches: a household connection in the country, state or city you asked for. Your request leaves from that consumer address and the response returns along the same path. For HTTPS the gateway carries an opaque CONNECT tunnel, so the TLS session runs end to end between your client and the destination; we relay encrypted bytes and do not terminate them. The target sees the household connection: its IP, its ISP, its geography.

Targeting down to the city

Targeting rides in the username, so you can change country per request without touching the dashboard or rotating credentials. Every segment is validated against your plan before the connection is made, and an entitlement you do not have is refused with a reason rather than silently downgraded. The dashboard builder lists every targetable country, state and city from the live coverage snapshot. Coverage is uneven, because the pool is made of real devices and concentrates where people run them: two nearby cities can differ sharply in depth, so test a city against your own workload before you plan around it.

  • user-42-abc123-country-us: anywhere in the United States
  • user-42-abc123-country-au-state-nsw-city-maitland: one city
  • user-42-abc123-session-482913: hold one exit IP across requests

Sticky sessions

Reuse a session id to keep the same exit IP across requests. The hold is best effort, for up to 30 minutes from when the pin is first assigned. Exits are real consumer connections, so one can drop sooner if its device goes offline, and a dropped pin is not replaced until that ceiling passes: after repeated failures, switch to a new session ID. A session id is any string of letters and digits, up to 32 characters, that you choose: send the same id to stay on the same exit, change it to start a new pin, and the dashboard builder generates one for you. If a target has soured on your current exit, change the session id. In default rotation, without a session id, each new connection or plain-HTTP request is assigned its own exit, so a transient failure is worth one retry before it is worth an investigation.

Session ids: technical details

Session identifiers are hashed per customer before they reach the upstream network, so nobody can steer onto your exit by guessing your session id. Hashing cannot reserve an address: the partner network's session space is finite, so under heavy concurrent use two sessions can land on the same exit. A sticky exit is yours for the session, not exclusive to you. With a session id, HTTP(S) and SOCKS5 resolve to the same session, so an exit pinned over one protocol stays pinned over the other; without one, each connection on either protocol rotates.

Where the IPs come from

Our residential IPs come from a partner network, not from ranges Node4 owns. Before we put it on sale we spot-checked 30 exits on 27 July 2026: all 30 carried traffic, and none of them came from a hosting range. That is a sample of 30, not a survey of the pool. The per-country figures on this page are read from the live coverage snapshot and refreshed daily. There is no per-city count anywhere on the site, because the supplier's city figures do not track city size. The datacenter, shared and rotating products run on IP blocks Node4 owns.

What we measured

We measured the gateway again on 14 September 2026: 170 of 170 untargeted requests came back, one batch of 100 returned 100 different exit addresses, and 107 of 110 US-targeted requests came back. Latency was timed separately over 40 requests per mode: a median of 905 ms untargeted and 421 ms targeted at the US, though our test origin is in the US, so that gap is distance as much as it is targeting. City depth is the uneven part and worth knowing before you plan around it: in the same session Los Angeles returned 26 different addresses in 30 requests while Santa Clara returned 2 in 60, so test a city before you depend on it. That is one session from one origin, not a guarantee. Method: a neutral IP-echo endpoint, one connection per request, no retries, failures counted as failures. Every figure is a count with the number of requests it came from.

When residential is the wrong choice

If the job moves gigabytes rather than making many small requests, a per-GB price charges for exactly that, and a dedicated datacenter proxy with unlimited bandwidth does the same work for a flat monthly price. If response times matter, a household connection is more variable than a datacenter uplink, and targeting does not change that. And if your target accepts hosting ranges, which includes most APIs and many ordinary websites, you would be paying the residential premium for a property you do not need. Try rotating or dedicated datacenter first and move here when the target requires it.

What you are buying

Residential is a monthly plan: you buy a bandwidth allowance for one month of service, with no long-term contract and no minimum term. The allowance resets when a new period starts, so gigabytes you did not use do not carry forward, and unused top-up bandwidth expires with the period it was bought in. Card and PayPal plans renew automatically at the end of each period. Bitcoin cannot be collected from your wallet, so a Bitcoin plan does not renew by itself unless your account credit covers the renewal in full; otherwise you pay the renewal invoice from the dashboard before the period ends. Canceling from Plans or Settings stops the next renewal, and access continues until the paid period ends. Auto top-up is a setting on your account rather than on a subscription, so canceling a plan does not switch it off by itself.

What each payment method does at the end of a period, and what cancellation and reactivation change, is set out in the subscription management guide.

Keeping per-gigabyte costs under control

Bandwidth is metered on bytes transferred in both directions. The biggest saving in scraping workloads is not fetching what you do not parse: a product page's HTML is often a small fraction of its images, fonts and scripts, so request only the document, or hit the underlying data endpoint directly. Retries count too, because a failed request that transferred a response body still transferred bytes; back off rather than hammering, and abandon responses you can tell are useless from the status line. The dashboard's usage page shows consumption as it accrues, so measure the cost of one unit of your workload early and multiply.

Protocols and authentication

HTTP(S) and SOCKS5 work with the same credential, and one credential covers every product your account holds an active plan for. Authenticate with username and password, or register your IP address; a whitelisted residential connection sends no username, so it gets an untargeted exit. Bandwidth is metered per gigabyte against the allowance on your monthly plan.

How to evaluate the pool before committing

The smallest plan commits you to one month and nothing beyond it, so the practical evaluation is a small live one. Buy the smallest bandwidth tier, point the code samples below at your real target rather than an IP-echo service, and check three things: that the geography you need resolves and returns as many distinct addresses as your job needs (build the username in the dashboard builder, then check what comes back), that your target accepts the traffic at the request rate you intend, and that the gigabytes consumed per unit of useful work support your economics. Testing against your own target costs a few gigabytes at most.

How it compares

FeatureThis pageDatacenterRotating
IP originReal consumer connectionsIP blocks we ownIP blocks we own
Blends in as normal trafficBestIdentifiable as hostingIdentifiable as hosting
BillingMonthly plan, metered per GBMonthly plan, per proxyMonthly plan, metered per GB
BandwidthMetered, allowance resets each periodUnlimitedMetered, allowance resets each period
Geo targetingCountry, state, cityLocation of the blockCountry
Sticky sessionsYes, session id in the usernameIP is already fixedYes
Entry price$2.49/GB at 3 GB, $0.49 at 5 TB$1.49/proxy at 5, $0.75 at 1,000$0.59/GB at 10 GB, $0.47 at 50 GB
Best forTargets that block hosting rangesSustained high volumeBursty work needing rotation

What people use these for

Price and availability monitoring

Retail and travel sites serve different inventory and pricing by location, and block hosting ranges outright. City-level targeting returns the page a local shopper actually sees.

Ad verification

Confirm campaigns render in the markets you paid for, from addresses that look like the audience rather than a datacenter.

SERP and local-pack tracking

Search results vary by city, not just country. Targeting a city gives you the ranking a user there sees rather than a national average, and only residential can target one. Datacenter is the cheaper buy for a small national keyword list in the United States, Italy or Spain, where the engine tolerates the range; test that first.

Brand and marketplace protection

Surface counterfeit listings and unauthorized sellers that are geofenced away from head-office IP ranges.

Frequently asked questions

How is a residential proxy different from a datacenter proxy?

A datacenter proxy comes from a hosting provider's IP range, which is fast and cheap but identifiable; many sites block those ranges wholesale. A residential proxy uses a real consumer connection, so it is far harder to distinguish from an ordinary visitor, at the cost of a higher price per gigabyte and more variable latency.

Do you support city-level targeting?

Yes. You can target country, state and city from the locations the dashboard builder lists. That list comes from the coverage snapshot, so it tells you a location is targetable rather than promising an available exit on every request or a particular number of distinct addresses. Depth varies a lot between cities, so test the city against your own workload before you rely on it.

Is bandwidth metered on failed requests?

Bandwidth is metered on bytes actually transferred in both directions. A refused connection transfers nothing and is not billed.

Can I use SOCKS5?

Yes, on the same credential as HTTP(S), with the full targeting vocabulary: country, state, city and sticky sessions. With a session id, both protocols resolve to the same session, so an exit pinned over HTTP stays pinned over SOCKS5. Without one, each connection on either protocol gets its own exit, so the two will not match.

What happens if I exceed my plan's bandwidth?

With auto top-up off, which is the default, connections are refused rather than silently billed as overage, and you add bandwidth from the dashboard whenever you want. If you switch auto top-up on, it can buy more bandwidth for you as you approach the limit, within the threshold and the number of charges per period you set. It is a setting on your account rather than on a subscription, so canceling a plan does not switch it off by itself.

Is this a subscription, or a one-time purchase of bandwidth?

A monthly subscription. The plan buys an allowance for one month of service; the allowance resets when the next period starts, and gigabytes you did not use do not carry into it. There is no long-term contract, and canceling stops the next renewal while leaving you the period you have already paid for. Whether the renewal collects money on its own depends on the payment method: card and PayPal renew automatically, and a Bitcoin plan does not renew by itself unless your account credit covers the renewal in full, so otherwise you pay that renewal invoice from the dashboard before the period ends.

Can I authenticate by whitelisting my IP instead of using a password?

Yes, with one trade-off. Targeting, sessions and entitlement checks all ride in the username, and a whitelisted residential connection carries no username, so you get an untargeted exit that rotates freely across the pool. Whitelist residential when any address will do and you want no credentials in your config; use the username whenever the request has to land somewhere specific. IP whitelisting is offered on every product, and on the rotating gateways you can send the username with an empty password to keep targeting while leaving the secret out of your config.

What should I do when a website blocks the exit IP I am using?

In rotating mode, usually nothing: the next connection or plain-HTTP request is assigned its own exit. In a sticky session, change the session id to start a new pin. Anti-bot systems score behavior as well as IP type, so pace your requests and treat a challenge as feedback.

Are residential proxies faster or slower than datacenter proxies?

Slower and more variable, as a class: your traffic crosses a real household connection, where a datacenter proxy answers from a machine on a datacenter uplink. The dated sample measurements above are observations from those runs under the conditions stated, not a guaranteed response time; your own result depends on the exit, the destination, the route and where you test from. If consistent response times matter more than blending in, and your target tolerates hosting ranges, the datacenter products are the better fit and cost less.

How is this different from your rotating product? Both rotate.

Same one-endpoint design; the pool is the difference. Rotating draws from datacenter blocks Node4 owns: cheaper per gigabyte, faster, but identifiable as hosting ranges. Residential draws from the partner network of consumer connections, which is what works on targets that reject hosting outright. If you are unsure which you need, test rotating first.

From $7.47 a month for 3 GB

Billed monthly. Cancel anytime in your settings, and you keep access to the end of the period you have paid for.

Guides for Residential Proxies

Pick the group that matches what you are doing now.

More guides: comparisons, use cases and references (17)