Step 1: Check your authentication
The most common reason requests fail is an authentication problem. Run this test command from your terminal:407 AUTH_FAILED response:
- Make sure your package key matches what’s shown in the dashboard under Quick Connect. Copy it exactly.
- Check that the key is in the password position, after the colon. The format is
{rules}:{package_key}. A common mistake is putting the key in the wrong field. - If you recently regenerated your key, the old one stops working immediately. Update it everywhere.
407 IP_NOT_ALLOWED response:
- You’re using IP Auth, but your current IP isn’t on the allowlist.
- Visit checker.soax.com/api/ipinfo directly (without a proxy) to see your public IP, then add it to the allowlist in the dashboard.
- If you’re behind a VPN, corporate NAT, or cloud instance, your outbound IP may not be what you expect.
407 PACKAGE_SUSPENDED response:
- Your account or package has been suspended. Check the dashboard for notifications, or contact support.
Step 2: Check your connection string format
SOAX connection strings use hyphens to separate rules and underscores within multi-word values. Getting this wrong is a common source of silent failures or unexpected behavior. Correct:los as the city and angeles as an unknown parameter. You won’t get an error, but the targeting will be wrong.
Common formatting mistakes:
- Using hyphens inside values (
los-angelesinstead oflos_angeles) - Missing the colon between rules and package key
- Putting the package key in the username field instead of the password field
- Using
=instead of-to set values (country=usinstead ofcountry-us) - Forgetting
country-anywhen you don’t want geo-targeting (at least one targeting rule is required)
Step 3: Check your geo-targeting
If your requests succeed but return IPs from the wrong country or city, the issue is usually in your targeting parameters. Run a targeted request and check the response:country_code and city fields in the response. If they don’t match what you targeted:
- Make sure the country code is lowercase ISO 3166-1 alpha-2 (e.g.
us,gb,de). Common pitfalls: uppercase (US), usingukinstead of the correct codegb, or three-letter codes likeGER. - Check for typos in region and city names. Use underscores for spaces.
- If you’re targeting a very specific location (small city + ISP), the pool may be too small and the system can’t find a match. The
X-SOAX-Detailheader will tell you if this is the case. Try removing the most specific filter first (city or ISP) and see if the country matches.
502 NODE_NOT_FOUND response:
- No nodes match your filter combination. Broaden your targeting.
- Mobile pools are smaller than residential. If you’re using
network-mob, trynetwork-resto see if the issue is mobile-specific. - Some regions have limited coverage at certain times of day. Try again later.
Step 4: Check for timeouts
If your requests hang and eventually time out, the issue could be on the proxy side, the target side, or your client configuration. Test with a known-good target first:- Check that you can reach
proxy.soax.comon port 1337 from your network. Some corporate firewalls block non-standard ports. - Try from a different network (e.g. phone hotspot) to rule out local network issues.
- Check the SOAX status page for any ongoing incidents.
- The target website may be slow or rate-limiting the exit IP. Try a different country or session to get a fresh IP.
- If you get
504 GATEWAY_TIMEOUT, the proxy connection was established but the target didn’t respond in time. Increase the timeout on your HTTP client. - Some targets block traffic at the TCP level without sending a response. This looks like a timeout from your side. Try rotating to a new IP.
Step 5: Check your session behavior
If your session isn’t holding the same IP across requests, or if sessions are breaking unexpectedly: Ephemeral sessions expire after 60 seconds of inactivity. If there’s a gap of more than 60 seconds between requests with the same session ID, the session is gone. The next request creates a new session and gets a new node. If your workflow has natural pauses longer than that, build in keepalive requests to hold the session open. Conflicting rules on the same session ID return409 SESSION_PARAMS_MISMATCH. If you send country-us-session-job1 and then country-gb-session-job1, the second request fails because the session was created with US targeting and you’re trying to change it. To change rules, use a new session ID.
Rotation rules force IP changes within a session. If you set rotate-timed_300 and your IP changes after 300 seconds, that’s working as intended. Remove the rotation rule if you want to keep the same IP for the full session lifetime.
Step 6: Check your package limits
If requests were working and suddenly stopped: Credit exhaustion. If your organization’s credits are used up, requests will be blocked. Check your balance in the dashboard under Usage & Analytics. Traffic limit on the package. If the organization owner set a traffic limit on your proxy package, you’ll get429 TRAFFIC_LIMIT_EXCEEDED when you hit it. Ask the owner to increase or remove the limit.
RPS or connection limit. If you’re sending too many requests in parallel, you’ll get 429 RATE_LIMIT_EXCEEDED. Reduce your concurrency or upgrade your plan for higher limits.
Quick diagnostic checklist
Work through this in order. Stop as soon as you find the issue.- Can you reach the checker with
country-any? If no, it’s an auth or network problem (steps 1 and 4). - Does the checker return the right country? If no, it’s a targeting problem (step 3).
- Does your actual target work? If no, it’s a target-side or timeout problem (step 4).
- Does your session hold the same IP? If no, check session behavior (step 5).
- Are you getting 429 errors? Check your limits (step 6).
- Still not working? Contact support through the dashboard with your
X-SOAX-Errorcode and the connection string you’re using (with the package key redacted).
Next steps
Error codes
Full list of every error code with causes and fixes.
CAPTCHA & ban rates
Understanding detection and block rates on target websites.
Authentication
Make sure your credentials and connection format are correct.
FAQ
Answers to the most common questions.