One endpoint. Everything else is a flag.
You point your client at a single host and port. The gateway reads your username, works out which exit satisfies it, and forwards the request. That is the whole model.
What a proxy actually is
Normally your computer opens a connection straight to a website, and that website sees your IP address. A proxy inserts a machine in the middle: you connect to it, it connects to the site, and the site sees the proxy's address instead of yours.
That sounds trivial, and for one request it is. It stops being trivial at scale. Sending ten thousand requests from one datacenter address gets that address blocked within minutes. Sending them from ten thousand residential addresses — real home broadband lines, in the country the site expects its visitors to be in — looks like ordinary traffic, because structurally it is.
Our job is to run that second thing reliably: a large, clean, ethically sourced pool of addresses, a gateway that picks the right one for each request, and enough observability that when something does break you can see why.
Four hops, roughly 640 milliseconds
Median end-to-end latency on the residential network. Datacenter and ISP pools are considerably quicker.
Your client
curl, Scrapy, Playwright — anything that speaks HTTP or SOCKS5
wproxy gateway
Authenticates you, parses targeting flags, picks an exit
Exit node
A residential, mobile, ISP or datacenter address in your chosen market
Target site
Sees a normal connection from a normal network
$ curl -x res.wproxy.io:8000 \
-U "wp-acc4821-country-de-city-berlin-session-a91f:••••••" \
https://example.com/pricing
The four things you will configure
Authentication
Two options. Send a username and password with each request, or whitelist your server's IP and skip credentials entirely. Whitelisting is faster to set up; credentials are easier to rotate and let you split usage across sub-users.
# username / password
curl -x res.wproxy.io:8000 \
-U "wp-acc4821:your-password" https://ipinfo.io/json
# IP whitelist — add the server in the dashboard, then drop the -U flag
curl -x res.wproxy.io:8000 https://ipinfo.io/jsonGeo-targeting
Country, city and ASN are all username flags. Nothing else changes — same host, same port, same password. Combine flags freely; unmatched targeting falls back to the nearest available pool rather than erroring.
wp-acc4821-country-de # anywhere in Germany
wp-acc4821-country-de-city-frankfurt # Frankfurt only
wp-acc4821-country-de-asn-as3320 # Deutsche Telekom subscribers
wp-acc4821-country-us-state-california # US state targetingRotation and sticky sessions
By default every request leaves from a different address. Add a session identifier to hold one address; add a duration to control how long. Sessions survive up to 120 minutes, or until the underlying peer disconnects — at which point we hand you the closest equivalent.
wp-acc4821 # rotate every request
wp-acc4821-session-a91f # hold this exit
wp-acc4821-session-a91f-sesstime-30 # hold it for 30 minutesProtocols and ports
HTTP, HTTPS and SOCKS5 on dedicated ports. SOCKS5 is the right pick for non-HTTP traffic and for clients that struggle with CONNECT tunnelling. All three carry the same traffic and bill identically.
res.wproxy.io:8000 # HTTP
res.wproxy.io:8443 # HTTPS
res.wproxy.io:1080 # SOCKS5How traffic is counted
Residential, mobile and datacenter bandwidth plans bill on total bytes crossing the gateway — request headers and body up, response headers and body down. That is the same number your own network stack sees, so the two should reconcile.
Failed requests are not free, because the bytes still moved, but any request that fails inside our infrastructure — gateway errors, exhausted pools, authentication faults on our side — is credited automatically and shows as an adjustment on the invoice.
ISP and dedicated plans bill per IP per month with unmetered traffic, which is usually cheaper once you are moving more than about 200 GB through a fixed set of addresses.
From signup to first byte
- 1
Create an account
Email and password, or Google. One gigabyte of residential traffic is credited immediately — no card.
- 2
Create a proxy user
A sub-credential with its own password and optional traffic cap. Most teams make one per project.
- 3
Build an endpoint
Pick a country, decide between rotating and sticky, copy the line. The generator below is the same one in the dashboard.
- 4
Test the connection
curl -x gateway -U credentials https://ipinfo.io/json. If the address it returns is in your target country, you are done.
- 5
Set a limit
Optional but recommended: a daily or monthly ceiling and an alert at 75%, so a runaway loop cannot spend your budget overnight.
Build an endpoint now
Choose a country, a session mode and a protocol. The credentials and the code samples update as you go — no account required to look.
Pin traffic to a specific network operator.
Your endpoint
Targeting lives in the username, so one hostname covers every combination. Change any option above and the credentials update immediately.
curl -x "http://customer-demo-country-us:s3cr3t-pass@res.wproxy.io:8000" \
-L "https://ip.wproxy.io/json"10 generated endpoints
Common questions about the mechanics
Send your first request in five minutes
A free gigabyte, working credentials and documentation that assumes you have better things to do than read documentation.