*** id: b112159d-a862-44c4-9da4-934d684fdddc title: PubSub Client sidebar-title: Client slug: /node/reference/pubsub/client description: PubSub Client reference for publishing and subscribing to messages. max-toc-depth: 3 ---------------- [events]: /docs/server-sdk/v4/node/reference/pubsub/client/events [listen]: /docs/server-sdk/v4/node/reference/pubsub/client/listen [signalwire-realtime-client]: /docs/server-sdk/v4/node/reference/realtime-client The PubSub Client enables real-time publish/subscribe messaging. Access it via the `pubSub` property on a [`SignalWire Client`][signalwire-realtime-client]. ```javascript import { SignalWire } from "@signalwire/realtime-api"; const client = await SignalWire({ project: "", token: "" }); const pubSubClient = client.pubSub; ``` Use `subscribe()` to join channels, `publish()` to send messages, and [`listen`][listen] to receive events. See [Events][events] for all available events. ## Examples ### Listening for messages ```javascript await pubSubClient.listen({ channels: ["notifications"], onMessageReceived: (message) => { console.log("Received:", message.content); } }); ``` ### Publishing messages ```javascript await pubSubClient.publish({ channel: "notifications", content: { type: "alert", text: "New update available" }, }); ```