```yaml
product: AlterLab
title: "SOCKS Proxy — Web Scraping Glossary | AlterLab"
comparison_context: "AlterLab is an alternative to Firecrawl, ScrapingBee, and Bright Data."
source_url: https://alterlab.io/glossary/socks-proxy
```

proxy

# SOCKS Proxy

A SOCKS proxy operates at the network layer, tunnelling any TCP connection — not just HTTP — making it more versatile than HTTP proxies for scraping diverse protocols.

SOCKS (Socket Secure) is a network protocol that creates a general-purpose TCP tunnel between the client and the SOCKS proxy server. Unlike an HTTP proxy, which only understands HTTP CONNECT tunnelling, a SOCKS proxy can relay any TCP traffic: HTTP, HTTPS, FTP, WebSocket, or custom binary protocols. SOCKS5 also supports UDP traffic and optional username/password authentication.

For web scraping, SOCKS5 proxies are often preferred when the scraper uses libraries that speak directly over TCP rather than via an HTTP proxy setting. They are also used when WebSocket connections must be proxied alongside regular HTTP requests in the same session.

Browser-based scrapers typically route traffic through SOCKS5 proxies by launching the browser with `--proxy-server=socks5://host:port`. This tunnels all browser traffic — including HTTP/2 and QUIC connections — through the proxy, ensuring complete session isolation.

### What is SOCKS Proxy?

A SOCKS proxy operates at the network layer, tunnelling any TCP connection — not just HTTP — making it more versatile than HTTP proxies for scraping diverse protocols.

### How does AlterLab handle SOCKS Proxy?

Browser-based scrapers typically route traffic through SOCKS5 proxies by launching the browser with `--proxy-server=socks5://host:port`. This tunnels all browser traffic — including HTTP/2 and QUIC connections — through the proxy, ensuring complete session isolation.

## Examples

```
# Use SOCKS5 proxy with httpx
import httpx

transport = httpx.HTTPTransport(proxy="socks5://user:pass@proxy.example.com:1080")
with httpx.Client(transport=transport) as client:
    response = client.get("https://target.com")
```

## Related Terms

[Proxy PoolA managed collection of proxy IP addresses used to distribute outbound requests across multiple origins and stay below per-IP rate limits.](https://alterlab.io/glossary/proxy-pool)[Rotating ProxyA proxy configuration that automatically assigns a different IP address for each request or at a set interval to prevent IP-based rate limiting.](https://alterlab.io/glossary/rotating-proxy)[Residential ProxyAn IP address assigned by an ISP to a real residential device, used to route scraping requests through genuine consumer IPs.](https://alterlab.io/glossary/residential-proxy)[Proxy AuthenticationProxy authentication is the process of presenting credentials (username and password) to a proxy server to authorise its use for forwarding scraping requests.](https://alterlab.io/glossary/proxy-authentication)[TLS FingerprintA signature derived from TLS handshake parameters a client sends when opening an HTTPS connection, used by anti-bot systems to classify traffic.](https://alterlab.io/glossary/tls-fingerprint)

## Extract SOCKS Proxy data from any website

AlterLab returns clean, structured data from any public URL — no scraper infrastructure needed. Start free, no credit card required.

[View API docs](https://alterlab.io/docs/api/rest)

[Back to Glossary](https://alterlab.io/glossary)