Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Quickstart

You need the username and password issued when your account was created.

1. Make a request

curl -x 'http://USER:PASS@proxy.hypercall.dev:4444' https://api.ipify.org

The response is the residential exit IP your request came from. Run it again and you will get a different one; by default, every request rotates to a fresh exit.

Quote the URL. Passwords can contain characters (@ : / # %) that a shell or a URL parser will mangle, which shows up as a confusing 407. Single-quote the whole -x value, or pass credentials with --proxy-user instead:

curl -x http://proxy.hypercall.dev:4444 --proxy-user 'USER:PASS' https://api.ipify.org

2. Pick a country

Append option tokens to the username, not the host:

curl -x 'http://USER-country-de:PASS@proxy.hypercall.dev:4444' https://api.ipify.org

Now the exit is in Germany. See Targeting options for state, city, ASN, and more.

3. Keep the same IP across requests

Add a session id (sid), which can be any string you choose. Requests with the same sid reuse the same exit:

curl -x 'http://USER-country-us-sid-abc123:PASS@proxy.hypercall.dev:4444' https://api.ipify.org
curl -x 'http://USER-country-us-sid-abc123:PASS@proxy.hypercall.dev:4444' https://api.ipify.org

Both return the same IP. See Sticky sessions for how long that lasts.

4. Use it from code

Any HTTP client with proxy support works. Nothing Hypercall-specific:

import requests

proxy = "http://USER-country-us:PASS@proxy.hypercall.dev:4444"
r = requests.get("https://api.ipify.org", proxies={"http": proxy, "https": proxy})
print(r.text)
import { HttpsProxyAgent } from 'https-proxy-agent';

const agent = new HttpsProxyAgent('http://USER-country-us:PASS@proxy.hypercall.dev:4444');
const res = await fetch('https://api.ipify.org', { agent });
console.log(await res.text());

Next