Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To send a scraper through Tor, run a Tor client and configure the scraper itself to use Tor’s local SOCKS5 listener, with DNS resolution sent through the proxy. Tor does not automatically route every app on your computer, and it is a poor choice for high-volume scraping: traffic to ordinary websites exits through public Tor relays, which can be slow or blocked. Use HTTPS, keep requests modest, respect a site’s rules, and treat Tor as a way to change network routing—not as a promise of anonymity or access.

How the Tor proxy connection works

Your HTTP client connects to a SOCKS listener on the machine running Tor. Tor then routes the connection through its network. For a normal website (a clearnet target), the connection reaches the site from a public Tor exit relay. The target can see that exit address, and may recognize or block it. A hostname-aware SOCKS mode is important: if your computer resolves the target’s hostname before the request enters Tor, your DNS request can disclose the destination outside the proxy.

Tor’s ordinary client interface supports SOCKS4, SOCKS4A and SOCKS5; it is not simply an HTTP proxy. The Tor SOCKS specification specifically warns about clients mistakenly treating it as one: Tor’s extensions to the SOCKS protocol. Configure a SOCKS option in the HTTP library or browser, rather than filling an HTTP-proxy field and assuming it will work.

The Tor Project cautions that “Tor only protects applications that are properly configured to send their Internet traffic through Tor.” Running Tor in the background alone does not route your scraper through it. See Tor Browser best practices.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
GL.iNet GL-MT3000 Beryl AX Wi-Fi 6 Travel Router, 2.5G WAN, VPN, OpenWrt
  • 【DUAL BAND AX TRAVEL ROUTER】Products with US, UK, EU Plug; Dual band network with wireless speed 574Mbps (2.4G)+2402Mbps (5G); 2.5G Multi-gigabit WAN port and a 1G gigabit LAN port; USB 3.0 port; Wi-Fi 6 offers more than double the total Wi-Fi speed with the MT3000 VPN Router.
  • 【VPN CLIENT & SERVER】OpenVPN and WireGuard are pre-installed, compatible with 30+ VPN service providers (active subscription required). Simply log in to your existing VPN account with our portable wifi device, and Beryl AX automatically encrypts all network traffic within the connected network. Max. VPN speed of 150 Mbps (OpenVPN); 300 Mbps (WireGuard). *Speed tests are conducted on a local network. Real-world speeds may differ depending on your network configuration.*
  • 【OpenWrt 21.02 FIRMWARE】The Beryl AX is a portable wifi box and mini router that runs on OpenWrt 21.02 firmware. It supports more than 5,000 ready-made plug-ins for customization. Simply browse, install, and manage packages with our no-code interface within Beryl AX's Admin Panel.
  • 【PROTECT YOUR NETWORK SECURITY】Our pocket wifi, unlike other vulnerable portable wifi hotspot for travel purposes supports WPA3 protocol–Preventive measures against password brute-force attacks; DNS over HTTPS & DNS over TLS–Protecting domain name system traffic and preventing data eavesdropping from malicious parties; IPv6–Built-in authentication for privacy protection, eliminating the need for network address translation.
  • 【VPN CASCADING AT EASE】Surpassing the mediocre performance of most VPN routers for home usage, the Beryl AX is capable of hosting a VPN server and VPN client at the same time within the same device, enabling users to remote access local network resources like Wi-Fi printers or local web servers, and accessing the public internet as a VPN client simultaneously.

Set up a modest, policy-compliant scrape

  1. Set a narrow scope. Fetch public pages only. Do not bypass authentication, collect personal data without a legitimate basis, or continue after a site asks you to stop. Check the site’s terms and robots directives, and define a conservative concurrency and request-rate budget before running the job.
  2. Start Tor and confirm its local SOCKS listener. The client address and port depend on how Tor was installed and configured. A common local endpoint is 127.0.0.1:9050, but verify yours rather than assuming. Make sure the scraping process can reach that endpoint.
  3. Configure SOCKS5 with remote DNS. In Python Requests, use the socks5h scheme. The trailing h tells Requests to resolve the hostname through the proxy. A plain socks5 setting may resolve locally, depending on the client.
  4. Test from the same process. Send a request to an HTTPS endpoint you control or are authorized to use that reports the observed request IP. Compare the result with a direct request, and verify that the scraper did not fall back to a direct connection if Tor is unavailable. If DNS privacy matters, check resolution behavior as well; seeing a Tor exit IP alone does not prove there was no local DNS lookup.
  5. Keep the run bounded. Set timeouts, cap retries, back off after errors, cache responses where appropriate, and use a clear user agent that identifies your project and gives a contact route where practical.
  6. Stop on access-control signals. A 403, 429, CAPTCHA or explicit opt-out is a reason to slow down or stop, not to change circuits to evade a site’s controls.
  7. Minimize and protect stored data. Retain only what your stated purpose needs. Avoid putting credentials, sensitive query strings or personal information into logs, and repeat the leak and routing checks after changes to the library, Tor configuration or deployment.

Python Requests example

Install a SOCKS-capable Requests dependency in the environment where the script will run (for example, the Requests SOCKS extra), then make the request through the local Tor listener. Replace the example target with a public page you are permitted to fetch. The example deliberately uses HTTPS, a finite timeout, a small retry limit and a descriptive user agent.

import requests
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry

TOR_SOCKS = "socks5h://127.0.0.1:9050"
TARGET = "https://example.com/"

session = requests.Session()
session.proxies.update({"http": TOR_SOCKS, "https": TOR_SOCKS})
session.headers["User-Agent"] = "ExampleResearchBot/1.0 (contact: [email protected])"

retry = Retry(
    total=2,
    connect=2,
    read=0,
    status=0,
    backoff_factor=1,
    allowed_methods={"GET"},
    respect_retry_after_header=True,
)
session.mount("https://", HTTPAdapter(max_retries=retry))

try:
    response = session.get(TARGET, timeout=(10, 45))
    response.raise_for_status()
    print("status:", response.status_code)
    print("bytes:", len(response.content))
    # Parse and store only the data your project needs.
except requests.RequestException as exc:
    print("request failed:", exc)

Install the SOCKS support before running this code; otherwise Requests may report that SOCKS support is unavailable. The retry policy above retries limited connection failures only, not HTTP status codes or read timeouts. That avoids blindly repeating requests after a server response. Adjust limits to the target’s rules, not to maximize throughput.

Browser automation

Use a browser only when the page genuinely requires JavaScript rendering. A minimal HTTP client is lighter and has fewer components that can make unintended network requests. For Firefox automation with Selenium, configure its SOCKS proxy and remote DNS before launching the browser. The SOCKS endpoint shown is an example; use the listener you verified.

Rank #2
Sale
GL.iNet GL-BE3600 Slate 7 Wi-Fi 7 Travel Router Touchscreen 2.5G
  • 【DUAL BAND WIFI 7 TRAVEL ROUTER】Products with US, UK, EU, AU Plug; Dual band network with wireless speed 688Mbps (2.4G)+2882Mbps (5G); Dual 2.5G Ethernet Ports (1x WAN and 1x LAN Port); USB 3.0 port.
  • 【NETWORK CONTROL WITH TOUCHSCREEN SIMPLICITY】Slate 7’s touchscreen interface lets you scan QR codes for quick Wi-Fi, monitor speed in real time, toggle VPN on/off, and switch providers directly on the display. Color-coded indicators provide instant network status updates for Ethernet, Tethering, Repeater, and Cellular modes, offering a seamless, user-friendly experience.
  • 【OpenWrt 23.05 FIRMWARE】The Slate 7 (GL-BE3600) is a high-performance Wi-Fi 7 travel router, built with OpenWrt 23.05 (Kernel 5.4.213) for maximum customization and advanced networking capabilities. With 512MB storage, total customization with open-source freedom and flexible installation of OpenWrt plugins.
  • 【VPN CLIENT & SERVER】OpenVPN and WireGuard are pre-installed, compatible with 30+ VPN service providers (active subscription required). Simply log in to your existing VPN account with our portable wifi device, and Slate 7 automatically encrypts all network traffic within the connected network. Max. VPN speed of 100 Mbps (OpenVPN); 540 Mbps (WireGuard). *Speed tests are conducted on a local network. Real-world speeds may differ depending on your network configuration.*
  • 【PERFECT PORTABLE WIFI ROUTER FOR TRAVEL】The Slate 7 is an ideal portable internet device perfect for international travel. With its mini size and travel-friendly features, the pocket Wi-Fi router is the perfect companion for travelers in need of a secure internet connectivity on the go in which includes hotels or cruise ships.
from selenium import webdriver
from selenium.webdriver.firefox.options import Options

options = Options()
options.set_preference("network.proxy.type", 1)
options.set_preference("network.proxy.socks", "127.0.0.1")
options.set_preference("network.proxy.socks_port", 9050)
options.set_preference("network.proxy.socks_version", 5)
options.set_preference("network.proxy.socks_remote_dns", True)

with webdriver.Firefox(options=options) as driver:
    driver.set_page_load_timeout(45)
    driver.get("https://example.com/")
    print(driver.title)

Use a clean browser profile for the job and avoid unnecessary extensions. Browser proxy preferences do not guarantee that every helper process or external application uses Tor; test the actual browser process and prevent direct-network fallbacks in the environment where feasible.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Or skip the browser setup

If your task needs a visual record of a page rather than extracted HTML or arbitrary browser interaction, ScreenshotNeo is a screenshot API, not a Tor proxy or general-purpose web scraper. It can be simpler than maintaining browser automation for that narrower job. Its one-call API returns a screenshot or PDF; see the ScreenshotNeo documentation for options and response handling.

curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://example.com -o shot.webp

ScreenshotNeo removes supported cookie/consent banners, newsletter popups and chat widgets before capture; bot checks, blank pages and failed loads are not billed; it offers an MCP server for AI agents; and the Free plan includes 1,000 screenshots per month with no card, while paid plans start at $5 for 3,000. These capabilities do not route a request through Tor or make a blocked target accessible. Sign up for 1,000 free screenshots a month, with no card required.

What Tor does—and does not—hide

Use HTTPS to the destination

Tor’s network encryption does not replace HTTPS encryption between the exit relay and the website. Keep the destination URL on HTTPS and validate certificates normally. HTTPS protects the contents of the connection on that final leg; it does not conceal the destination from the website you contact.

Rank #3
Sale
TP-Link AX1800 WiFi 6 Router (Archer AX21 V5)
  • DUAL-BAND WIFI 6 ROUTER: Wi-Fi 6(802.11ax) technology achieves faster speeds, greater capacity and reduced network congestion compared to the previous gen. All WiFi routers require a separate modem. Dual-Band WiFi routers do not support the 6 GHz band.
  • AX1800: Enjoy smoother and more stable streaming, gaming, downloading with 1.8 Gbps total bandwidth (up to 1200 Mbps on 5 GHz and up to 574 Mbps on 2.4 GHz). Performance varies by conditions, distance to devices, and obstacles such as walls.
  • CONNECT MORE DEVICES: Wi-Fi 6 technology communicates more data to more devices simultaneously using revolutionary OFDMA technology
  • EXTENSIVE COVERAGE: Achieve the strong, reliable WiFi coverage with Archer AX1800 as it focuses signal strength to your devices far away using Beamforming technology, 4 high-gain antennas and an advanced front-end module (FEM) chipset
  • OUR CYBERSECURITY COMMITMENT: TP-Link is a signatory of the U.S. Cybersecurity and Infrastructure Security Agency’s (CISA) Secure-by-Design pledge. This device is designed, built, and maintained, with advanced security as a core requirement.

Do not treat Tor as perfect anonymity

A website can identify you if you sign in or submit identifying information. Browser plugins and external programs can make connections outside Tor, and torrent software is a known example of software that may ignore proxy settings or expose a real IP. Tor Browser guidance says perfect anonymity cannot be guaranteed: Tor Browser security guidance. For a scraping job, isolate the process, avoid accounts and identifying form submissions, and verify its network path instead of assuming proxy settings are sufficient.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Handle downloaded files cautiously

Opening a downloaded DOC or PDF in an external application can cause it to fetch remote resources outside Tor and reveal a non-Tor IP. The Tor Project recommends safer handling such as an in-browser viewer, a disconnected analysis machine or a sanitization workflow such as Dangerzone; see the same security guidance. Do not open untrusted downloads on the same system as a privacy-sensitive scraping run.

Tor for clearnet sites versus onion services

An onion service is reachable only through Tor. When connecting to an onion address, the connection does not use a clearnet exit relay. This is different from scraping an ordinary public website, where traffic exits Tor to reach the site. Onion services are available only when the publisher provides an onion endpoint; Tor Project support explains onion services at support.torproject.org.

Rank #4
GL.iNet GL-MT300N-V2 (Mango) Portable Mini Travel Wireless Pocket VPN WiFi Router - 2X Ethernet Ports | USB 2.0 | OpenWrt | OpenVPN/Wireguard for Public & Hotel Wi-Fi | Easy to Set up via Admin Panel
  • 【WIRELESS MOBILE MINI TRAVEL ROUTER】 Convert a public network (wired or wireless) to a private Wi-Fi for secure surfing. Tethering. Powered by any laptop USB, power banks or 5V/2A DC adapters (sold separately). 39g (1.41 Oz) only, portable and pocket friendly. 2.4GHz ONLY
  • 【OPEN SOURCE & PROGRAMMABLE】 OpenWrt pre-installed, USB disk extendable.
  • 【LARGER STORAGE & EXTENDABILITY】 128MB RAM, 16MB Flash ROM, dual Ethernet ports, UART and GPIOs available for hardware DIY.
  • 【OPENVPN CLIENT】 OpenVPN client pre-installed, compatible with 30+ VPN service providers.
  • 【PACKAGE CONTENTS】 GL-MT300N-V2 (Mango) mini router (2-year Warranty), USB cable, Ethernet cable, User Manual. Please update to the latest firmware.

Using an onion address does not settle every privacy or security question. Service configuration, uptime patterns and identifying details can expose information about an operator; consult the Tor Project’s onion-service operational security guidance. For either kind of target, rate limiting and caching reduce avoidable load. The Tor Project discusses those practices for onion services in its onion service DoS guidelines; they are sensible controls for scraping too.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Choose the right tool and isolation model

Choice Useful when Trade-off
Tor SOCKS5 You need Tor routing for a limited, low-rate task and can configure the client directly. Volunteer-operated routing can be slower; public exit addresses may be recognized or blocked. It is not a high-volume access strategy.
Commercial proxy You need a provider relationship, support or more predictable capacity and have vetted the provider. You must trust the provider with network metadata and assess its policies, security and costs.
One shared Tor circuit A simple job with no need to separate targets at the stream level. It is simpler to configure, but offers less separation between streams than deliberate isolation.
Isolated Tor streams You have a concrete need to reduce linkability between streams and can operate Tor’s documented controls. Isolation adds configuration complexity; follow Tor’s documented SOCKS controls rather than inventing an ad-hoc mechanism. See Tor’s HTTP CONNECT specification, which also documents stream-isolation authentication tuples.
HTTP client Pages are available in the response HTML and no browser rendering is needed. It will not execute page JavaScript like a browser, but is easier to keep small and audit.
Browser automation The target’s public content genuinely depends on browser-side rendering. More resource use and a larger leak surface; proxy configuration must cover the browser process and its network activity.

Troubleshooting common failures

  • Connection refused to the proxy: Tor may not be running, may listen on a different address or port, or may be inaccessible from a container. Check the configured listener and network namespace; do not silently retry the request directly.
  • Requests reports missing SOCKS support: The installed Requests environment lacks its SOCKS dependency. Install the SOCKS extra in the same Python environment that runs the script, then retry.
  • The request still exposes local DNS: Confirm the URL uses socks5h:// with Requests or the client’s documented remote-DNS setting. A generic SOCKS5 label does not prove hostname resolution goes through Tor.
  • TLS or certificate errors: Keep HTTPS certificate validation enabled. Check the destination hostname, system trust configuration and clock; do not “fix” this by disabling verification.
  • 403, 429 or CAPTCHA: The site may block Tor exits or limit automated access. Reduce or stop traffic and honor the site’s response; circuit changes to get around the control are not an appropriate fix.
  • Slow response or timeout: Tor paths vary, and no responsible universal speed or success-rate figure follows from the available official guidance. Use realistic timeouts, low concurrency, caching and bounded backoff. If the task requires sustained throughput, choose an authorized method better suited to that requirement.
  • Traffic bypasses Tor: Confirm the proxy is attached to the actual session or browser, remove direct fallback paths, and test from the same process after every deployment change. Operating-system proxy settings alone do not ensure a Python library or browser helper uses Tor.

Operational notes before a longer run

Tor is a volunteer network, so high concurrency and aggressive crawling are a poor fit even if a client can technically open many connections. There is no universal safe requests-per-second number established here; the target’s rules and observed response should determine your limits. A conservative run uses a small worker count, caches repeatable responses, applies exponential backoff to transient connection failures, and stops rather than hammering on rate limits.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Keep logs useful but restrained: record status, timing and failure category where needed, but avoid logging secrets or full URLs if they contain sensitive parameters. Re-check the route and DNS behavior when you change the Tor client, library, browser, container or host. Tor relay guidance also asks operators not to inspect or modify traffic or disclose destination information, and to leave SafeLogging enabled by default; these operator expectations are described in the version 2.2 document updated 2026-08-25: Expectations for relay operators.

Best Value
Sale
Roam 6 AX1500 Portable Wi-Fi 6 Travel Router Dual-Band USB C 3.0
  • 𝐑𝐨𝐚𝐦 𝟔 𝐀𝐗𝟏𝟓𝟎𝟎 𝐝𝐮𝐚𝐥-𝐛𝐚𝐧𝐝 𝐬𝐩𝐞𝐞𝐝𝐬 - Wi-Fi 6 Speeds up to 1,201 Mbps (5 GHz) and 300 Mbps (2.4 GHz) for up to 60 devices simultaneously. Actual Wi-Fi speeds vary based on source bandwidth, environment, distance to devices, and obstacles. ◇§
  • 𝐏𝐨𝐫𝐭𝐚𝐛𝐥𝐞 𝐚𝐧𝐝 𝐝𝐮𝐫𝐚𝐛𝐥𝐞 𝐝𝐞𝐬𝐢𝐠𝐧 - Roam 6 AX1500 is a pocket-sized travel router compactly designed for trips and adventures, featuring a 1 Gbps WAN/LAN port and a 1 Gbps LAN port for reliable wired connectivity.
  • 𝗦𝗲𝗰𝘂𝗿𝗲 𝗪𝗶-𝗙𝗶 𝗼𝗻-𝘁𝗵𝗲-𝗴𝗼 - Connects to public Wi-Fi and creates a private, secure network for all your devices. Supports multiple devices at once, ideal for hotels, Airbnbs, airports, and even home use. VPN connectivity enables secure remote work.
  • 𝐌𝐮𝐥𝐭𝐢𝐩𝐥𝐞 𝐰𝐚𝐲𝐬 𝐭𝐨 𝐜𝐨𝐧𝐧𝐞𝐜𝐭 - (1) Router Mode: Connects to public Wi-Fi, ISP, or phone (USB tethering). (2) AP/RE/Client Mode: Adds WiFi to wired setups, extends WiFi, or connects wired devices wirelessly.
  • 𝐎𝐮𝐫 𝐜𝐲𝐛𝐞𝐫𝐬𝐞𝐜𝐮𝐫𝐢𝐭𝐲 𝐜𝐨𝐦𝐦𝐢𝐭𝐦𝐞𝐧𝐭 - TP-Link is a signatory of the U.S. Cybersecurity and Infrastructure Security Agency’s (CISA) Secure-by-Design pledge. Advanced security is integrated into the device’s design, development, and ongoing maintenance.

Frequently asked questions

Is Tor a good choice for a large crawl?

No. Its volunteer routing, variable performance and recognizable exits make it a poor match for sustained high-volume extraction. Use a permitted, appropriately provisioned approach instead.

Does SOCKS5 alone prove my scraper has no leaks?

No. Proxy configuration handles the requests routed through that client, but separate processes, DNS behavior and direct fallbacks require their own checks.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.