Pusher is a hosted API for quickly, easily and securely adding scalable realtime functionality to web and mobile apps.
Pusher is a hosted API for quickly, easily and securely adding scalable realtime functionality to web and mobile apps.






We believe that your developer time is best spent making awesome features, not creating infrastructure.
We provide a simple set of APIs and libraries that allow you to build rich realtime features in hours rather than days.
With powerful developer tools, and libraries in tons of languages, it's a doddle to get up and running!
Reduce risk for your projects by outsourcing your realtime infrastructure to a trusted platform maintained by experts.
Let us worry about compatibility issues, managing servers, and being woken up in the middle of the night.
The Pusher Realtime Cloud has be designed from the ground up to scale seamlessly to meet demand. Coupled with this is a clustered, fully redundant architecture hosted within Amazon EC2.
Scaling infrastructure to maintain millions of long running connections is not trivial, but we've worked out the tricks to handle it with ease.

messages delivered
We understand that your data is precious, so we provide mechanisms for protecting it.
Pusher's advanced client authentication handshake guarantees messages only go to the people you expect.
Additionally, we allow you to connect our service via SSL for extra peace of mind.
At the core of Pusher is the new HTML5 WebSocket protocol. This enables a low latency bi-directional socket to be established between browsers, mobiles apps and Pusher.
Once connected, messages can be pushed to clients with extremely low latency, making Pusher suitable for building multiplayer games.
average msg routing speed within Pusher
Send yourself a quick message
Pusher['my-channel'].trigger('my-event',
{'message' => 'hello world'})
$pusher->trigger('my-channel',
'my-event',
array('message' => 'hello world'));
pusher.trigger('my-channel',
'my-event',
{"message": "hello world");
ObjectPusherRequest request =
new ObjectPusherRequest('my-channel',
'my-event',
new {
message = "hello world"
});
provider.Trigger(request);
var channel = pusher.subscribe('my-channel');
channel.bind('my-event', function(data) {
alert('Received my-event with message: ' + data.message);
});
PTPusherChannel *channel = [client subscribeToChannelNamed:@"my-channel"];
[channel bindToEventNamed:@"my-event" handleWithBlock:^(PTPusherEvent *channelEvent) {
// do something
}];
![]()
“It took me about 15 minutes to implement live updating for topic lists using @pusher - thats just about the most awesome thing ever.”
![]()
“Wrote an iPhone app that works with @pusher. I can now make my phone vibrate from a webpage. Useless, you say? I say: awesome!”
![]()
“My new favorite online service is @pusher . Instant websockets plumbing for the cost of a few web API calls.”
![]()
“So @pusher is pretty much awesome for WebSocket stuff. By far the easiest real-time chat I've ever built.”
![]()
“Dear @pusher, thanks for being awesome. That's all. :)”
![]()
“feel like a cheat to use services like @twilio @pusher @heroku at a hackathon. they enable me to make something mind blowing in a few hours.”
![]()
“@pusher is not Saas, its Maas (Magic as a service) :)”
![]()
“Every time I use @pusher I get impressed on how awesome it is… mind blowing...”
![]()
“I just noticed that @gklst, a nodejs app, use @pusher, and I guess they use @mongodb also....this is definitely the best combo ever!”
![]()
“Using @pusher for some more for realtime'ness. The integration with @heroku and their debug/event console are killer.”