Ship realtime features faster
01Launch chat, dashboards, notifications, and live updates without stitching together multiple third-party services or building infrastructure from scratch.
ApexStream
ApexStream realtime infrastructure: WebSocket gateway, control plane, and dashboard for chat, live dashboards, and notifications.
One stack for connections, channels, and operations — run in ApexStream Cloud or on your own infrastructure without changing client code or event semantics.
What problems we solve
Building realtime features sounds simple — until you hit production.
ApexStream solves this out of the box.
Run on our cloud or your own infrastructure — with reliable delivery, replay, and full operational control built in.
At a glance
Launch chat, dashboards, notifications, and live updates without stitching together multiple third-party services or building infrastructure from scratch.
One consistent model for organizations, projects, applications, and API keys — whether you run in our cloud or your own cluster.
Start with a single node and grow to distributed gateways without rewriting clients or changing your architecture.
Use cases
The hands-on cloud flow is in See it in action below — dashboard, SDK, and wss://api.apexstream.org.
Production-ready chat in minutes with rooms, presence, and delivery semantics — without owning an entire messaging stack.
Replace polling with push updates and reduce API load instantly.
Deliver instant alerts to users without bolting complex backend logic onto your core API.
Sync user state, cursors, and actions for co-editing, ops dashboards, and multiplayer-light UX.
From client connection to operations
Status pages, gateway metrics, and External API controls live in one dashboard so teams can debug and operate realtime services from a shared view.
Install `apexstream`, set `VITE_APEXSTREAM_WS_URL` and `VITE_APEXSTREAM_API_KEY` in `client/.env` (same names as github.com/apexstream/examples), then `connect()`, `subscribe()`, `publish()`, and `disconnect()` — the same primitives you run against the gateway in the browser or Node.
import { ApexStreamClient } from "@apexstream/client";
const wsUrl = import.meta.env.VITE_APEXSTREAM_WS_URL!;
const apiKey = import.meta.env.VITE_APEXSTREAM_API_KEY!;
const client = new ApexStreamClient({
url: wsUrl,
apiKey,
allowInsecureTransport: wsUrl.startsWith("ws://"),
});
client.connect();
const unsubscribe = client.subscribe("orders", (payload) => {
console.log("orders event", payload);
});
client.publish("orders", { kind: "placed", id: "ord_123" });
unsubscribe();
client.disconnect();Be careful with keys — store them only in secure, trusted places.
Built for production
ApexStream is designed for systems that are already in production, with visibility, control, and operational safety built in from day one.
Scale without client changes
Add gateway replicas horizontally and optionally enable fan-out between nodes.
Your client code and event model stay unchanged.
Same system in cloud or self-hosted
Run in our managed cloud or deploy via Docker and Kubernetes using the same runtime components.
No forked versions. No "enterprise edition" rewrite path.
Secure by default
Secrets never leave your servers.
Clients receive app-scoped keys or short-lived tokens depending on your security model.
Operational visibility built-in
Monitor connections, throughput, and authentication failures through the same API surface used by the platform itself.
Your on-call sees issues before users do.
Architecture (optional transparency)
WebSocket gateway with a centralized control plane and MongoDB-based metadata layer.
Optional NATS-based fan-out for multi-node deployments.