Documentation menu

Integrate · Code examples

Working examples for the clients people actually use.

Every snippet fetches https://api.ipify.org through a United States residential exit and prints the IP. Swap the username parameters and the target, nothing else changes.

3 min read 6 sections Updated Sep 21, 2026

Command line#

cURL
# HTTP(S) proxy
curl -x http://USER-cc-us:[email protected]:9000 https://api.ipify.org

# SOCKS5 with remote DNS
curl --proxy socks5h://USER-cc-us:[email protected]:9001 https://api.ipify.org

# Sticky session for 30 minutes, verbose to see the CONNECT
curl -v -x http://USER-cc-us-sid-a1b2c3-ttl-30m:[email protected]:9000 https://api.ipify.org

Python#

requests
import requests

proxy = "http://USER-cc-us:[email protected]:9000"
session = requests.Session()
session.proxies = {"http": proxy, "https": proxy}

r = session.get("https://api.ipify.org", timeout=30)
print(r.text)

# Sticky: build the username per session id
def proxy_for(sid: str, cc: str = "us", ttl: str = "10m") -> str:
    return f"http://USER-cc-{cc}-sid-{sid}-ttl-{ttl}:[email protected]:9000"

Node.js#

undici / fetch
import { fetch, ProxyAgent } from "undici";

const dispatcher = new ProxyAgent("http://USER-cc-us:[email protected]:9000");
const res = await fetch("https://api.ipify.org", { dispatcher });
console.log(await res.text());

PHP#

cURL
$ch = curl_init("https://api.ipify.org");
curl_setopt_array($ch, [
    CURLOPT_PROXY          => "http://res.proxshift.com:9000",
    CURLOPT_PROXYUSERPWD   => "USER-cc-us:PASS",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 30,
]);
echo curl_exec($ch);

Go, Java and C##

Go
package main

import (
    "fmt"
    "io"
    "net/http"
    "net/url"
)

func main() {
    proxyURL, _ := url.Parse("http://USER-cc-us:[email protected]:9000")
    client := &http.Client{Transport: &http.Transport{Proxy: http.ProxyURL(proxyURL)}}
    resp, err := client.Get("https://api.ipify.org")
    if err != nil {
        panic(err)
    }
    defer resp.Body.Close()
    body, _ := io.ReadAll(resp.Body)
    fmt.Println(string(body))
}

Browsers and anti-detect tools#

  • Chrome's --proxy-server flag takes no credentials. Use Playwright or Puppeteer (they answer the auth challenge for you), or whitelist the machine and use the flag alone.
  • Selenium has no built-in proxy authentication either; the whitelist is the reliable route.
  • Anti-detect browsers (Multilogin, GoLogin, AdsPower, Dolphin and the like) accept a host:port:user:pass line per profile. Paste the dedicated address line, or the gateway with a unique -sid- per profile.
  • Firefox and Chrome ask for the proxy password once per session when configured manually; automation should not rely on that prompt.

Ready when you are

Paste the endpoint, watch the exit change.

Create your account, top up $10 and run the quickstart against your real target. What you do not use stays on your balance.