
Annoy
Annoy provides approximate nearest-neighbor search in C++ and Python with memory-focused storage options.

About Annoy
Annoy is a C++ library with Python bindings to search for points in space close to a given query point. It creates large read-only file-based data structures that are mmapped into memory so many processes may share the same data. It tries to minimize memory footprint so indexes stay small.
Pricing is not clearly stated.
Key features
- Supports angular, Euclidean, Manhattan, Hamming, and dot distance metrics
- Builds index on disk for datasets that will not fit into memory
- Installs with pip for Python and by including annoylib.h for C++
- No more items can be added after build or save
- Only accepts integers as identifiers and allocates memory for max ID plus one
- Works better with fewer than 100 dimensions
Annoy at a glance
- Website
- github.com/spotify/annoy
- Category
- Development › Developer Tools
- Type
- Open-source project
- Pricing
- Not confirmed. Check the site
- Details verified
- Oct 22, 2026 · Official source
- Open source
- Yes · Source code
- Language
- English
- Last checked
- Oct 5, 2026 · Online when checked
- Listed
- Oct 5, 2026
Guides for Developer Tools
Annoy alternatives
Tools and sites you could use instead, ranked by how closely they match.
A python library for doing approximate and phonetic matching of strings.
High-performance, high-precision CPU, GPU, and memory profiler for Python.
Neofuzz provides Python developers with a library for fuzzy text search.
Jupytext lets users represent Jupyter notebooks as Markdown documents or Julia, Python, and R scripts.
Python developers can use Zipline’s event-driven library to backtest algorithmic trading strategies.
emcee provides a Python toolkit for affine-invariant Markov chain Monte Carlo sampling.
Popular in Developer Tools
Well-known listings from the same topic.
Tell us and an editor will check it.
Claim the listing and suggest updates yourself. An editor checks every claim first.













