Route requests through one endpoint and control the network with connection parameters. Everything below works with any HTTP client -- cURL, Python, Node, Go, or the language of your choice. No SDK required.
Send your first request in under a minute. Point your client at the gateway, authenticate with your username and password, and you are routing through a residential IP.
# Route one request through a rotating residential IP
curl -x "http://USER:PASS@gw.knoxproxy.com:7000" \
"https://api.ipify.org?format=json"Grab your USER and PASS from the dashboard→ Access. New accounts start with a free trial balance -- no card required.
The gateway authenticates with HTTP Basic credentials embedded in the proxy URL. Your username also carries routing flags as suffixes, separated by hyphens -- this is how you select country, session type, and rotation without a separate API call.
| Credential | Description |
|---|---|
| username | Your account username, optionally followed by routing flags (see below). required |
| password | Your account password or a per-endpoint access token. required |
The same request in three languages. Swap the credentials and target URL for your own. Concurrency is limited only by your plan -- open as many parallel connections as you need.
import requests
proxies = {
"http": "http://USER:PASS@gw.knoxproxy.com:7000",
"https": "http://USER:PASS@gw.knoxproxy.com:7000",
}
r = requests.get("https://example.com", proxies=proxies)
print(r.status_code, r.text)Append flags to your username to control routing. Combine them freely -- for example USER-country-de-session-a1b2-sticky holds a German IP for the life of session a1b2.
| Flag | Values | Description |
|---|---|---|
| -country- | de, us, jp... | ISO country code for geo-targeting. Omit for a random exit. |
| -session- | any string | Reuse the same ID to keep the same IP across requests. |
| -sticky | flag | Hold the session IP for up to 24 hours instead of rotating. |
| -type- | resi, isp, mobile, dc | Select the pool. Defaults to residential. |
| -city- | berlin, london... | City-level targeting where inventory exists. |
| -asn- | AS number | Target a specific ASN for carrier-level precision. |
Target a country, or narrow to a city or ASN where inventory exists. Requests for a combination with no pool return 422 rather than silently falling back -- so you always know what you are routing through.
# A sticky IP in Berlin, held for the session
curl -x "http://USER-country-de-city-berlin-sticky:PASS@gw.knoxproxy.com:7000" \
"https://example.com"Pull your consumption programmatically. The Usage API is a standard REST endpoint authenticated with a bearer token from the dashboard.
# Fetch monthly usage
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
"https://api.knoxproxy.com/v1/usage?from=2026-06-01&to=2026-06-30"Rate limit: 120 requests/min. Responses are JSON, paginated with a cursor.
Request a list of proxy endpoints filtered by type, country, and count. Useful for tools that require a static list of proxy addresses.
# Generate a proxy list
curl -H "Authorization: Bearer YOUR_API_TOKEN" \
"https://api.knoxproxy.com/v1/proxy/generate?type=residential&country=us&count=10"| Param | Values | Description |
|---|---|---|
| type | residential, isp, mobile, dc | Proxy pool type. |
| country | ISO code | Filter by country. Omit for mixed. |
| count | 1--1000 | Number of proxy endpoints to return. |
| format | json, txt | Response format. Default: json. |
The gateway returns standard HTTP status codes. The most common ones and their fixes:
| Code | Meaning & fix |
|---|---|
| 407 | Proxy auth required -- check your username/password. Full guide → |
| 422 | Requested geo/type combination has no pool. Broaden the target. |
| 429 | Plan concurrency exceeded. Slow down or upgrade. |
| 500 | Internal gateway error. Retry with exponential backoff. |
| 502 | Upstream target unreachable. Verify the target URL. |
| 504 | Gateway timeout. The target did not respond in time. |
One endpoint, four proxy types, copy-paste examples in every language. Create a free account and make your first authenticated request today.