Pusher API libraries
Sending and receiving messages using the Pusher API requires libraries. In this section you’ll find libraries for a variety of platforms.
Pusher libraries are divided into 2 categories:
- Client libraries predominantly consume messages using a WebSocket interface. Think of them as subscribers, although it’s possible to publish messages using Client Events.
- Server libraries publish messages, request information using our HTTP API, authenticate channel subscriptions, and handle Webhook calls. Think of them as publishers, although it’s possible to subscribe to messages using Client Event Webhooks.
Official libraries
The following libraries are updated and supported by Pusher.
Official client libraries
| Library | Push notifications | Maintainer | Docs | Code |
|---|---|---|---|---|
|
Android (uses Java library) |
Pusher |
|||
|
iOS: Swift |
Pusher |
|||
|
iOS: Objective-C |
Pusher |
|||
|
Java |
Pusher |
|||
|
JavaScript |
N/A |
Pusher |
Official server libraries
| Library | Push notifications | Maintainer | Docs | Code |
|---|---|---|---|---|
|
Go |
Soon… |
Pusher |
||
|
Java |
Soon… |
Pusher |
||
|
.NET |
Soon… |
Pusher |
||
|
Node.js |
Pusher |
|||
|
PHP |
Pusher |
|||
|
Python |
Pusher |
|||
|
Ruby |
Pusher |
Community libraries
These libraries are built by members of the Pusher Developer Community. They are potentially incomplete and are therefore not officially supported by Pusher. It’s recommended that you first reach out to the maintainer of the library before contacting support.
ActionScript
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
PusherAS |
Client |
|||
|
Pusher-ActionScript-Library |
Client |
Android (also see Java)
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
Android_Pusher |
Client |
|||
|
titanium_pusher_android |
Client |
Arduino
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
ArduinoPusherClient |
Client |
C++
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
niv/pusher-websocket-cpp |
Client |
|||
|
pusherpp |
Server |
Clojure
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
clj-pusher |
Server |
Coldfusion
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
Pusher.cfc |
Server |
Dart
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
Dart Pusher |
Server |
Flash (see ActionScript)
Grails (see Groovy)
Groovy
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
groovy-libpusher |
Server |
|||
|
pusher-plugin |
Server |
Haskell
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
pusher-http-haskell |
Server |
|||
|
titanium_pusher_ios |
Server |
|||
|
pusher-ws |
Client |
iOS (also see Objective-C)
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
titanium_pusher_ios |
Client |
Java (also see Android)
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
JavaPusherClient |
Client |
|||
|
gae-java-libpusher |
Server |
|||
|
Play2Pusher |
Server |
|||
|
Play-Pusher |
Server |
Lua
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
Lua Pusher Module |
Server |
.NET
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
pusher-websocket-dotnet |
Client |
Pusher |
||
|
pusher-universal |
Client |
|||
|
Pusher.NET |
Client |
|||
|
JDI PusherClient |
Client |
Node.js (also see JavaScript)
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
pusher-node-client |
Client |
Objective-C (also see iOS)
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
Bully |
Client |
Perl
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
WWW::Pusher |
Server |
PHP
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
Laravel Pusher |
Server |
|||
|
ZfrPusher |
Server |
|||
|
Pusher PHP SDK for CodeIgniter |
Server |
|||
|
Symfony |
Server |
|||
|
Zend Framework 2 |
Server |
|||
|
Yii PHP Framework |
Server |
|||
|
Kohana 3 |
Server |
|||
|
FuelPHP |
Server |
|||
|
Drupal |
Server |
React Native (see JavaScript)
QML
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
qml-pusher |
Client |
Ruby
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
pusher-websocket-ruby |
Client |
Scala
| Library | Type | Maintainer | Docs | Code |
|---|---|---|---|---|
|
dtaniwaki/akka-pusher |
Server |
Test/example applications
For an open source example application built on libPusher, see the Github repo and the App Store
For an open source example application built on pusher-websocket-java, see the Github repo and the Play Store
Don’t see your platform?
We’d love to see client and server libraries for other languages. Make sure to let us know if you come up with anything so we can highlight it here.
Have you tried using the search to find what you’re after? If you still have a question then get in touch with us and let us help you out.