Referral Program
HomeProxy TypesResidential Proxies
Most Popular

Residential Proxies - Real IPs, Zero Blocks

Route your traffic through genuine ISP-assigned addresses. 220+ countries. No minimum top-up.

What you get

Real ISP-assigned IP addresses
220+ countries, city-level targeting
Rotating & sticky sessions
Low detection & block rate
HTTP/HTTPS & SOCKS5
Pay per GB - no monthly minimum

Your connection string

One package gives you one login. Country, city and session lifetime ride along in the login itself, so you never open a ticket to add a location.

Endpoint

proxy.sotaproxy.com:10000
login[_c_{COUNTRY}][_city_{City-Name}][_s_{sessionId}][_ttl_{30s|15m|1h}]:password@proxy.sotaproxy.com:10000

Rotating, a new IP on every request

curl -x login:password@proxy.sotaproxy.com:10000 https://api.ipify.org

United States only

curl -x login_c_US:password@proxy.sotaproxy.com:10000 https://api.ipify.org

New York, held for 15 minutes on session 100

curl -x login_c_US_city_New-York_s_100_ttl_15m:password@proxy.sotaproxy.com:10000 https://api.ipify.org

City names take a hyphen instead of a space. Country codes are two letters, ISO 3166-1 alpha-2. Suffixes stack in the order shown above.

Rotating and sticky sessions

Leave off _s_ and every request goes out through a different address. That suits scraping where each page stands alone: search results, product listings, price checks. Add _s_{id} and the address stays put for the lifetime you set in _ttl_.

30sA login form plus the redirect after it.
15mA checkout, a multi-step form, an account action that spans several page loads.
1hAccount warming and anything where a mid-session IP change logs you out.

The session id is yours to choose. Run 200 accounts in parallel by giving each one its own id, _s_1 through _s_200, and each keeps a separate address.

Setup in an antidetect browser

Each profile takes its own session id, which keeps its address stable while the profile is open. In Afina, AdsPower, Dolphin, Octo or Undetectable, open the proxy settings of a profile and fill in:

Type
HTTP or SOCKS5, both on the same port
Host
proxy.sotaproxy.com
Port
10000
Login
login_c_US_s_17_ttl_1h
Password
your package password

Change the number after _s_ for every profile. Two profiles sharing an id share an address, which is the link you are trying to avoid.

Setup in code

Python, requests

proxies = {
    "http": "http://login_c_DE:password@proxy.sotaproxy.com:10000",
    "https": "http://login_c_DE:password@proxy.sotaproxy.com:10000",
}
r = requests.get("https://example.com", proxies=proxies, timeout=30)

Playwright

browser = playwright.chromium.launch(proxy={
    "server": "http://proxy.sotaproxy.com:10000",
    "username": "login_c_GB_s_5_ttl_15m",
    "password": "password",
})

All integrations: Python, Scrapy, Selenium, Playwright and more

Countries and cities

The pool covers 220+ countries. City targeting works in the larger markets, and these are cities our customers run traffic through right now:

New YorkBrooklynLos AngelesSan FranciscoMiamiSeattlePhiladelphiaCharlotteLondonParisMadridBerlinDortmundZurichDubaiSingapore

Coverage in a given city moves with the devices online at that moment. If _city_ returns a 400, the pool for it is empty right now: drop to country level and retry later.

Price and how traffic is counted

Residential traffic costs $1.00 per gigabyte. No monthly minimum, no subscription, and traffic stays on the package while the package is active. Metering counts both directions: the request you send and the response you get back, headers included.

  • Skip images and fonts in your scraper. On a product page they carry most of the weight and none of the data you came for.
  • Ask for gzip. Set Accept-Encoding: gzip and an HTML page arrives three to four times smaller.

Errors you will actually hit

407The login string did not parse.

A suffix is malformed: a space in a city name, a lower-case country code, or a TTL we do not accept. Copy the login from your dashboard and add suffixes one at a time.

400Unknown country or city.

Check the spelling, then fall back to country-level targeting without _city_.

502The upstream network refused the request.

Retry once. If it holds for a minute, the pool for that location is drained: switch country or write to support.

TimeoutFirst request of a sticky session hangs.

Building a route through a residential line takes longer than hitting a datacenter IP. Set the client timeout to 30 seconds.

Limits

  • No cap on concurrent connections and no cap on session count.
  • The 30s, 15m and 1h lifetimes are ceilings, not guarantees. A residential device can drop off at any moment and your session ends with it, so handle reconnects.
  • Mail ports and a handful of other restricted ports stay closed by default. Our upstream opens them after identity verification, so write to support if your task needs one.

API and AI agents

Everything on this page works through the REST API at https://api.sotaproxy.com/api/v1. We also run an MCP server, so Claude and other agents can check the balance, buy traffic and pull the connection string without a browser.

GET /residential/plansAvailable tariffs and price per GB
POST /residential/ordersBuy traffic
GET /residential/packagesTraffic left on your packages
GET /residential/universal-accessThe login and password described above

Typical use cases

Web scrapingPrice monitoringAd verificationSEO trackingSocial media management

Common questions

What are residential proxies?

Residential proxies use IP addresses assigned by ISPs to real home devices. They appear as genuine user traffic and are much harder for target sites to detect and block compared to datacenter IPs.

How many countries are available?

SotaProxy residential proxies cover 220+ countries with city-level targeting available in major markets.

What is the difference between rotating and sticky sessions?

Rotating sessions assign a new IP for each request. Sticky sessions keep the same address for the lifetime you set in the login suffix: 30 seconds, 15 minutes or 1 hour.

Does unused traffic expire?

No. Traffic stays on the package while the package is active. There is no monthly minimum and no subscription.

Can I use one package on several machines at once?

Yes. The login has no IP binding, so a scraper on a server and a browser profile on your laptop can run at the same time. Give them different session ids to keep their addresses apart.

Can the IP change inside a sticky session?

It changes when the residential device goes offline. That is the tradeoff of real home addresses, and it is why the ceiling is one hour rather than a day. Handle reconnects in your code.

What do you log?

We store what we bill: traffic volume per package. Destination hosts and payloads stay outside our logs.

Start with Residential Proxies

No monthly minimum. Get credentials in minutes.

Use code WELCOME10 - 10% off any proxies on your first order

Create Account