To add a proxy in Kameleo, open the profile, set Proxy to With Proxy, choose HTTP for port 8080 or SOCKS5 for port 1080, paste the line as user:pass@host:port into the first field, click Test Proxy, then Save & Start. Give every profile its own sticky session. Below: each step, mobile and ISP lines, the local API and each error.
Kameleo gives every browser profile its own fingerprint and, through its built-in proxy manager, its own connection: HTTP, SOCKS5 or SSH, set profile by profile. The proxy decides which IP address and which country the sites see, so it has to agree with the rest of the profile: language, time zone, location. The field names below are the ones in Kameleo's own Knowledge Base and Developer Center, the values come from the QuanticData endpoint generator, and the test result in the pictures is a real check of a Sweden line made on 23 October 2026.
What you need before you start
- Kameleo installed, with an account. Its Free plan already lets you set a proxy on each profile; paid plans add concurrent browsers and team features.
- A proxy plan. Residential Premium, ISP or mobile: all of them work in Kameleo. The table further down says which one fits which profile.
- The four values: host, port, username and password. In the QuanticData dashboard they are under My proxies, on the plan's page, in the Endpoint generator.
The proxy format Kameleo reads
A Kameleo profile has four proxy fields: IP or Hostname, Port, Username (Optional) and Password (Optional). Kameleo's documented shortcut is to paste one line into the first field in the layout username:password@hostname:port; it splits the line and fills the four fields for you. In the QuanticData generator, set Output format to user:pass@host:port and the Preview gives exactly that line.
# Residential Premium, Sweden, one session kept for 60 minutes, HTTP
USER-country-se-sid-p01-ttl-60m:PASS@residentialpremium.quantumproxies.io:8080
# the same session over SOCKS5, on its own port
USER-country-se-sid-p01-ttl-60m:PASS@residentialpremium.quantumproxies.io:1080
# the four values, if you type them by hand
IP or Hostname residentialpremium.quantumproxies.io
Port 8080
Username USER-country-se-sid-p01-ttl-60m
Password PASS
The username is the whole string, with everything after the first dash: -country-se picks Sweden, -sid-p01 names the session and -ttl-60m keeps it for 60 minutes. Copy it whole. A username cut at the first dash still logs in, but the profile then leaves from a random country on a new IP at every request.
Three notes from Kameleo's page on connection strings: a password with special characters may need URL encoding, an IPv6 address goes in square brackets, and Kameleo guesses the proxy type from the port. That last one matters: after pasting, look at which of HTTP, SOCKS5 or SSH is selected before you test.
Step by step: add a proxy to a Kameleo profile

- Generate the line. In the QuanticData dashboard open My proxies, then your plan. In the Endpoint generator choose the Country (and a Region or City if the profile needs one), set Session to Sticky, set Session TTL (minutes) to at least the time the profile stays open, choose the Protocol and set Output format to user:pass@host:port. Copy the line from Preview; Connection details shows the same four values one by one.
- Open a profile in Kameleo. On the Profiles screen click New, or open an existing profile to edit it.
- Match the language to the proxy. Kameleo recommends that the profile's language follows the proxy's country: Swedish (Sweden) for a Sweden line.
- Set Proxy to With Proxy and choose the type that matches the port: HTTP for 8080, SOCKS5 for 1080. Leave SSH alone; QuanticData lines are HTTP or SOCKS5.
- Paste the line into the IP or Hostname field. Kameleo fills Port, Username and Password. Check that the username arrived whole and that the type is still the one you chose.
- Click Test Proxy. The Test Proxy window lists the Server details (address and protocol) and the Test results: your own connection, the proxy over IPv4, HTTPS through the proxy and the location of the IP. The country has to match the
-country-in the username. - Close the window and click Save & Start (or Save to start it later). In Advanced settings, keep the Location tab on Automatic: WebRTC, time zone and geolocation then follow the proxy's IP.


The test also runs on its own every time a profile starts: Kameleo checks the proxy before it launches the browser, and if the check fails the browser does not open. The test reaches the web through well-known sites (Google, Archive.org, Wikipedia), so a proxy that only allows a short list of domains can fail it while working fine for those domains.
One sticky session per profile
Kameleo's own recommended settings give three proxy rules: never use the same proxy for two different profiles, keep the same proxy on a profile over time, and do not switch proxies while a profile is running (stop it first). A sticky session covers all three. It keeps one IP for as long as the session lives, and the session lives in the username, so the line never has to change once it is saved in the profile.
# profile 1: Sweden, one session for a working day
USER-country-se-sid-p01-ttl-480m:PASS@residentialpremium.quantumproxies.io:8080
# profile 2: same plan, its own session (never reuse p01)
USER-country-se-sid-p02-ttl-480m:PASS@residentialpremium.quantumproxies.io:8080
# profile 3: Sweden, open all day
USER-country-se-sid-p03-ttl-1440m:PASS@residentialpremium.quantumproxies.io:8080
- A different session ID in every profile. Two profiles on the same line share one IP, which is exactly what Kameleo tells you to avoid.
- A lifetime longer than the work. The generator accepts up to 1440 minutes, a full day. When the session ends, the next request gets a new IP, and a site can see that as a new login location.
- The country in the username. Without
-country-the exit can be anywhere, and the profile's language and time zone will not match it. - A new IP when you want one. Stop the profile, change the session ID (
-sid-p02instead of-sid-p01), test, start. The old line keeps working until its lifetime ends.
With Session set to Sticky, the generator makes as many lines as the Quantity field says, ten by default, each with its own session ID, and Copy all or Download takes them out in the same format. One line per profile. Kameleo's Settings also has Default Proxy Settings, which fill every new profile with the same proxy: handy for the host and port, but change the session ID in each profile before you start it.

Residential Premium, ISP and mobile proxies in Kameleo
| Proxy type | In Kameleo | Good for |
|---|---|---|
| Residential Premium | One sticky line per profile, pasted as user:pass@host:port; country, region, city or ISP in the username; username and password only | Most profiles: home IPs in the country you choose |
| ISP | Fixed IPs under Assigned IPs, copied as Username:Password@IP:Port; one IP per profile | Long-lived accounts that should keep the same address |
| Mobile | A Mobile profile (Android or iOS) with a sticky line that has -type-mobile in the username; HTTP 8080 or SOCKS5 1080; IP whitelist available | Phone-first platforms and accounts tied to mobile networks |
Residential Premium
Everything above is the Residential Premium setup: the generator's line pasted into the host field, HTTP on 8080 or SOCKS5 on 1080, one session ID per profile. Premium lines authenticate with username and password, so fill both fields. For a local exit, choose a Region or City in the generator; the targeting goes into the username and Kameleo's Location settings follow it. Plans and coverage are on the pages for QuanticData residential proxies and Sweden residential proxies.
ISP
An ISP plan lists its fixed IPs under Assigned IPs. Set its Output format to Username:Password@IP:Port, copy one line and paste it into the IP or Hostname field, exactly like a Residential Premium line. Give each profile one IP and keep it there: the address is static, so there is no session ID to manage, and the profile shows the same IP every time it starts. More on the plans: ISP proxies.
Mobile
Kameleo emulates phones on the desktop: under Device choose Mobile, then Android (Chroma) or iOS (Safari). Its separate Android app stopped working on 28 September 2025, so emulated profiles are the way to run a mobile fingerprint. A mobile proxy goes in the same four fields: in the mobile generator choose the gateway (Global, USA, EU or Asia), Sticky, HTTP 8080 or SOCKS5 1080 and user:pass@host:port, then paste. The username carries -type-mobile and its own -sid-.

Mobile plans also offer IP whitelist authentication: add your computer's IP in the generator's IP whitelist section, take the host:port list it gives, and leave Kameleo's Username and Password empty, which is why they are marked Optional. Pages: QuanticData mobile proxies and Sweden mobile proxies. For why each profile needs its own address, see residential proxies for antidetect browsers.
Setting the proxy from code: Kameleo's local API
Kameleo runs a local API on your computer (by default at http://localhost:5050) with SDKs for Python, JavaScript and C#: the route for profiles started from a script. A proxy is a ProxyChoice: the type, plus a Server with host, port, id (the username) and secret (the password). With a client created as in Kameleo's Quickstart:
from kameleo.local_api_client.models import CreateProfileRequest, ProxyChoice, Server
fps = client.fingerprint.search_fingerprints(browser_product='chrome')
proxy = ProxyChoice(value='http', extra=Server(
host='residentialpremium.quantumproxies.io', port=8080,
id='USER-country-se-sid-p01-ttl-60m', secret='PASS'))
profile = client.profile.create_profile(CreateProfileRequest(
fingerprint_id=fps[0].id, name='SE profile 01', proxy=proxy))
result = client.profile.test_profile_proxy(profile.id)
print(result.result) # success, partial_success or failure
For SOCKS5 use value='socks5' and port 1080. Kameleo's documentation treats partial_success as usable; a failure comes back as an error, and the profile will not start until the proxy passes. One profile, one session ID, as in the desktop app.
Kameleo proxy not working: errors and fixes
Because Kameleo tests the proxy whenever a profile starts, most proxy problems show up as a profile that will not open. Kameleo's Known Issues page names the message "Failed to start upstream proxy process (10 sec timeout)" and four causes: invalid SSH or SOCKS5 credentials, a wrong host or port, network or firewall restrictions and, rarely, no free TCP port on the computer. These are the cases behind it, in the order to check.

| What you see | Usual cause | Fix |
|---|---|---|
| Failed to start upstream proxy process (10 sec timeout) | The type does not match the port, or the host, port or login is wrong | HTTP with 8080, SOCKS5 with 1080; paste the line again from Preview |
| Test Proxy: your own connection passes, the proxy lines fail | A cut username, a type on the wrong port, or a plan that expired or ran out of traffic | Copy the username whole; check the type; in My proxies check status, remaining traffic and expiry |
| Test Proxy: the direct lines fail too | Your own network: a firewall, an antivirus or a VPN blocks Kameleo | Fix the network first, then test again |
| The pasted line does not split into the fields | The line is in another layout, such as host:port:user:pass | Set Output format to user:pass@host:port, or type the four values from Connection details |
| Wrong country, time zone or language | No -country- in the username, Worldwide in the generator, or Location set to Manual | Generate the line with a country; Location on Automatic; the language of that country |
| The IP changes in the middle of a session | The session lifetime ended, or two profiles share one session ID | A longer -ttl- and a different -sid- in every profile |
| One test line has a cross, the location is found | Kameleo calls this a partial success: the site was reached over at least one route | Usable as it is; Kameleo's documentation treats it as a working proxy |
One test outside the browser settles most cases in a minute. If this returns an address in the right country, the proxy works and the problem is in the profile's fields:
curl -x http://residentialpremium.quantumproxies.io:8080 \
-U "USER-country-se-sid-test-ttl-10m:PASS" https://ipinfo.io/json
If the same command fails on your network but works from another one, a firewall or your provider is blocking the connection to the proxy port, which is the network cause in Kameleo's list.
HTTP or SOCKS5 in Kameleo
Both work for browsing, and every QuanticData network offers both. HTTP on port 8080 is the simpler choice and the one to start with. SOCKS5 on port 1080 passes any kind of TCP connection, not only web pages; the details are on the page for SOCKS5 proxies. What breaks a profile is never the choice itself, only a type that does not match its port.
Before you run accounts
A proxy changes where a profile's traffic comes from, not what the profile is allowed to do. Keep to each platform's terms and to the law where you work, and use one profile, one session and one identity per account.
Sources & further reading
- Kameleo Knowledge Base: Built-in Proxy Manager
- Kameleo Knowledge Base: Supported Proxy Connection Strings
- Kameleo Knowledge Base: Recommended Settings
- Kameleo Knowledge Base: Troubleshooting Known Issues
- Kameleo Knowledge Base: Emulated Mobile Profiles
- Kameleo Developer Center: Using proxy servers
- RFC 1928: SOCKS Protocol Version 5