Quick Start
Get up and running with Simply Proxies in under a minute:
- Sign up at simplyproxies.com/app — you'll get 500 MB free.
- Find your credentials on the Dashboard page after signing in.
- Configure your tool using one of the examples below.
Your proxy traffic will route through real UK mobile devices on 4G/5G networks. Traffic is metered and billed from your wallet balance.
The Dashboard's Connections tab builds connection strings for you: pick a mobile network (EE, O2, Vodafone, or Three), add a sticky session with your preferred window, and copy ready-to-use snippets for cURL, shell environment variables, Python, Node.js, Go, and Rust.
Prefer ready-made files? The public code examples repository has copy-paste configurations for cURL, Python, Playwright, Node.js, and Scrapy.
Working with AI agents or LLM pipelines? See Using UK Mobile Proxies with AI Agents for agent-specific recipes: environment-variable config, rotate-vs-sticky decisions, retries, and cost control.
Your Credentials
After signing in, you'll find your unique proxy credentials on the Dashboard:
- Proxy Username: e.g.
aw_18_9g8zxy - Proxy Password: e.g.
dVFilEaTRKwcm14r
These credentials work on both HTTP and SOCKS5 endpoints. You can copy them directly from the Dashboard with one click.
Endpoints
| Protocol | Address | Port |
|---|---|---|
| HTTPS | proxy.simplyproxies.com |
6889 |
| SOCKS5 | proxy.simplyproxies.com |
6890 |
cURL
HTTPS Proxy
curl -x https://USER:PASS@proxy.simplyproxies.com:6889 https://api.ipify.org
SOCKS5 Proxy
curl -x socks5h://USER:PASS@proxy.simplyproxies.com:6890 https://api.ipify.org
Replace USER and PASS with your proxy credentials from the Dashboard.
Sticky Sessions (SOCKS5 + HTTPS)
By default every request rotates across devices (a fresh IP). For logins, account management, or any flow that breaks when the IP changes, append -session-<id> to your username: connections carrying the same id exit the same device (same IP) for up to 2 hours by default. The window is sliding: every new connection with the same id refreshes it, so a session that stays active keeps its IP beyond the nominal window. Works on both SOCKS5 and HTTPS.
# Rotating (default) — different IP per request
curl -x socks5h://USER:PASS@proxy.simplyproxies.com:6890 https://api.ipify.org
# Sticky — same IP for up to 2 hours (default)
curl -x socks5h://USER-session-myapp1:PASS@proxy.simplyproxies.com:6890 https://api.ipify.org
# Sticky — custom 4-hour window (SOCKS5; -, clamped 5 min–12 h)
curl -x socks5h://USER-session-myapp1-240:PASS@proxy.simplyproxies.com:6890 https://api.ipify.org
Choose any id (myapp1, acct-A, …) and reuse it to reuse the same IP. The default window is 2 hours; on SOCKS5 set a custom window (5 min to 12 h) by appending -<minutes>. One thing to avoid: an id that ends in a hyphen followed by digits. A trailing -<digits> is always read as the window length in minutes, so USER-session-acct-123 means the id acct with a 123-minute window, not the id acct-123. Ids like acct-A or shop7 are safe. The window refreshes while you're active and is best-effort. (HTTPS uses a 12 h window — HAProxy's table TTL is table-wide.) Sticky is free for all customers and capped at a third of the pool, so regular rotating traffic is unaffected. Sticky also combines with network selection: see the next section.
Network Selection (EE / O2 / Vodafone / Three)
Every proxy group draws on real UK mobile devices across the four host networks. To route only through devices on one network, append a network token to your username: -ee, -o2, -vodafone, or -three. Works on both SOCKS5 and HTTPS and can be combined with a sticky session.
# Any EE device
curl -x socks5h://USER-ee:PASS@proxy.simplyproxies.com:6890 https://api.ipify.org
# Any O2 device, HTTPS endpoint
curl -x https://USER-o2:PASS@proxy.simplyproxies.com:6889 https://api.ipify.org
# A Three device, sticky for 30 minutes
curl -x socks5h://USER-three-session-myapp1-30:PASS@proxy.simplyproxies.com:6890 https://api.ipify.org
Position matters: the network token goes directly after your username and before any -session- suffix. The full grammar is USER-<network>-session-<id>-<minutes> (either option can be omitted, and the minutes are optional on SOCKS5). If the network you picked has no device available in your group at that moment, the connection is refused instead of silently using a different network. The Dashboard's Connections tab shows which networks are currently offered for your group and builds these usernames for you. Network selection is free for all customers and billed exactly like any other traffic.
Python (requests)
import requests
proxies = {
"https": "https://USER:PASS@proxy.simplyproxies.com:6889",
"http": "https://USER:PASS@proxy.simplyproxies.com:6889",
}
response = requests.get("https://api.ipify.org", proxies=proxies)
print(f"Your proxy IP: {response.text}")
Python (aiohttp + SOCKS5)
import aiohttp
from aiohttp_socks import ProxyConnector
connector = ProxyConnector.from_url(
"socks5://USER:PASS@proxy.simplyproxies.com:6890"
)
async with aiohttp.ClientSession(connector=connector) as session:
async with session.get("https://api.ipify.org") as resp:
print(await resp.text())
Node.js
Axios with HTTPS Proxy
const axios = require("axios");
const { HttpsProxyAgent } = require("https-proxy-agent");
const agent = new HttpsProxyAgent(
"https://USER:PASS@proxy.simplyproxies.com:6889"
);
axios.get("https://api.ipify.org", { httpsAgent: agent })
.then(res => console.log("Proxy IP:", res.data));
Node.js + SOCKS5
const axios = require("axios");
const { SocksProxyAgent } = require("socks-proxy-agent");
const agent = new SocksProxyAgent(
"socks5://USER:PASS@proxy.simplyproxies.com:6890"
);
axios.get("https://api.ipify.org", { httpsAgent: agent })
.then(res => console.log("Proxy IP:", res.data));
Scrapy
Add to your settings.py:
DOWNLOADER_MIDDLEWARES = {
"scrapy.downloadermiddlewares.httpproxy.HttpProxyMiddleware": 110,
}
# Set proxy per-request in your spider:
# meta={"proxy": "https://USER:PASS@proxy.simplyproxies.com:6889"}
Or set the environment variable:
export https_proxy="https://USER:PASS@proxy.simplyproxies.com:6889"
scrapy crawl myspider
Selenium (Python)
Chrome with SOCKS5
Note: Chrome does not support SOCKS5 username/password authentication. For authenticated SOCKS5, use Selenium Wire (see below) with a SOCKS5 proxy URL.
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument("--proxy-server=socks5://proxy.simplyproxies.com:6890")
options.add_argument("--headless")
driver = webdriver.Chrome(options=options)
driver.get("https://api.ipify.org")
print(f"Proxy IP: {driver.find_element('tag name', 'body').text}")
driver.quit()
Chrome with Authenticated HTTPS Proxy
Chrome doesn't natively support proxy authentication. Use a proxy extension or Selenium Wire:
from seleniumwire import webdriver
options = webdriver.ChromeOptions()
options.add_argument("--headless")
seleniumwire_options = {
"proxy": {
"https": "https://USER:PASS@proxy.simplyproxies.com:6889",
}
}
driver = webdriver.Chrome(options=options, seleniumwire_options=seleniumwire_options)
driver.get("https://api.ipify.org")
print(f"Proxy IP: {driver.find_element('tag name', 'body').text}")
driver.quit()
Tool Compatibility (Burp Suite, mitmproxy)
The HTTPS endpoint (port 6889) is a TLS-to-proxy endpoint: your client first opens a TLS connection to proxy.simplyproxies.com and only then sends the CONNECT request, inside that TLS session. Your credentials never cross the network in cleartext. Tools with native support for this work as shown above: cURL's https:// proxy scheme, Python requests, and Node's https-proxy-agent all qualify.
Some interception tools can only chain to an upstream proxy with plaintext HTTP CONNECT, which the HTTPS endpoint does not accept. Burp Suite's upstream HTTP proxy setting and mitmproxy's upstream mode behave this way, so they cannot talk to port 6889. If your tool supports SOCKS5 upstream instead (Burp Suite does), point it at the SOCKS5 endpoint:
proxy type: SOCKS5
server: proxy.simplyproxies.com
port: 6890
auth: your Dashboard username and password
In Burp Suite this is Settings → Network → Connections → Upstream proxy servers. Interception then works exactly as normal: install Burp's CA certificate in the client you are testing (browse to http://burp while the proxy is running to export it), and expect certificate-pinned apps to refuse interception regardless of the proxy used. Tools that support neither SOCKS5 chaining nor the https:// proxy scheme can be bridged with a local TLS relay such as stunnel in front of port 6889.
Where a tool supports both endpoints, prefer HTTPS: SOCKS5 password authentication (RFC 1929) is sent in cleartext, while the HTTPS endpoint keeps your credentials inside TLS.
Browser Setup
Firefox
- Open Settings → General → Network Settings
- Select "Manual proxy configuration"
- SOCKS Host:
proxy.simplyproxies.com, Port:6890 - Select "SOCKS v5"
- Check "Proxy DNS when using SOCKS v5"
- Firefox will prompt for username/password when you first browse
Chrome (via SwitchyOmega extension)
- Install the Proxy SwitchyOmega extension from the Chrome Web Store
- Create a new profile → select "Proxy Server"
- Protocol:
SOCKS5 - Server:
proxy.simplyproxies.com - Port:
6890 - Enter your username and password in the auth section
Troubleshooting
Connection Refused
Verify your credentials are correct. Check that you're using the right port (6889 for HTTPS, 6890 for SOCKS5). Ensure your account has credit remaining.
Slow Response Times
Mobile proxies are inherently slower than datacentre proxies due to the cellular network hop. Typical response times are 1-3 seconds. If responses are significantly slower, the device may be temporarily overloaded — try again in a few minutes.
Authentication Failed
Double-check your proxy username and password from the Dashboard. Make sure special characters in the password are URL-encoded (e.g., @ becomes %40).
Interception Tool Will Not Connect (Burp Suite, mitmproxy)
Plaintext-HTTP-only upstream chaining cannot reach the HTTPS endpoint. See Tool Compatibility: use the SOCKS5 endpoint (port 6890) as the upstream, or a client that supports the https:// proxy scheme.
Wallet Balance Not Updating
Traffic is recorded in near real-time. Refresh the Dashboard page to see the latest balance. Traffic is measured as the combined total of upload and download bytes.