Pusher website screenshot

Pusher

Pusher is a realtime communication platform owned by MessageBird/Bird. Its primary product Channels provides pub/sub messaging over WebSocket and HTTP; Beams provides device push notifications. Authentication uses an app key + secret per Pusher app. Channels and Beams are still actively sold; the older Chatkit product was sunset.

2 APIs 0 Features
RealtimeWebSocketsPub/SubPush NotificationsMessaging

APIs

Pusher Channels API

Pub/sub channels over WebSocket (client) and HTTP (server publish). Public, private, and presence channels supported. WebSocket endpoint at ws-{cluster}.pusher.com. Cluster host...

Pusher Beams API

Server API for sending iOS, Android, and Web push notifications via FCM, APNs, and Web Push.

Collections

GraphQL

Pusher GraphQL Schema

This conceptual GraphQL schema models the Pusher platform — covering both **Pusher Channels** (real-time pub/sub messaging over WebSocket and HTTP) and **Pusher Beams** (cross-p...

GRAPHQL

Pricing Plans

Pusher Plans Pricing

9 plans

PLANS

Rate Limits

Pusher Rate Limits

9 limits

RATE LIMITS

FinOps

Pusher Finops

FINOPS

Event Specifications

Pusher Channels WebSocket Protocol

AsyncAPI definition of the Pusher Channels public WebSocket wire protocol (protocol version 7). Pusher Channels is a pub/sub realtime messaging service. Clients connect over Web...

ASYNCAPI

Resources

🔗
LinkedIn
LinkedIn
🌐
Portal
Portal
🔗
Documentation
Documentation
💰
Pricing
Pricing
👥
GitHub
GitHub
🟢
StatusPage
StatusPage
🔗
Plans
Plans
🔗
RateLimits
RateLimits
🔗
FinOps
FinOps

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: Pusher Channels HTTP API
  version: 1.0.0
request:
  auth:
    type: apikey
    key: auth_signature
    value: '{{auth_signature}}'
    placement: query
items:
- info:
    name: Events
    type: folder
  items:
  - info:
      name: Trigger an event on one or more channels
      type: http
    http:
      method: POST
      url: https://api-{cluster}.pusher.com/apps/:app_id/events
      params:
      - name: app_id
        value: ''
        type: path
        description: Pusher application identifier.
      body:
        type: json
        data: '{}'
    docs: Trigger an event on one or more channels
  - info:
      name: Trigger multiple events in a single request
      type: http
    http:
      method: POST
      url: https://api-{cluster}.pusher.com/apps/:app_id/batch_events
      params:
      - name: app_id
        value: ''
        type: path
        description: Pusher application identifier.
      body:
        type: json
        data: '{}'
    docs: Trigger multiple events in a single request
- info:
    name: Channels
    type: folder
  items:
  - info:
      name: List occupied channels
      type: http
    http:
      method: GET
      url: https://api-{cluster}.pusher.com/apps/:app_id/channels
      params:
      - name: app_id
        value: ''
        type: path
        description: Pusher application identifier.
      - name: filter_by_prefix
        value: ''
        type: query
        description: Only include channels whose name starts with this prefix.
      - name: info
        value: ''
        type: query
        description: Comma-separated attributes to include (e.g. `user_count`).
    docs: List occupied channels
  - info:
      name: Retrieve info for a single channel
      type: http
    http:
      method: GET
      url: https://api-{cluster}.pusher.com/apps/:app_id/channels/:channel_name
      params:
      - name: app_id
        value: ''
        type: path
        description: Pusher application identifier.
      - name: channel_name
        value: ''
        type: path
        description: Channel name (e.g. `presence-room-1`).
      - name: info
        value: ''
        type: query
        description: Comma-separated attributes to include (e.g. `user_count`, `subscription_count`, `cache`).
    docs: Retrieve info for a single channel
  - info:
      name: List users in a presence channel
      type: http
    http:
      method: GET
      url: https://api-{cluster}.pusher.com/apps/:app_id/channels/:channel_name/users
      params:
      - name: app_id
        value: ''
        type: path
        description: Pusher application identifier.
      - name: channel_name
        value: ''
        type: path
        description: Channel name (e.g. `presence-room-1`).
    docs: List users in a presence channel
- info:
    name: Users
    type: folder
  items:
  - info:
      name: Terminate all of a user's connections
      type: http
    http:
      method: POST
      url: https://api-{cluster}.pusher.com/apps/:app_id/users/:user_id/terminate_connections
      params:
      - name: app_id
        value: ''
        type: path
        description: Pusher application identifier.
      - name: user_id
        value: ''
        type: path
    docs: Terminate all of a user's connections
bundled: true