Skip to content

Residential · NL · EUR

Residential proxies in the Netherlands

Dutch sites often default to English for a visitor who does not ask for Dutch, which makes the Netherlands a standing reminder that the exit address and the language are two separate settings. Send Accept-Language: nl-NL as a preference and verify the response, so you do not mistake a change in the language served for a change in the underlying content. Check the returned currency and consent behaviour separately; neither follows automatically from the exit address or language header. Many retailers serve the Netherlands and Belgium from a single store front, so read the country selector and the delivery terms as well as the currency before you decide which market a page belongs to. We run both pools here, so peer-nl and mbl-nl draw on the same balance and the same credential and differ by one token, which lets you compare network types while keeping the other request settings consistent. Store the language you asked for and the language you were actually served as two separate fields rather than one: on a Dutch page that pair is the finding, and it is what separates a translation bug in your own product from a store front that chooses another language despite the stated preference.

Connect

How to connect to Netherlands residential proxies.

Pool and country are the second and third parts of the proxy username. Nothing else changes: the same credential, the same two ports, the same gateway.

Proxy URLs for the Netherlandstext
# HTTP (CONNECT) on port 7000
http://USERNAME-peer-nl-rot-auto10:pak_••••@gw.portproof.org:7000

# SOCKS5 with remote DNS on port 7001
socks5h://USERNAME-peer-nl-rot-auto10:pak_••••@gw.portproof.org:7001

# per-connection rotation (addresses can repeat)
USERNAME-peer-nl-rot-ondemand

# one device held for a session named "run1"
USERNAME-peer-nl-sid-run1-rot-sticky

USERNAME is the account part of your username and pak_•••• stands for your password; both appear in the dashboard after your first purchase. The token peer-nl is what sends the request out of the Netherlands.

Check the exit with curlsh
# Replace USERNAME with your account part; curl prompts for the proxy password.
# The echo endpoint reports the exit IP; it does not report a country.
curl --disable --silent --show-error --noproxy '' --connect-timeout 5 --max-time 15 \
  --proxy "http://gw.portproof.org:7000" --proxy-user "USERNAME-peer-nl-rot-auto10" \
  "https://api.portproof.org/v1/echo-ip"

# SOCKS5 with remote DNS
curl --disable --silent --show-error --noproxy '' --connect-timeout 5 --max-time 15 \
  --proxy "socks5h://gw.portproof.org:7001" --proxy-user "USERNAME-peer-nl-rot-auto10" \
  "https://api.portproof.org/v1/echo-ip"

# A language preference; replace example.com with a page you have permission to test.
curl --disable --silent --show-error --noproxy '' --connect-timeout 5 --max-time 15 \
  --proxy "http://gw.portproof.org:7000" --proxy-user "USERNAME-peer-nl-rot-ondemand" \
  -H "Accept-Language: nl-NL" "https://example.com/"

Run each command interactively and enter the password at curl's prompt. Accept-Language: nl-NL expresses a preference; it does not force the response language. The site may use its URL, cookies, account and location signals to choose language, currency or market. The echo returns the exit IP only, not a country. A separate geolocation lookup is one database's opinion and may differ from the destination's.

The same request in Pythonpython · requests
import os
from getpass import getpass
from urllib.parse import quote
import requests

USER = "USERNAME-peer-nl-rot-ondemand"
PASSWORD = os.environ.get("PROXY_PASSWORD") or getpass("Proxy password: ")

def proxy_url(username):
    return f"http://{quote(username, safe='')}:{quote(PASSWORD, safe='')}@gw.portproof.org:7000"

PROXY = proxy_url(USER)
with requests.Session() as session:
    session.trust_env = False
    with session.get(
        "https://api.portproof.org/v1/echo-ip",
        proxies={"http": PROXY, "https": PROXY},
        headers={"Accept-Language": "nl-NL"},
        timeout=(5, 15),
        allow_redirects=False,
    ) as response:
        response.raise_for_status()
        if response.status_code != 200:
            raise RuntimeError("Expected HTTP 200 from the echo endpoint")
        print(response.json()["ip"])  # exit IP only; no country verification

# To request a sticky session, use this URL in both proxies entries above.
STICKY = proxy_url("USERNAME-peer-nl-sid-run1-rot-sticky")

Replace USERNAME with your account part. The password comes from the environment or a hidden prompt; do not print the resulting proxy URLs. This explicit Session ignores inherited proxy settings and does not follow redirects. The timeout bounds connection setup and read inactivity, not the total job. HTTP gateway authentication is not encrypted on the client-to-proxy hop, even for an HTTPS destination. A sticky session keeps the same device; its IP can still change.

The full username grammar, Node and Playwright snippets and the error codes →

Test the proxy with curl. The check prints the exit IP, not a country; if a lookup of that address names another country, check why location lookups can disagree. For Python configuration and error handling, follow the Requests setup guide.

Rotation and sessions

Rotating and sticky Netherlands exits.

Rotation modes for Netherlands and the username token that selects each one
ModeToken
Per-connection rotationThe gateway selects an exit for each connection. Addresses can repeat; use this mode when no continuing proxy session is needed.rot-ondemand
Timed rotation: 5, 10, 20 or 60 minutesThe exit changes on a clock rather than per request. auto10 is the default when no rot token is given.rot-auto5 · auto10 · auto20 · auto60
Sticky sessionThe same session name returns to the same device while it is online. A sticky session keeps the same device. The carrier may still change the IP of that device.sid-<name> + rot-sticky
  • A sticky session keeps the same device. The carrier may still change the IP of that device. We do not sell fixed IP addresses on this product, and the pool in the Netherlands is shared.
  • A session lifetime is set once per session name with a ttl token, from 60 to 2592000 seconds, and cannot be changed afterwards.
  • Mobile traffic runs on carrier modems operated by our network partner; residential traffic runs on opt-in peer devices in the partner network.

Compare rotating and sticky sessions, including why a sticky session can change IP.

Price

What Netherlands proxy traffic costs.

Price per GB by order size, EUR
Order sizePer GB
1 to 4 GB1 GB = EUR 4.50EUR 4.50
5 to 24 GB5 GB = EUR 19.50EUR 3.90−13 %
25 to 49 GB25 GB = EUR 87.50EUR 3.50−22 %
50 to 99 GB50 GB = EUR 160.00EUR 3.20−29 %
100 to 249 GB100 GB = EUR 290.00EUR 2.90−36 %
250 GB and more250 GB = EUR 625.00EUR 2.50−44 %

Prices per GB in EUR, by the size of one order. VAT not applicable: the seller is not registered for VAT. Netherlands costs the same as every other country, on either pool. GB never expire. Pricing in full

Try the Netherlands first

0.5 GB for EUR 2.90, once per customer, usable on either pool and the countries available when you test. Full orders start at 1 GB and the price per GB falls to EUR 2.50 at the largest step.

Watch out in the Netherlands

What breaks here is the default language. A Dutch site asked for nothing will often answer in English, and the English page can carry a different assortment or a different promotion. Send nl-NL on every request as a preference and assert on the language of what actually came back.

Get proxiesTry 0.5 GB for EUR 2.90Order pagefrom EUR 2.50 per GB · one price for every country

Fit

Lawful jobs that suit the Netherlands.

  • Price and marketplace monitoring

    Read the public price a shopper in the Netherlands is shown, quoted in EUR, together with the delivery and tax lines that come with it. An EU consent banner usually loads before anything else, so allow for it in both your parser and your GB budget.

  • Ad verification and brand safety

    Check how a creative and its landing page render for an audience in the Netherlands served in Dutch, on an ordinary home connection.

  • Language-negotiation testing

    Load your own pages from a Dutch address with nl-NL, with en-GB and with no preference at all, and check the site answers each of the three the way you intended it to.

  • QA and geo-testing

    Load your own site from an exit in the Netherlands with Accept-Language: nl-NL, and check the EUR price, the Dutch copy, hreflang, the payment methods offered and any redirect between store fronts.

  • AI agents and data pipelines

    Give an agent or a scheduled job an egress in the Netherlands that it selects itself by writing peer-nl into the username.

We refuse social multi-accounting, sneaker and ticket bots, betting arbitrage, sybil airdrop farming, bonus abuse, credential stuffing, and anything against the law of the Netherlands. Acceptable-use policy · the five use cases in detail

Also on the site

More residential countries, and the other pool.

Counts as of 2026-10-08 04:59:38Z, cached for one minute. We never list the exit IPs of a pool.

Questions

Netherlands residential proxies: short answers.

How do I get a Netherlands IP address?
Buy GB, then put peer-nl in the proxy username and connect to our gateway over HTTP or SOCKS5: USERNAME-peer-nl-rot-auto10. The pool is opt-in peer devices in the Netherlands and it is shared between customers; the "IPs online now" row at the top of this page is the live count from our stock endpoint, and it is left out when the endpoint does not answer. If no device in the Netherlands is online, the gateway answers 502 with E_NO_STOCK_COUNTRY instead of quietly sending you to another country.
What does Netherlands traffic cost?
The same as every other country: one price list for both pools, EUR 4.50 per GB for a small order falling to EUR 2.50 per GB at the largest step, with the live table on this page. GB never expire. What you buy stays on your balance until you use it; a new purchase adds to the same balance. You can start with 0.5 GB for EUR 2.90, or buy from 1 GB. Payments are accepted in cryptocurrency.
Can I hold the same Netherlands exit for a whole session?
Yes, with a session name: USERNAME-peer-nl-sid-run1-rot-sticky. The same sid returns to the same device while it is online. A sticky session keeps the same device. The carrier may still change the IP of that device. Set the lifetime once per session with a ttl token, between 60 and 2592000 seconds; it cannot be changed afterwards. Write your job so a dropped device is retried rather than treated as a failure.
Should I use mobile or residential for Netherlands?
The Netherlands is one of the countries where we run both pools, so the choice is one token in the username: peer-nl or mbl-nl. Choose mobile when the job specifically requires a carrier-network exit. Keep the browser, viewport and account settings consistent when comparing the two pools; the network address alone does not select a desktop or phone layout. Both pools use the same GB balance. One balance covers both, so the honest answer is to run the same job twice and compare what comes back.
Netherlands residential proxies per GB · Portproof