01What this is
dht-spy runs nodes on the public BitTorrent DHT. The nodes answer requests, record hashes and network addresses seen in protocol messages, and perform lookups to discover more of the network.
When dht-spy encounters a new hash, it connects to a peer and fetches the torrent name and file list. It does not request, store, upload, or serve file pieces. This site presents the resulting metadata and measurements for research.
02How the crawl works
The crawler handles get_peers and announce_peer messages and performs its own DHT lookups. Its node IDs are distributed across the keyspace to improve coverage. The dataset still represents only what dht-spy's nodes observed.
For an unresolved hash, the crawler connects to a peer, completes the BitTorrent handshake, and fetches the torrent name and file list through BEP 9/10. It does not enter the file-piece protocol or transfer file contents.
Each peer record includes a source flag describing how the address was observed. The definitions below distinguish spoofable UDP queries from token-validated announces and completed peer exchanges.
03What the numbers mean
Traffic statistics cover only activity observed by dht-spy's nodes. The IPv4 and IPv6 DHT population rows are separate rolling estimates and do not count people, installations, or read-only clients.
- -Torrents resolved is the number of torrents for which dht-spy fetched metadata.
- -Rates measure dht-spy's processing throughput, not overall DHT activity.
- -Advertised node IDs estimates routing-table contacts returned near uniformly random targets, including contacts that may be stale or unreachable.
- -Responsive node IDs estimates contacts that answered a direct query. IPv4 and IPv6 are calculated separately from converged lookups over a 30-minute window, exclude known dht-spy addresses, and show the range across independent public instances.
- -Heat ranks hashes by observed request frequency. High ranks are useful as a relative signal. Lower ranks are noisy and do not represent request counts.
04Reference
A language model assigns categories from torrent names and file lists. Labels may be wrong, and unclassified means the classifier has not run. Porn, hentai, and csam titles are masked by default.
These flags record protocol participation. They do not show that file pieces were downloaded or distributed.
05Legal & data use
dht-spy stores network addresses or prefixes, torrent identifiers and metadata, timestamps, source flags, client identifiers, availability signals, and derived network or location data. Some fields are searchable or displayed publicly. Network observations come from DHT and peer-protocol exchanges. The service has no user accounts.
Torrent names are displayed as received. Sensitive categories are blurred by default. The site and API use 24-character truncated info-hashes instead of full 40-character hashes, and IPv6 addresses are reduced to /64 prefixes.
Retention
Retention has no fixed limit. Data may be kept indefinitely when storage permits. Removing data from the site does not guarantee immediate removal from backups, indexes, or operational records.
Limits of the data
An observation links an address to protocol activity involving a torrent identifier. It does not identify the person controlling the address or show that a person downloaded or possessed file contents. Torrent metadata may also be inaccurate.
Addresses may be shared, reassigned, spoofed, or routed through an intermediary. Client identifiers are self-reported and forgeable. Geolocation, network ownership, and classifications may be wrong or outdated. An observation is not proof of identity, infringement, or other wrongdoing.
Use of the service
This service is provided for research and informational use. Do not use it to harass, threaten, identify, or accuse individuals. Automated requests that overload the service or bypass rate limits may be blocked without notice.
The service and its data are provided as-is, without guarantees of accuracy, completeness, or availability. Retention, endpoints, and features may change without notice. You are responsible for how you use information obtained from the service.
Send factual corrections, abuse reports, or removal requests to [email protected]. A request does not guarantee removal.