New Feature Released! Recombee Insights. Explore Feature
Product

Recommendation System Providing Recommendations
in Real-Time

Why waste time and money on the development of your own recommender system, if you can use the most advanced engine tailored by data scientists.

Real-Time Recommendation as a Service

Our API/SDK returns the recommendations immediately after user’s action at your website or in your app in less than 200 ms

Real-Time Analytics & Insights

Insights offer various predefined and fully customizable reports to track recommended items and how users interact with these recommendations.

By gaining a deep understanding of user behavior, you can fine-tune your recommendation engine to match your product vision and maximize your KPIs.

User Interface

You can check the key performance indicators in near real-time using our intuitive graphical user interface (GUI).

Scalable Solution

We can deliver the service no matter how large is the traffic at your website, being it a million or billion monthly page views, without any compromises to the quality. What is more, our system is capable of delivering more than 10,000 recommendations per second.

Domain Independence

Our system is successfully used to recommend movies, news, cultural events, books, songs, job advertisements, or products in E-Commerce. It is easily adaptable to any other domain.

Easy to Customize

You can customize our recommender for your business using rules in our simple and highly innovative filtering/boosting language (ReQL). Filters and boosters can be managed independently for each recommendation request.

Item Segmentations

Native support for products and content hierarchy. Get personalized recommendations of the top categories, brands, genres, tags, artists, or any custom group of items that can be defined based on the properties of the items in your catalog.

For example, you can specify individual homepage rows and ask Recombee for the best order of the rows for a particular user based on their interaction history.

Research and Improvements

Sophisticated algorithms form the core of our recommendation engine. Algorithms are continuously managed and improved by the Artificial Intelligence. Our team is comprised of data scientists with 15+ years of AI and Machine Learning experience. We also conduct progressive machine-learning research.

Get the Most out of Your Website with Recombee

Increase Conversion Rate
Increase Conversion Rate
Higher Profits
Higher Profits
Increase Loyalty
Increase Loyalty
Increase Retention
Increase Retention
Improve User Experience
Improve User Experience
Increase Lifetime Value
Increase Lifetime Value
Reduce Churn and Confusion
Reduce Churn and Confusion
AI Driven A/B Testing
AI Driven A/B Testing

Quick and Easy Integration
into Your Environment

The recommendation engine is provided by RESTful API, HTML Widgets and SDKs for multiple programming languages.

const client = new recombee.ApiClient('database-id', dbPublicToken);

// Send a view of item 'item_x' by user 'user_42'
client.send(new recombee.AddDetailView('user_42', 'item_x'));

// Get 5 recommended items for user 'user_42'. Recommend only items which haven't expired yet.
const recommended = await client.send(
   new recombee.RecommendItemsToUser('user_42', 5, {filter: "'expires' > now()"})
);
client = RecombeeClient.new('database-id', secret_token)
 
# Send a view of item 'item_x' by user 'user_42'. Create user and/or item if it doesn't exist yet.
client.send(AddDetailView.new('user_42', 'item_x', 'cascadeCreate' => true))
 
# Get 5 recommended items for user 'user_42'. Recommend only items which haven't expired yet.
recommended = client.send(RecommendItemsToUser.new('user_42', 5, 'filter' => "'expires' > now()"))
RecombeeClient client = new RecombeeClient("database-id", secretToken);
 
// Send a view of item "item_x" by user "user_42". Create user and/or item if it doesn't exist yet.
client.send(new AddDetailView("user_42", "item_x").setCascadeCreate(true));
 
// Get 5 recommended items for user "user_42". Recommend only items which haven't expired yet.
RecommendationResponse recommended = client.send(
   new RecommendItemsToUser("user_42", 5).setFilter("'expires' > now()")
);
client = RecombeeClient('database-id', secret_token)
 
# Send a view of item 'item_x' by user 'user_42'. Create user and/or item if it doesn't exist yet.
client.send(AddDetailView('user_42', 'item_x', cascade_create=True))
 
# Get 5 recommended items for user 'user_42'. Recommend only items which haven't expired yet.
recommended = client.send(RecommendItemsToUser('user_42', 5, filter="'expires' > now()"))
const client = new recombee.ApiClient('database-id', secretToken);

// Send a view of item 'item_x' by user 'user_42'. Create user and/or item if it doesn't exist yet.
client.send(new rqs.AddDetailView('user_42', 'item_x', {cascadeCreate: true}), callback);
 
// Get 5 recommended items for user 'user_42'. Recommend only items which haven't expired yet.
const recommended = await client.send(
   new rqs.RecommendItemsToUser('user_42', 5, {filter: "'expires' > now()"})
); // Supports both Promises and callbacks
val client = RecombeeClient(databaseId = "yourDatabaseId", publicToken = dbPublicToken,)
 
// Send a view of item 'item_x' by user 'user_42'
client.send(AddDetailView("user_42", "item_x"));
 
// Get 5 recommended items for user 'user_42'. Recommend only items which haven't expired yet.
val result =  client.sendAsync(RecommendItemsToUser("user_42", count = 5, filter = "'expires' > now()"))
 
result.onSuccess { response: RecommendationResponse ->
  // Show recommendations
}
$client = new Client('database-id', $secret_token);
 
// Send a view of item 'item_x' by user 'user_42'. Create user and/or item if it doesn't exist yet.
$client->send(new Reqs\AddDetailView('user_42', 'item_x', ['cascadeCreate' => true]));
 
// Get 5 recommended items for user 'user_42'. Recommend only items which haven't expired yet.
$recommended = $client->send(new Reqs\RecommendItemsToUser('user_42', 5, ['filter' => "'expires' > now()"]));
var client = new RecombeeClient("database_id", secretToken);
 
// Send a view of item "item_x" by user "user_42". Create user and/or item if it doesn't exist yet.
client.Send(new AddDetailView("user_42", "item_x", cascadeCreate: true));
 
// Get 5 recommended items for user 'user_42'. Recommend only items which haven't expired yet.
var recommended = client.Send(new RecommendItemsToUser("user_42", 5, filter: "'expires' > now()"));
client, _ := recombee.NewRecombeeClient("databaseId", secretToken)
 
// Send a view of item 'item_x' by user 'user_42', creating user/item if they don't exist
client.NewAddDetailView("user_42", "item_x").SetCascadeCreate(true).Send()
 
// Get 5 recommended items for user 'user_42', filtering out expired items
recommendRes, _ := client.NewRecommendItemsToUser("user_42", 5).SetFilter("'expires' > now()").Send()
 
// Print recommended item IDs
for _, rec := range recommendRes.Recomms {
  fmt.Println(rec.Id)
}
# Send a view of item 'item_x' by user 'user_id'. Create user and/or item if it doesn't exist yet.
POST http://rapi.recombee.com/database_id/detailviews/
Data: {'userId': 'user_42', 'itemId': 'item_x', 'cascadeCreate': true}
 
# Get 5 recommended items for user 'user_42'.
# Recommend only items which haven't expired yet (filter: 'expires' > now()).
GET http://rapi.recombee.com/database_id/recomms/users/user_42/items/?count=5&filter=%27expires%27%3Enow()