Skip to content
Switch branches/tags
Go to file

Latest commit

* used signal_type index and generalize hashstore

* remove store and move it to base class of dto objects

Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Facebook ThreatExchange

ThreatExchange is a set of RESTful APIs on the Facebook Platform for querying, publishing, and sharing security threat information. It's a lightweight way for exchanging details on malware, phishing pages, and other threats with either specific members of the community or the ThreatExchange community at large.

For full details on ThreatExchange and best practices are available in the ThreatExchange docs.

API Reference Examples

The api-reference-examples folder contains example implementations in various languages for using the API. These implementations are at various stages of completeness and may not all implement every endpoint availible on the ThreatExchange API. For full details on the ThreatExchange API and UI, data formats, and best practices are available in the ThreatExchange docs.


An all-in-one python Library/CLI tool available on pypi under threatexchange which allows basic integration with ThreatExchange including matching on ThreatExchange data.

PDQ and TMK Hashing Technologies

ThreatExchange supports a variety of hashing algorithms for photos and videos. Two widely used algorithms are PDQ for photos and TMK for videos. The top-level folders pdq and tmk includes documentation and implementation examples of these algorithms.

Get All Available Data

For tag-driven workloads, supporting either bulk download or incremental updates, our currently recommended best practice is a Java reference design.

You can also explore the dataset using the hosted ThreatExchange UI

Getting Access

To request access to ThreatExchange, please submit an application via


We welcome contributions! See CONTRIBUTING for details on how to get started, and our Code of Conduct.


Please see ./LICENSE.