How to Use Mobile Proxies: A Step-by-Step Guide
A step-by-step tutorial: get your connection details, set up a browser, a command-line tool or a script, test the proxy and fix the usual problems.
This guide shows how to connect a tool or browser to a mobile proxy, keep or change your IP and check that everything works.
Every step has a command or a setting you can copy. The last sections cover the problems that new users meet most often.
- You need five details: host, port, username, password and protocol (HTTP(S) or SOCKS5).
- Test with one
curlcommand first. If it works, any other tool can use the same details. - Use the HTTP(S) endpoint in browsers: Chrome and Edge cannot sign in to SOCKS5 proxies.
- Your IP stays the same while you work. Check it with the IP checker before you start work.
- Keep the login and password private: anyone who has them can use your proxy.
1.What you need
From your account you need five details: the proxy host, the port, a username and password, and the protocol, HTTP(S) or SOCKS5. Written together they look like this:
host:port:username:passwordYour connection details are provided once your order is confirmed. Checkout opens with the launch. Different tools want the same details in different shapes:
| Format | Looks like | Often used by |
|---|---|---|
| Colon-separated | host:port:username:password | Bulk import and proxy lists |
| Credentials first | username:password@host:port | Scrapers that read one proxy per line |
| HTTP URL | http://username:password@host:port | curl, libraries and environment variables |
| SOCKS5 URL | socks5://username:password@host:port | Tools that take a SOCKS5 URL |
| Separate fields | Host, port, username and password | Browsers and desktop apps |
The proxy format converter turns one format into another in your browser. If your password contains characters such as @, :, / or #, percent-encode them inside URLs (@ becomes %40), or enter the credentials in separate fields.
2.Choose a protocol
Both protocols work with the same login and password. Pick the one your tool supports best:
- HTTP(S) suits browsers,
curl, HTTP libraries and most scrapers. Chrome and Edge cannot sign in to SOCKS5 proxies with a username and password, so use HTTP(S) there. - SOCKS5 suits tools that talk to servers other than websites, or that only offer a SOCKS setting. Use the
socks5hscheme where a URL is needed, so that the proxy resolves website names.
3.Test the connection with curl
Before you touch a browser or a script, test the details with one command. If it works, any other tool will work with the same details.
curl -x http://USERNAME:PASSWORD@HOST:PORT https://xameleon.cloud/api/tools/ipThe reply shows the IP address and the country our server sees, for example {"ip":"203.0.113.25","country":"UA"}. For SOCKS5, change the scheme and keep the h:
curl -x socks5h://USERNAME:PASSWORD@HOST:PORT https://xameleon.cloud/api/tools/ipWhen the password has special characters, pass the credentials separately and skip the encoding:
curl -x http://HOST:PORT --proxy-user 'USERNAME:PASSWORD' https://xameleon.cloud/api/tools/ipAdd -v to see the whole exchange. A 407 from the proxy means that the username or the password was rejected.
4.Connect a proxy to your browser or tool
Most browsers, scrapers and automation tools have a proxy section in their settings. Enter the host and port, choose the protocol and add your credentials. If your tool takes a single URL, combine the details like this:
http://USERNAME:PASSWORD@HOST:PORTFirefox
- Open Settings, then General, and scroll down to Network Settings. Click Settings.
- Choose Manual proxy configuration.
- Enter the host in HTTP Proxy and the port in Port, and tick Also use this proxy for HTTPS.
- Click OK, open any page and enter the username and password when Firefox asks for them.
Chrome and Edge
Chrome and Edge follow the proxy settings of your operating system, which also affect your other programs. For a clean setup, start a separate browser profile from a terminal with a proxy flag. Use the HTTP(S) endpoint:
# Linux
google-chrome --proxy-server="http://HOST:PORT" --user-data-dir=/tmp/proxy-profile
# macOS
"/Applications/Google Chrome.app/Contents/MacOS/Google Chrome" --proxy-server="http://HOST:PORT" --user-data-dir=/tmp/proxy-profile
# Windows (Command Prompt)
"C:\Program Files\Google\Chrome\Application\chrome.exe" --proxy-server="http://HOST:PORT" --user-data-dir="%TEMP%\proxy-profile"The browser asks for the username and password on the first request. Closing that window ends the proxy use: your normal browser stays untouched.
Command-line tools
Many command-line tools and libraries, among them curl, pip and npm, read proxy settings from environment variables. Some read only the lowercase names, so set both when in doubt:
# Linux and macOS
export HTTPS_PROXY="http://USERNAME:PASSWORD@HOST:PORT"
export https_proxy="$HTTPS_PROXY"
# Windows PowerShell
$env:HTTPS_PROXY = "http://USERNAME:PASSWORD@HOST:PORT"The variables stay set for the whole terminal session. Unset them when you finish (unset HTTPS_PROXY https_proxy), so that later commands do not go through the proxy by accident.
Node.js
The undici package, which powers fetch in Node.js, has a proxy agent. Percent-encode special characters in the password:
// npm install undici
import { fetch, ProxyAgent } from "undici";
const agent = new ProxyAgent("http://USERNAME:PASSWORD@HOST:PORT");
const res = await fetch("https://xameleon.cloud/api/tools/ip", { dispatcher: agent });
console.log(await res.json());Python has its own guide: see Python proxies. Browser automation tools such as Playwright take the same details in a proxy option when you launch the browser.
5.Keep or change your IP
Your IP stays the same while you work, which suits logins and multi-step workflows. After a pause of about 10 minutes without connections, the next connection can get a different IP. When you want a fresh IP, change it on demand from your account: on Shared proxies you are moved to another modem in the same country, and on Exclusive proxies your own modem rotates.
After a change, check the new address before you continue, because open connections can drop for a moment. How to rotate proxies has a helper for this and shows how to spread work across several proxies.
6.Test your proxy connection
Open a page that shows your IP address, for example our IP checker, and confirm that the address is the proxy’s. Then run a few real requests and watch for errors.
A short routine for a new proxy:
- Check the IP. Use the IP checker or the
curlcommand. The address must differ from your own, and the country must match your plan. - Measure the response. The latency test shows how long a round trip to our API takes from your browser.
- Load a real page. Open the page you will work with and check that it loads and shows the content you expect for that country.
- Run a small batch. Send ten or twenty requests at a slow pace and look at the status codes and errors.
- Write down the setup. Note the protocol and the settings that worked, so that you can repeat them.
7.Troubleshooting your mobile proxy connection
If the proxy does not connect, check the host, port, credentials and protocol, and make sure your plan and location are active. If a website limits your requests, slow down and review its terms of use.
| What you see | Likely cause | What to do |
|---|---|---|
Chrome shows ERR_PROXY_CONNECTION_FAILED, Firefox says the proxy server is refusing connections | A wrong host or port, or the wrong protocol | Compare host, port and protocol with your account, and use HTTP(S) in browsers. |
Chrome shows ERR_TUNNEL_CONNECTION_FAILED | The proxy refused to open the tunnel, often because of wrong credentials | Run the same details through curl -v and read the status the proxy returns. |
| The browser keeps asking for a username and password | The username or the password is wrong | Copy them from your account again, without spaces at the ends. |
| Firefox says it cannot find the proxy server | The host name is misspelled | Check the host name character by character. |
| The IP checker shows your own address | The browser or tool does not use the proxy | Check the proxy setting, or that you opened the profile you started with the flag. |
| The site shows another country than you expect | A different plan or location is active | Check the country of the proxy in your account. |
| Pages load slowly or time out | Cellular speed varies, or too many requests run at once | Lower the concurrency, set timeouts and retry transient errors. |
| Every HTTPS site shows a certificate warning | A proxy that only tunnels HTTPS does not change certificates | Check your system clock and the security software on your device. |
If it still does not work, write to [email protected] with the exact error, the tool you use and the time it happened. Never send your password.
8.Use your proxy safely
- Keep the credentials private. Access is by login and password only, so anyone who has them can use your proxy. Do not post them in chats, screenshots or public code.
- Prefer HTTPS sites. The proxy does not encrypt traffic by itself, and plain HTTP can be read along the way.
- Switch the proxy off when you are done. Unset environment variables and close the proxy profile.
- Use it lawfully. Follow the law, the sites’ terms and our acceptable use policy. See secure and responsible proxy use.
9.FAQs
Do I need to install software?
No. A mobile proxy works through the proxy settings of your browser, tool or script.
Which protocol should I use in a browser?
HTTP(S). Chrome and Edge cannot sign in to SOCKS5 proxies with a username and password.
How do I run several connections at once?
Order more than one proxy. Each proxy has its own connection details in your account, so you can use them side by side.
Can I use the proxy for one site or one app only?
Yes. Use a separate browser profile, or an application with its own proxy setting. System-wide proxy settings apply to every program.
How do I check which IP I am using?
Open the IP checker in the browser that uses the proxy, or run the curl command from this guide.
Still have questions about mobile proxies? Visit our FAQ page for detailed answers, or contact our support team — we're here to help.