Recommender-System Software Libraries & APIs

There is a plethora of software libraries and APIs that often implement dozens of recommendation algorithms.

We define a ‘recommender-system software library’ as e.g. a JAVA or Python library that you can easily integrate into your own application to run recommendation algorithms. Nevertheless, you still do need some recommender-system and programming knowledge to store data in the right format, load it in the library and select, possibly tune, and apply the algorithms. These libraries make it easy to deploy your own recommender system. Keep in mind that while prototypes can be developed typically within hours or days, developing production systems will rather take weeks or even months.

We define a ‘recommendation API’ as a (REST) Web Service that offers the same functionality as a software library, only that your data is hosted in the cloud. In contrast, recommender-systems as-a-service (RaaS) do all the work for you. For instance, you typically would integrate e.g. only a JavaScript snippet in your web page where recommendations shall be displayed. Everything else (indexing data, generating recommendations, displaying recommendations) is done by the RaaS. The downside though would be less control of how recommendations are generated.

In the Google Sheet below you find a collection of recommender-system libraries and APIs (early draft / work-in-progress!). If you would like to add or change information, please send a request and provide us with some details about yourself.

Our list is based in part on the following sources, which all aim at providing overviews of recommender system libraries. and

News About Recommender-System Software-Libraries & APIs

Elliot: a Comprehensive and Rigorous Framework for Reproducible Recommender Systems Evaluation [Guest Post]

In the last decade, Recommendation Systems (RSs) have gained momentum as the pivotal choice for personalized decision-support systems. The recommendation task is essentially a retrieval task where a catalog of items is ranked in a personalized way, and the top-scoring items are presented to the user. Once the RSs’ ability to provide personalized items to […]

Posted in Software Libraries & APIs | Tagged , , | Leave a comment

Google AI releases ‘RecSim NG’, a “Flexible, Scalable, Differentiable Simulation of Recommender Systems”

One or two years ago, Google AI released RecSim — A Configurable Simulation Platform for Recommender Systems. Now, Martin Mladenov from Google AI announced the next generation (NG) of RecSim, i.e. RecSim NG. Martin describes RecSim NG as follows. RecSim NG is a scalable, modular, differentiable simulator implemented in Edward2 and TensorFlow. It offers a powerful, general probabilistic […]

Posted in Evaluation & Reproducibility, Software Libraries & APIs | Tagged , , , | Leave a comment

‘Spotify Confidence’: convenience wrappers around stat models various functions

Spotify released Spotify Confidence, which provides “convenience wrappers around stats model’s various functions for computing p-values and confidence intervals. With Spotify Confidence, it’s easy to compute several p-values and confidence bounds in one go, e.g. one for each country or for each date. Each function comes in two versions, A) one that returns a pandas […]

Posted in Software Libraries & APIs | Tagged , , | Leave a comment

Google Introduces “Model Search”, an Open Source Platform for Finding Optimal ML Models

Hanna Mazzawi and Xavi Gonzalvo from Google AI announced “the open source release of Model Search, a platform that helps researchers develop the best ML models, efficiently and automatically. Instead of focusing on a specific domain, Model Search is domain agnostic, flexible and is capable of finding the appropriate architecture that best fits a given dataset […]

Posted in Software Libraries & APIs | Tagged , , , , | Leave a comment

‘Lazy Predict’ Tutorial for AutoML with scikit-learn [Eryk Lewinson]

Eryk Lewinson wrote a tutorial on how to use Lazy Predict, which is an automated machine learning (AutoML) extension by Shankar Rao Pandala for scikit-learn. Automatisation is also becoming more prominent for recommender-systems (AutoRecSys) and hence this library could be useful for recommender-systems developers. While starting to work on a supervised learning problem, we are […]

Posted in Software Libraries & APIs, Tutorials & 101's | Tagged , , , , | Leave a comment

Recommender-Systems Version Control: TensorFlow releases ‘Machine Learning Metadata (MLMD)’

Version control for recommender systems is a topic that should receive more attention in the community. Given that TensorFlow is often used for implementing recommender systems, this blog post by Ben Mathes and Neoklis Polyzotis is a great step in the right direction: [MLMD is] a library to track the full lineage of your entire […]

Posted in Software Libraries & APIs | Tagged , , , , | Leave a comment

‘AutoGL’, a new AutoML framework for Graphs by Tsinghua University

‘Graphs’ and linked data are highly useful in generating effective recommender systems. Also in machine learning, graphs have gained popularity. Now, researchers from Tsinghua University (China) have released AutoGL (GitHub), the first AutoML tool for graph datasets and tasks. This tool could greatly advance the ease of working with graph data and algorithms for both […]

Posted in Software Libraries & APIs | Tagged , , , | Leave a comment

HetSeq: Training BERT on a random assortment of GPUs [Yifan Ding et al.]

BERT has brought huge changes to how NLP is done, and also had a notable impact on recommender systems (not always though*). However, training BERT may take weeks, if not months. Yifan Ding, Nicholas Botzer, and Tim Weninger promise to have found a solution for those being e.g. at universities with heterogeneous GPU infrastructure. Unfortunately, […]

Posted in Software Libraries & APIs | Tagged , , , , , | Leave a comment

LinkedIn introduces “GDMix”, a deep ranking personalization framework

Jun Shi from LinkedIn announced the release of GDMix (GitHub), a deep ranking personalization framework. GDMix stands for Generalized Deep Mixed Model and is… a solution created at LinkedIn to train these kinds of [ranking] models efficiently. It breaks down a large model into a global model (a.k.a. “fixed effect”) and a large number of small […]

Posted in Software Libraries & APIs | Tagged , , , | Leave a comment

TensorFlow introduces ‘TensorFlow Recommenders’ (TFRS)

This is big news for the recommender-system community: Maciej Kula and James Chen from Google Brain announce TensorFlow Recommenders (TFRS), an official recommender-systems package for TensorFlow, the major deep-learning library. Today, we’re excited to introduce TensorFlow Recommenders (TFRS), an open-source TensorFlow package that makes building, evaluating, and serving sophisticated recommender models easy. Built with TensorFlow 2.x, […]

Posted in Software Libraries & APIs | Tagged , , , , | Leave a comment