& 200k Developers

Since 2011, they’ve been using our Data Delivery Network to get their app data to their Web, Mobile, IOT devices

Each month we...

Send more than


Billion Messages
To more than


Connected Devices


Uptime in the
last 6 months

We help SaaS Companies Easily Build Collaborative Features

Easy and works everywhere

  • Publish
  • PHP
  • Node
  • Ruby
  • ASP
  • Java
  • Python
  • Go
<?php $pusher->trigger('my-channel', 'my-event',
    array('message' => 'hello world'));
pusher.trigger('my-channel', 'my-event', {
  "message": "hello world"
Pusher.trigger('my-channel', 'my-event', {
  message: 'hello world'
pusher.Trigger('my-channel', 'my-event', new { message = "hello world" } );
pusher.trigger("my-channel", "my-event", Collections.singletonMap("message", "hello world"));
pusher['my-channel'].trigger('my-event', {
  'message': 'hello world'
data := map[string]string{"message": "hello world"}
client.Trigger("my-channel", "my-event", data)
  • Subscribe
  • JS
  • Android
  • iOS (Swift)
  • iOS (Obj-C)
var channel = pusher.subscribe('my-channel');
channel.bind('my-event', function(data) {
  alert('Received my-event with message: ' + data.message);
Channel channel = pusher.subscribe("my-channel");
channel.bind("my-event", new SubscriptionEventListener() {
  public void onEvent(String channel, String event, String data) {
    System.put.println("Received event with data: " + data);
let channel = pusher.subscribe("my-channel")

channel.bind(eventName: "my-event", callback: { (data: Any?) -> Void in
  print("Received event with data: (data)")
PusherChannel *channel = [pusher subscribeWithChannelName:@"my-channel"];

[channel bindWithEventName:@"my-event" callback:^void (NSDictionary *data) {
    NSString *message = data[@"message"];
    NSLog(@"message received: %@", message);

We <3 developers

With 30+ libraries, we make it easy for developers to build realtime features. Check out our dev center to discover tutorials and our API Documentation.

I'm a Developer

Powerful features to make your life easier

  • Pub/Sub Messaging
  • Live User List
  • Access Control

Flexible Pub/Sub Messaging

Instantly update browsers, mobiles and IOT devices
with our event-based API.

Live user lists (presence)

Presence channels enable you to show the online/offline status of your users in realtime, making the development of chat and collaborative apps a cinch.

Access control/authentication

We provide a secure mechanism for controlling who has access to given channels, seamlessly integrating with your existing authentication strategies.

Grow your business with
Pusher Enterprise

Our Enterprise packages are individually tailored to your requirements.

Contact Sales