About Mercure
Mercure is a protocol that lets servers push updates to browsers and other HTTP clients without polling, while staying light on battery. It is especially useful for publishing asynchronous, real-time updates to resources served through web APIs, so reactive web and mobile apps can react as data changes.
The repository contains both the protocol, which is also published as an Internet-Draft, and a production-grade reference implementation of a Mercure hub, the server component. The hub is written in Go and is built around Server-Sent Events. A Go library lets applications implement the protocol directly without running a hub, and an official Docker image is provided.
Mercure is free software under AGPL-3.0, created by Kévin Dunglas and sponsored by Les-Tilleuls.coop. Teams that prefer not to operate the hub can use the managed, high-scalability version offered through Mercure.rocks, and the project provides a getting-started guide, full documentation and a demo.
Key features
- Real-time push updates over HTTP
- Reference hub server written in Go
- Go library to embed the protocol
- Official Docker image
- Server-Sent Events support
- Internet-Draft protocol specification
Good fit for
- →Live updates for reactive web apps
- →Pushing API changes to mobile clients
- →Real-time notifications
- Tags
- realtime
- server-sent-events
- push
- streaming
- api
- go
- docker
- protocol
Mercure: questions and answers
- What is Mercure used for?
- Mercure is a protocol and Go reference hub for pushing real-time updates to browsers and other HTTP clients, for apps built on web APIs. It is a good fit for live updates for reactive web apps, pushing API changes to mobile clients and real-time notifications.
- Is Mercure open source?
- Yes. Mercure is open source under the AGPL-3.0 licence. Its source code is on GitHub at dunglas/mercure and is written mainly in Go.
- Is Mercure free?
- Yes. Mercure is open source, so the software itself is free to use. A managed cloud version is also available, with paid plans from €30 per month.
- Can I self-host Mercure?
- Yes. Mercure can be self-hosted on your own server or infrastructure.
- What is Mercure an alternative to?
- Mercure is an open-source alternative to Pusher, Ably and PubNub. Other open-source alternatives to Pusher include Deepstream.io and Centrifugo.
- Is Mercure actively maintained?
- Yes. The most recent commit to Mercure was on 25 September 2026, and the latest release is v1.0.2, published on 25 September 2026. The project has 5.3k stars on GitHub.
Open-source alternatives to Mercure
See all
Deepstream.io
Backend as a Service
deepstream.io server
MITvs Pusher★ 7.2k
Centrifugo
Backend as a Service
Centrifugo is an open-source real-time messaging server — a self-hosted alternative to Pub
Apache-2.0vs Pusher★ 11k
OpenIM
Backend as a Service
IM Chat OpenClaw
Apache-2.0vs Sendbird★ 17k
WuKongIM
Backend as a Service
More than just IM 不只是即时通讯(IM)
Apache-2.0vs Sendbird★ 5k
JuggleIM
Backend as a Service
IM Chat, High-performance, scalable, self-hosted instant messaging server in Go — private
Apache-2.0vs Sendbird★ 3.5k
CloudBoost
Backend as a Service
Realtime JavaScript Backend.
Apache-2.0vs Firebase★ 1.5k
SaaS alternatives to Mercure
See all
Pusher
Backend as a Service
Hosted WebSocket channels and push notifications for realtime features
SaaS
Ably
Backend as a Service
Realtime messaging platform with pub/sub, presence and message history
SaaS
PubNub
Backend as a Service
Realtime messaging and presence APIs for chat, IoT and live apps
SaaS
Liveblocks
Backend as a Service
Infrastructure for real-time collaboration, presence and comments inside apps
SaaS
CometChat
Backend as a Service
Chat and calling SDKs and APIs for adding messaging to apps
SaaS
Sendbird
Backend as a Service
Chat, voice and video APIs and SDKs for in-app messaging
SaaS

