Proxy setup guide: SOCKS5/HTTP configuration for languages and tools
Socks5Proxy connection guide: Working code examples for SOCKS5/HTTP proxies in Python requests, Node.js, cURL, Selenium, Puppeteer, Playwright, and Scrapy.
What information do I need to connect to proxies?
Each proxy line contains IP address, HTTP/SOCKS5 ports, and credentials. View/download lists in your dashboard or fetch identical data via API.
Examples use IP 198.51.100.23, HTTP port 8000, SOCKS5 port 1080, username spx_user, password spx_pass. Replace with your actual proxies - 198.51.100.0/24 is documentation-only.
Two authentication methods: username and password, or IP authorization by registering up to 10 IPv4 addresses in the dashboard for password-free access. IP authorization is useful for tools like Chrome launch arguments that don't accept passwords.
| Item | Example value | Description |
|---|---|---|
| IP | 198.51.100.23 | Proxy server address |
| HTTP Port | 8000 | HTTP and HTTPS (CONNECT) connections |
| SOCKS5 port | 1080 | SOCKS5 TCP connection |
| Username | spx_user | Username/Password Authentication |
| Password | spx_pass | Username/Password Authentication |
Should I connect via HTTP or SOCKS5?
Most web/API tasks work fine with HTTP ports. HTTPS URLs are relayed encrypted via CONNECT without proxy interference.
SOCKS5 can relay non-HTTP TCP connections and handle DNS resolution on the proxy side. Use socks5h in Python or --socks5-hostname in cURL to prevent your server's DNS requests from being exposed. Both ports are available on the same IP - just choose the method your tool supports.
How do I fetch and use proxy lists programmatically?
Create API keys in the dashboard (shown once - store securely). Include the key in the Authorization: Bearer header. This Python example fetches a SOCKS5 list in user:pass@ip:format. Guides show how to connect this list to tools.
import requests
API = "https://socks5proxy.io/api/v1"
KEY = "YOUR_API_KEY"
# Download the proxy list as plain text, one proxy per line
r = requests.get(
API + "/proxies/download",
params={"format": "user:pass@ip:port", "protocol": "socks5"},
headers={"Authorization": "Bearer " + KEY},
timeout=30,
)
r.raise_for_status()
proxies = [line.strip() for line in r.text.splitlines() if line.strip()]
print(len(proxies), "proxies loaded")Which guide should I start with?
Select guides matching your language and tools. All include connection verification, troubleshooting, and IP rotation methods.
- Python requests: Simplest HTTP/SOCKS5 connections & list rotation
- Node.js: undici ProxyAgent (HTTP) & socks-proxy-agent (SOCKS5)
- cURL: Command-line connection testing and response time measurement
- Selenium: Chrome with IP auth & Firefox setup
- Puppeteer: --proxy-server & page.authenticate
- Playwright: Proxy per browser and context
- Scrapy: Meta proxy & rotating middleware per request
Which list format should I choose?
Tools accept different proxy formats - choose yours when downloading lists. Most libraries handle http://user:pass@ip:port or socks5://user:pass@ip:port. For tools with separate IP/port/user/pass fields, use ip:port:user:pass for easy pasting.
Select ip:port format for IP auth. CSV works best for spreadsheets, while separate HTTP/SOCKS5 lists show different ports.
| Format | Example | Ideal use cases |
|---|---|---|
| ip:port:user:pass | 198.51.100.23:8000:spx_user:spx_pass | Split configuration screen |
| user:pass@ip:port | spx_user:spx_pass@198.51.100.23:8000 | Address assembly in code |
| http://user:pass@ip:port | http://spx_user:spx_pass@198.51.100.23:8000 | requests, cURL, Scrapy |
| socks5://user:pass@ip:port | socks5://spx_user:spx_pass@198.51.100.23:1080 | SOCKS5 library |
| ip:port | 198.51.100.23:8000 | IP authorization, browser launch arguments |
| CSV | ip,http_port,socks_port,user,pass,country | Spreadsheet calculations, admin documents |
How to securely store proxy credentials?
Never commit proxy credentials or API keys to code repositories. Store them in environment variables or secret managers. If accidentally exposed, regenerate API keys in your dashboard to immediately invalidate previous keys.
If your server has a fixed IP, IP authorization is the safest option. Even if the list is leaked, connections from unregistered IPs are blocked. You can register up to 10 IPs and change them anytime.
For teams, sharing API-generated lists per member is easier than file sharing - it leaves an audit trail for troubleshooting.
What should I check if the connection fails?
First, test with cURL to confirm the proxy itself responds. A 407 response means the username or password is incorrect, or if using IP authorization, check if the server’s IP is on the allowed list. If the connection times out, double-check the port (e.g., HTTP 8000, SOCKS5 1080, which varies per line).
If the issue persists, contact support through the dashboard. Please include the proxy line, tools used, and error message for faster resolution.