Where to find your credentials
Each proxy package has its own credentials. To find them:- Log in to the dashboard.
- Open Quick Connect or go to your proxy package settings.
- Your package key (password) is displayed there. Copy it exactly as shown. Package keys look like
pk_abc123….
Username/password authentication
This is the most common way to connect. You send your credentials with every request as part of the proxy connection string. The format is:country-any:
Adding more rules
You can chain multiple rules in the username field using hyphens as delimiters. Multi-word values use underscores instead of hyphens (the hyphen is the rule delimiter). Here are some examples: Target a specific country and city:Supported protocols
Username/password authentication works with all proxy protocols on the same gateway port:| Protocol | Supported | Port |
|---|---|---|
| HTTP | Yes | 1337 |
| HTTPS | Yes | 1337 |
| SOCKS5 | Yes | 1337 |
IP Auth
If you don’t want to send credentials with every request, you can authenticate by IP instead. Once your client IP is on the package’s allowlist, SOAX authenticates based on where the request comes from.Setting up IP Auth
- In the dashboard, open your proxy package settings.
- Find the IP Allowlist section.
- Add the public IP address of the machine that will send requests.
Quick Connect with IP Auth (HTTPS only)
IP Auth over HTTP and SOCKS5
There is no way to pass runtime rules with IP Auth on plain HTTP or SOCKS5. HTTP has no username field and no SNI, and SOCKS5 has no username field under IP Auth. IP Auth carries rules over HTTPS only, via the subdomain (SNI), as shown above. If you need runtime rules on HTTP or SOCKS5, use username/password authentication instead — the rules go in the username field, and all three protocols support it.Protocol support summary
| Auth method | HTTP | HTTPS | SOCKS5 |
|---|---|---|---|
| Username / password | Yes | Yes | Yes |
| IP Auth (rules in subdomain) | No | Yes | No |
Which method should I use?
For most use cases, username/password is the simplest option. It works with all protocols, has no rule-length limits, and doesn’t need any dashboard setup beyond copying your package key. IP Auth is useful when your tool or integration doesn’t support proxy credentials (some browser automation tools and legacy HTTP clients fall into this category), or when you want to avoid embedding credentials in configuration files. You can use both methods on the same package. Adding an IP to the allowlist doesn’t disable username/password authentication.Errors
If authentication fails, the proxy returns an error with two response headers:X-SOAX-Error (a machine-readable code) and X-SOAX-Detail (a plain explanation). The common ones:
| HTTP | X-SOAX-Error | Meaning |
|---|---|---|
| 407 | AUTH_FAILED | Invalid or missing package key |
| 407 | IP_NOT_ALLOWED | Your client IP isn’t on the allowlist |
| 407 | PACKAGE_SUSPENDED | Account suspended or disabled |
Next steps
Residential proxies
Full rule reference for residential proxy configuration.
Mobile proxies
Full rule reference for mobile proxy configuration.
Quick Connect
Generate connection strings from the dashboard without memorizing the format.
Error codes
What to do if you get a 407 AUTH_FAILED or IP_NOT_ALLOWED error.