Spider proxy: rotating residential IPs over HTTP or SOCKS5
Point any HTTP, HTTPS or SOCKS5 client at the Spider proxy, with your API key as the username. Rotating residential IPs at $1 per GB transferred.
What is Spider proxy mode?
The Spider proxy is a front-end to the API. Instead of making POST requests, you route standard HTTP traffic through Spider’s proxy endpoint at proxy.spider.cloud. That makes it easy to integrate with any tool that already speaks HTTP, HTTPS, or SOCKS5. Costs and parameters are the same as the standard API.
The proxy forwards your client’s requests and doesn’t render JavaScript. It ignores render_js, which older examples passed. Connection details:
- HTTP address:
proxy.spider.cloud:8888 - HTTPS address:
proxy.spider.cloud:8889 - SOCKS5 address:
proxy.spider.cloud:8887 - Username:
YOUR-API-KEY - Password:
PARAMETERS
Replace PARAMETERS with the proxy parameters you need: country_code and trackers_disabled. If you don’t know what to use, start with country_code=us. Join several parameters with &, for example country_code=us&trackers_disabled=false.
As an alternative, you can use URLs like the following:
{
"url": "http://proxy.spider.cloud:8888",
"username": "YOUR-API-KEY",
"password": "country_code=us"
}Features
- Proxy rotation: Residential proxies with automatic failover
- Pricing: $1 per GB transferred
- Concurrency: Thousands of concurrent requests
- Caching: Repeated page requests return faster
- Fewer blocks: Built-in handling for protected sites
See the full API reference for all supported parameters.
Usage
Create an API key, then configure your HTTP client to use Spider as a proxy. Pass API parameters in the password field:
import requests, os
# Proxy configuration
proxies = {
'http': f"http://{os.getenv('SPIDER_API_KEY')}:country_code=us@proxy.spider.cloud:8888",
'https': f"https://{os.getenv('SPIDER_API_KEY')}:country_code=us@proxy.spider.cloud:8889"
}
# Function to make a request through the proxy
def get_via_proxy(url):
try:
response = requests.get(url, proxies=proxies)
response.raise_for_status()
print('Response HTTP Status Code: ', response.status_code)
print('Response HTTP Response Body: ', response.content)
return response.text
except requests.exceptions.RequestException as e:
print(f"Error: {e}")
return None
# Example usage
if __name__ == "__main__":
get_via_proxy("https://www.example.com")
get_via_proxy("https://www.example.com/community")Note: The proxies available in Proxy Mode differ from those used in standard API crawling. The standard API proxies include challenge handling and more advanced rotation logic.
SOCKS5
Spider also exposes a SOCKS5 proxy on proxy.spider.cloud:8887. Same API-key-as-username and parameters-as-password scheme, same credits, same rotation. Use it for clients that only speak SOCKS5, or when you want lower-overhead tunneling for non-HTTP protocols.
import requests, os
proxies = {
'http': f"socks5h://{os.getenv('SPIDER_API_KEY')}:country_code=us@proxy.spider.cloud:8887",
'https': f"socks5h://{os.getenv('SPIDER_API_KEY')}:country_code=us@proxy.spider.cloud:8887",
}
response = requests.get("https://httpbin.org/ip", proxies=proxies)
print(response.text)requests needs the requests[socks] extra (pip install 'requests[socks]'). Use socks5h:// (not socks5://) so DNS is resolved on Spider’s side, which keeps geo-targeting accurate.
curl equivalent:
curl -x "socks5h://YOUR-API-KEY:country_code=us@proxy.spider.cloud:8887" https://httpbin.org/ipRun this on a page you care about
The playground sends the request this page describes and shows you the response. Keyless runs work without an account and are rate limited.