This guide will show you how to get started with Ably, a realtime messaging platform perfect for bootstrapped projects.
StacksFree Verdict: 8/10 — The 6 million messages per month is a genuinely useful free tier, but the 200 concurrent connections and 1-day message history are the key limits to plan for.
How This Guide Was Built
This review is based on official documentation, pricing pages, and community reports — we did not run the tool hands-on. We verified the free tier limits, signup flow, first-project steps, and platform availability from the official pricing and limits pages. We did not test paid-tier features or integrations beyond what is documented. Last verified: August 2026.
What Is Ably, and What Does It Replace?
Ably is a hosted realtime messaging platform that provides publish/subscribe (pub/sub) communication over WebSocket. Clients connect to the service, subscribe to named channels, and then publish or receive messages on those channels instantly. It replaces the significant work of building and operating your own WebSocket server, message broker, and presence system from scratch. For more details, see the Ably tool entry and explore the Ably Docs and Ably getting started guides.
How Do I Get Started with Ably?
To get started, create a free account at ably.com, create a new app in the dashboard, and copy an API key from the API Keys section. Then, install the SDK using npm install ably and run the provided publish/subscribe example code. This process requires no credit card, as outlined on the Ably pricing page. Step-by-step instructions are available in the Ably docs.
What’s Included in the Ably Free Tier in 2026?
The Ably free tier in 2026 includes 6,000,000 messages per month, 200 concurrent connections, 200 concurrent channels, and a 1-day message history retention. These are application-wide peak limits, not per-user quotas, meaning they represent the total for all users of your application. For the full details, consult the Ably Pricing and Ably Limits pages.
Free Tier Limits at a Glance
| Resource | Free tier limit |
|---|---|
| Messages | 6,000,000 / month |
| Message rate | 500 / second account-wide (50/s per channel) |
| Concurrent connections | 200 (peak) |
| Concurrent channels | 200 (peak) |
| Presence members per channel | 200 |
| Max message size | 64 KiB |
| Message history | 1 day max (24h default TTL) |
| HTTP API requests | 25,000 / hour |
| Token requests | 60,000 / hour |
| API keys | 100 per account |
| Queues | 5 (50,000 message capacity) |
| Support | Community only, no SLA |
Two limits that often surprise beginners are the 200 concurrent connections, because every active browser tab or app session counts toward this cap, and the 1-day message history, which confirms Ably is NOT a database. You must persist any messages you need long-term, for example using Upstash free tier guide or Neon free tier guide.
Step-by-Step: Your First Ably Project
Here is a simple JavaScript example. On your server, publish a message using the REST client: new Ably.Rest({ key: process.env.ABLY_API_KEY }) then channels.get("demo").publish("greeting", {text: "Hello"}). On the client, use the Realtime client to subscribe: new Ably.Realtime(...), then channel.subscribe("greeting", msg => console.log(msg.data)). Remember, the API key must stay server-side only. For full examples, see the Ably docs.
API Key vs Token Authentication: What Should Beginners Use?
Your API key has a format of appId.keyId:secret and should never be shipped to a browser. For client applications, beginners should use token authentication via an authUrl endpoint, such as /api/ably-token, on your own backend. A Cloudflare Worker can serve this endpoint effectively. For more information, refer to the Ably auth docs.
Ably vs Alternatives for Beginners
| Tool | Best For | Beginner Trade-off |
|---|---|---|
| Ably | General realtime pub/sub & presence | Generous free tier: 6M messages/mo, 200 connections, presence included |
| Pusher Channels | Simple browser & mobile events | Similar pub/sub model with a simpler feature set |
| Stream Chat | Building chat products | Chat-first SDKs that are more opinionated |
| Supabase Realtime | Apps already on Supabase | Natural fit if you’re on Supabase — see our Supabase free tier guide |
| Upstash Redis | Serverless Redis primitives | Redis primitives; more design work for realtime fan-out |
For a straightforward pub/sub system with presence features, Ably is a strong choice. If you are already using Supabase, its realtime extension is a natural fit. For basic eventing, Pusher is simpler. Full details are in the Ably docs.
Common Mistakes Beginners Make
- Treating the 200 concurrent connections limit as a user database for session state.
- Expecting indefinite message history; Ably only stores messages for 1 day by default.
- Exposing the full API key in client-side browser code, which is a security risk.
- Publishing payloads larger than the 64 KiB message size limit.
- Publishing faster than the 50/s per channel rate, such as with every cursor movement; use debouncing instead.
FAQ
What happens if I exceed Ably’s free tier limits?
For most limits, the service continues and Ably notifies you to upgrade. For count-based limits like connections and channels, excess connections are restricted. Rate limits will reject excess requests. All details are per the Ably limits docs.
Can I use Ably for a production app on the free tier?
Yes, for low-traffic MVPs. The 6 million messages per month is real capacity, but the 200 concurrent connections caps your simultaneous users. Community-only support means no SLA, so monitor your usage closely in the dashboard.
Is Ably message history really only one day?
Yes, the maximum storage is 1 day (24h default TTL). You must persist any chat logs, audit trails, or important events to your own database for long-term storage.
Where to Go Next
For durable storage to pair with Ably, check our Neon free tier guide. To build the token authentication endpoint, use the Cloudflare Workers free tier guide. For additional caching or queuing, see the Upstash free tier guide.
