gw.proxies.sx:7000 (HTTP) or :7001 (SOCKS5), with the right rotation choice for that tool.http://psx_<accountId>-<pool>-<country>[-rot-<mode>][-sid-<id>]:<proxyPassword>@gw.proxies.sx:7000
| Token | Values | Notes |
|---|---|---|
pool | peer (~127 countries), mbl (carrier modems: US GB FR NL PL GE), any, best | GE is Georgia, not Germany; use peer-de for Germany |
country | 2-letter ISO or any | check stock first: GET /v1/gateway/pool/stock |
-rot- | auto5 auto10 (default) auto20 auto60 ondemand sticky | sticky pins the device, not the IP - carriers re-NAT on their own schedule |
-sid- | 1-64 chars, no - | required for sticky and auto; without it every connection is a fresh session |
Unknown tokens are dropped silently - -session- is not a token, -sid- is. Get your credentials with curl https://api.proxies.sx/v1/gateway/credentials -H "X-API-Key: psx_..."; set the proxy password once at client.proxies.sx/api-keys. Full contract: /pool/skill.md.
| Framework | Sample | Rotation to use |
|---|---|---|
| browser-use | python | sticky, one -sid- per Agent run |
| Playwright | node | sticky per browser context; ondemand for one-shot fetches |
| OpenAI Agents SDK | python | sticky per Runner.run for multi-page research; ondemand for independent lookups |
| Vercel AI SDK | node | sticky per generateText call; ondemand when every tool call is independent |
| n8n | json | sticky per execution: -sid-{{ $execution.id }} |
| Stagehand | node | sticky per Stagehand instance |
| LangChain | python | sticky per agent invocation |
| CrewAI | python | sticky per crew kickoff |
| Make and Zapier | bash | ondemand, or sticky keyed on the scenario/zap run id |
Using an MCP client instead of a framework? The MCP server builds these strings for you with pool_build_proxy_url.