THE API FOR SCALABLE FEEDS & CHAT

Activity Feeds   Personalization   Notification Feeds   Timeline Feeds   Chat and Messaging  
Shipped faster.

Build scalable feeds, activity streams & chat. Stream’s simple, powerful APIs are used by some of the largest and most popular apps for feeds and chat. Save months of development headache and focus on what makes your app unique.

Try the API Only takes 5 mins!
Contact Us How can we help?
We power experiences for over half a billion users with our Feeds API & Chat API
ALL-IN-ONE FEED API

Aggregation, Ranking,
Real-time and Personalization

Leverage Stream's Feed API to build the most engaging activity feed without worrying about the underlying storage technology. Advanced features such as aggregation, ranking, real-time and personalization enable your product team to optimize your app’s engagement and retention.

The Stream API just works – we appreciate the fact that we simply don’t have to worry about it. It’s simple for us to add new notifications & it scales with us. This gives us time to focus on other priorities.
Andreas Klinger of Product Hunt

Andreas Klinger

Product Hunt
Scalability & Performance

Grow-fix your app without worrying about the scalability of your feed instructure. Feeds typically load in less than 20ms.

Move Faster & Do More

Building your feed with Stream can help you move faster, save substantial cost and benefit from Stream’s performance and scale.

Enterprise Plans

24/7 phone support, dedicated Slack channel, high availability, 99.999% uptime SLA, security & GDPR best practices

One API for unlimited experiences

Built for developers

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
// example 1 - starting point
chris.addActivity({
  actor: 'chris',
  verb: 'add',
  object: 'picture:10',
  message: 'Working on improving the user experience of the Stream Dashboard...'
});
me = client.feed('timeline', 'me');
me.follow('user', 'chris');
activities = me.get({limit: 10});
1
2
3
4
5
6
7
// Store the 'like' and notify Chris
me.addActivity({
  actor: 'me',
  verb: 'like',
  object: 'activity:10',
  to: ['notification:chris']
});
1
2
// Read an aggregated feed
aggregatedActivities = client.feed('aggregated', 'me').get({limit: 10});
1
2
3
// Follow Minnie
me = client.feed('timeline', 'me');
me.follow('user', 'minnie');
1
2
// Read a feed for the tag water
activities = client.feed('tag', 'water').get({limit: 10});
1
2
// Read a user's activities
activities = client.feed('user', 'nancy').get({limit: 10});
1
2
// A simple notification feed
notifications = client.feed('notification', 'nancy').get({limit: 10});
Created with Sketch.
Powering feeds for over half a billion users

Get in touch with us to see how Stream can work for you