Free 2-week trial
Only pay when it works. In the first week we establish a performance baseline, and then we surpass it.
$ curl https://api.tamber.com/v1/discover/recommended \
-u Mu6DUPXdDYe98cv5JIfX: \
-d user=user_rlox8k927z7p \
-d number=10
items = Tamber::Discover.recommended(
:user => 'user_rlox8k927z7p',
:number => 10
)
JSONObject resp = tamber.discover.next(new JSONObject()
.put("user", "user_rlox8k927z7p")
.put("number", 10)
);
items = tamber.Discover.recommended(
user='user_rlox8k927z7p',
number=10
)
const items = await tamber.discover.recommended({
user: "user_rlox8k927z7p",
number: 10
});
items, info, err := discover.Recommended(
&tamber.DiscoverRecommendedParams{
User: tamber.IdString("user_rlox8k927z7p"),
Number: tamber.Int(10)
}
)
TMBDiscoverParams *params = [TMBDiscoverParams discoverRecommended:[NSNumber numberWithInt:10]];
[[Tamber client] discoverRecommended:params responseCompletion:^(TMBDiscoverResponse *object, NSHTTPURLResponse *response, NSString *errorMessage) {
if(errorMessage){
// Handle error
} else {
object.discoveries // Array of recommendations
}
}];
$ curl https://api.tamber.com/v1/discover/recommended \
-u Mu6DUPXdDYe98cv5JIfX: \
-d user=user_rlox8k927z7p \
-d item=item_83jx4c57r2ru
items = Tamber::Discover.next(
:user => '583480',
:item => '90674'
)
JSONObject resp = tamber.discover.next(new JSONObject()
.put("user", "user_rlox8k927z7p")
.put("item", "item_83jx4c57r2ru")
);
items = tamber.Discover.next(
user='user_rlox8k927z7p'.
item='item_83jx4c57r2ru'
)
const items = await tamber.discover.next({
user: "user_rlox8k927z7p",
item: "item_83jx4c57r2ru"
});
items, info, err := discover.Next(&tamber.DiscoverNextParams{
User: tamber.IdString("user_rlox8k927z7p"),
Item: tamber.IdString("item_83jx4c57r2ru")
})
TMBDiscoverParams *params = [TMBDiscoverParams discoverNext:@"90674"]];
[[Tamber client] discoverNext:params responseCompletion:^(TMBDiscoverResponse *object, NSHTTPURLResponse *response, NSString *errorMessage) {
if(errorMessage){
// Handle error
} else {
object.discoveries // Array of recommendations
}
}];
Track user events just like you do for analytics, or use our Segment integration for a codeless install.
$ curl https://api.tamber.com/v1/discover/recommended \
-u :SbWYPBNdARfIDa0IIO9L \
-d user=user_rlox8k927z7p
require 'tamber'
Tamber.engine_key = 'SbWYPBNdARfIDa0IIO9L'
Tamber::Discover.recommended(
:user => 'user_rlox8k927z7p'
)
Tamber tamber = new Tamber("Mu6DUPXdDYe98cv5JIfX", "SbWYPBNdARfIDa0IIO9L");
HashMap<String, Object> discoverParams = new HashMap<String, Object>();
discoverParams.put("user", "user_rlox8k927z7p");
JSONObject resp = new JSONObject();
try {
resp = tamber.discover.recommended(discoverParams);
} catch (TamberException e) {
System.out.println(String.format("%s=%s", e.getClass().getName(), e.getMessage()));
}
import tamber
tamber.engine_key = 'SbWYPBNdARfIDa0IIO9L'
tamber.Discover.recommended(
user='user_rlox8k927z7p'
)
var tamber = require('tamber')('Mu6DUPXdDYe98cv5JIfX');
const items = await tamber.discover.recommended({
user: "user_rlox8k927z7p"
});
package main
import (
tamber "github.com/tamber/tamber-go"
"github.com/tamber/tamber-go/discover"
)
func main() {
tamber.DefaultEngineKey = "SbWYPBNdARfIDa0IIO9L"
d, info, err := discover.Recommended(
&tamber.DiscoverRecommendedParams{
User: tamber.IdString("user_rlox8k927z7p"),
}
)
}
@import Tamber;
[Tamber setPublishableProjectKey:@"your_project_key"];
[Tamber setUser:@"user_rlox8k927z7p"];
TMBDiscoverParams *params = [TMBDiscoverParams discoverRecommended:[NSNumber numberWithInt:8]];
[[Tamber client] discoverRecommended:params responseCompletion:^(TMBDiscoverResponse *object, NSHTTPURLResponse *response, NSString *errorMessage) {
if(errorMessage){
// Handle error
} else {
object.discoveries // Array of recommendations
}
}];
[
{
"item": "item_83jx4c57r2ru",
"score": 0.94321,
"item_created": 1481167989
},
...up to 200 items per page...
]
ChefsFeed is a complicated platform from a data perspective, with videos, articles, restaurants, chef profiles, events, and more all surfaced across our website and apps. Tamber handles all of these content types seamlessly. It just works.
Our Tamber-powered Discover Daily feature immediately became our highest converting feed, with a 4x higher click-through than the next best. Our users love their recommendations, and now it's the first thing they see when they open the app.
Only pay when it works. In the first week we establish a performance baseline, and then we surpass it.
We are maniacal about our ease-of-use. We pair-program with your devs, and will even hand code integrations when it’s helpful.