Authentication overview

Username and password authentication, and the anatomy of a proxy username.

Every request through the gateway is authenticated one of two ways: credentials sent with the request, or a whitelisted source IP. Credentials are the default because they carry your targeting flags — the username is both identity and configuration.

Username anatomy

text
wp-acc4821-country-de-city-berlin-session-a91f-sesstime-30
└──┬──┘ └──────┬──────┘ └─────┬─────┘ └────┬────┘ └────┬────┘
   │           │              │            │           │
 user      country          city        session    duration
SegmentRequiredValuesNotes
useryeswp-acc<id> or a sub-user nameAlways first
-country-noISO 3166-1 alpha-2, lowercaseOmit for a random exit worldwide
-state-noUS and CA only, e.g. californiaRequires a matching -country-
-city-nolowercase, hyphens for spacesFalls back to nearest metro
-asn-noasNNNNResidential and ISP only
-carrier-nocarrier slugMobile only
-session-noany 4–32 alphanumericsPresence implies sticky
-sesstime-no1–120 (minutes)Default 10, requires -session-

Order matters less than you think

Flags are parsed by key, not by position, so the order after the username is irrelevant. What does matter is that the username itself comes first and that no flag value contains a hyphen — use hyphens only as separators.

Sending credentials

http://wp-acc4821-country-de:s3cr3t-pass@res.wproxy.io:8000

Failure modes

StatusMeaningFix
407Credentials rejectedCheck the password and that the sub-user is enabled
403Flag not permittedThe sub-user is restricted to certain countries or products
402No balanceTop up or attach a plan
429Concurrency exceededReduce parallel connections or raise the sub-user limit
Something inaccurate?Tell support