Socks5Proxy

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.

Python requestsComplete Python requests guide: HTTP/SOCKS5 proxy connections (socks5h), authentication, list rotation, retries, and session management with actual code.Node.jsGuide for connecting HTTP proxies via ProxyAgent and SOCKS5 via socks-proxy-agent in Node.js fetch(undici), including IP rotation code.cURLGuide to cURL proxy connections: HTTP (-x) vs. SOCKS5 (--socks5-hostname), authentication, response timing, and batch testing scripts.SeleniumGuide: HTTP/SOCKS5 proxies for Chrome/Firefox in Selenium, why Chrome needs IP auth, and parallel browser execution.PuppeteerGuide for connecting HTTP/SOCKS5 proxies in Puppeteer via --proxy-server and page.authenticate, with IP separation by browser.PlaywrightGuide for connecting HTTP/SOCKS5 proxies via Playwright's proxy option, using different IPs per context, with Python/Node.js examples.ScrapyGuide: HttpProxyMiddleware and meta proxy in Scrapy, rotating IPs per request with downloader middleware, and speed tuning.

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.

ItemExample valueDescription
IP198.51.100.23Proxy server address
HTTP Port8000HTTP and HTTPS (CONNECT) connections
SOCKS5 port1080SOCKS5 TCP connection
Usernamespx_userUsername/Password Authentication
Passwordspx_passUsername/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.

FormatExampleIdeal use cases
ip:port:user:pass198.51.100.23:8000:spx_user:spx_passSplit configuration screen
user:pass@ip:portspx_user:spx_pass@198.51.100.23:8000Address assembly in code
http://user:pass@ip:porthttp://spx_user:spx_pass@198.51.100.23:8000requests, cURL, Scrapy
socks5://user:pass@ip:portsocks5://spx_user:spx_pass@198.51.100.23:1080SOCKS5 library
ip:port198.51.100.23:8000IP authorization, browser launch arguments
CSVip,http_port,socks_port,user,pass,countrySpreadsheet 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.

Proxy setup guide: Python, Node.js, Selenium configurations | Socks5Proxy