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'));
ObjectPusherRequest request =
new ObjectPusherRequest('my-channel',
'my_event',
new {
message = "hello world"
});
provider.Trigger(request);
var thingChannel = pusher.subscribe('thing-channel');
thingChannel.bind('thing_create', function(thing) {
alert('A thing was created: ' + thing.name);
});
PTPusherChannel *channel = [client subscribeToChannelNamed:@"demo"];
[channel bindToEventNamed:@"channel-event" handleWithBlock:^(PTPusherEvent *channelEvent) {
// do something
}];
![]()
“Our @pusher integration went beautifully well and we received a fantastic prompted support from @leggetter. Web sockets made right @pusher”
![]()
“After playing with it for 5 minutes, I kind of want to build @pusher into everything now.”
![]()
“I love @pusher. Realtime apps couldn't be any easier.”
![]()
“@pusher Had fun using Pusher API today :) Really easy to create real-time apps.”
![]()
“implementing @pusher again for a new app, such great fun!”
![]()
“Adding @pusherapp to my toolbox. No more custom web sockets!”
![]()
“thank you @pusherapp for your awesome + fast + scalable + affordable + easy to use product!!!!”
![]()
“Oh, and @PusherApp is also pretty incredible. Another company that has made my life as a dev amazing in 2011.”
![]()
“so happy we are using @pusherapp our real-time activity feed is running so smooth. #happycustomer - the geeklist engineering team”
![]()
“Good thing I discovered @pusherapp tonight, or else I would've killed myself trying to make my app real-time with ajax calls!”