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
wp-acc4821-country-de-city-berlin-session-a91f-sesstime-30
└──┬──┘ └──────┬──────┘ └─────┬─────┘ └────┬────┘ └────┬────┘
│ │ │ │ │
user country city session duration| Segment | Required | Values | Notes |
|---|---|---|---|
| user | yes | wp-acc<id> or a sub-user name | Always first |
| -country- | no | ISO 3166-1 alpha-2, lowercase | Omit for a random exit worldwide |
| -state- | no | US and CA only, e.g. california | Requires a matching -country- |
| -city- | no | lowercase, hyphens for spaces | Falls back to nearest metro |
| -asn- | no | asNNNN | Residential and ISP only |
| -carrier- | no | carrier slug | Mobile only |
| -session- | no | any 4–32 alphanumerics | Presence implies sticky |
| -sesstime- | no | 1–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:8000Failure modes
| Status | Meaning | Fix |
|---|---|---|
| 407 | Credentials rejected | Check the password and that the sub-user is enabled |
| 403 | Flag not permitted | The sub-user is restricted to certain countries or products |
| 402 | No balance | Top up or attach a plan |
| 429 | Concurrency exceeded | Reduce parallel connections or raise the sub-user limit |