Tor Exit Node Check
Verify any IP against the official Tor Project exit list, the authoritative record of which addresses route Tor traffic onto the open internet.
What is a Tor exit node?
A Tor exit node is the last relay in a Tor circuit — the point where traffic leaves the Tor network and reaches the open internet. When someone browses your site over Tor, the request arrives from an exit node's IP address, never from their real one.
Exit nodes are the only part of Tor your servers ever see. A circuit first passes through a guard (entry) relay and one or more middle relays, but those never connect to your application — so exits are the addresses worth checking, and the ones this tool flags. Paste any IP into the checker above to see whether the Tor Project currently lists it as an exit.
Straight from the Tor Project.
There is exactly one authoritative source for Tor exit nodes: the exit list published by the Tor Project itself. GeoIPHub ingests it daily, so the detection.is_tor flag reflects the network as it stands, not a months-old snapshot. No heuristics, no guessing. An IP is flagged as a Tor exit because the Tor Project says it is one.
One distinction worth keeping: privacy relays like Apple iCloud Private Relay and Cloudflare WARP are not Tor. GeoIPHub flags them separately in detection.is_relay, so a policy written for Tor exits does not accidentally sweep up iPhone users with default settings.
The full Tor exit node list.
The complete, authoritative roster of Tor exit nodes is the Tor Project's bulk exit list — a plain-text file of every IP currently running as an exit, published at check.torproject.org/torbulkexitlist and regenerated continuously as relays join and leave the network. You can pull it directly:
curl https://check.torproject.org/torbulkexitlistIt holds exit nodes and nothing else, which is all you need: guard and middle relays never connect to your servers, so they never belong on a blocklist. The file also carries no context — no organization, no first-seen date, no risk signal beyond the raw IP.
A static list goes stale the moment you save it. The network churns by the hour, so a copy you fetched this morning is already missing exits that came online since, and matching thousands of addresses on every request is upkeep you own forever. A live detection.is_tor lookup reflects the current list with nothing to maintain, and returns it alongside the rest of the IP's context. For how exit status feeds a risk decision, see how to detect Tor traffic by IP.
Frequently asked questions
Where does the Tor data come from?
What is the difference between an exit node and a relay?
Is Tor traffic always malicious?
How fresh is the verdict?
Every check, one API call.
The complete report for any IPv4 or IPv6 address: location, network, detections, risk score.
GET /v1/lookup/{ip}Your public IP, where it places you, and what every website can infer from it.
geo + asn + detectionCheck whether an IP is a VPN or proxy exit, with the provider named when known.
detection.is_vpnA 0–100 risk score with the exact signals that produced it.
scoring.fraud_scoreFind out if an IP belongs to a hosting provider or cloud platform.
detection.is_hostingNeed this at scale?
Get 1,500 free API lookups a day, every field included, no credit card. These tools run on the same endpoint you would ship to production.