Real-time updates
without the WebSocket tax.
Mercure streams server-sent events to browsers, mobile apps, and IoT devices over plain HTTP. Drop into REST or GraphQL APIs, push LLM tokens, or sync agent state. No client SDK required.
MIT-licensed. Self-hostable. Cloud hosted in the EU. Built on Caddy. Used in production by France Titres, Symfony, Wolters Kluwer, Printify, Lush, and others.
Real-time in 3 lines of code.
A Mercure publish is one authenticated HTTP POST. A subscribe is one EventSource. Same protocol on every platform. No SDK lock-in.
await fetch("https://hub.example.com/.well-known/mercure", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.MERCURE_JWT}`,
"Content-Type": "application/x-www-form-urlencoded",
},
body: new URLSearchParams({
topic: "https://example.com/users/42",
data: JSON.stringify({ status: "online" }),
}),
});
const url = new URL("https://hub.example.com/.well-known/mercure");
url.searchParams.append("match", "https://example.com/users/42");
const events = new EventSource(url);
events.onmessage = (e) => console.log(JSON.parse(e.data));
See the full guides for publishing and subscribing, or the client library list.
What teams build with Mercure.
LLM token streaming
Stream tokens from your AI backend the same way ChatGPT and Claude do. No SDK on the client.
Read the guide →AI agent progress
Push tool calls, intermediate reasoning, and state from long-running agents to user dashboards.
Read the guide →Live data & dashboards
Push order books, sensors, or counters to thousands of subscribers without polling.
Read the guide →Notifications
Server-pushed in-app notifications, badge counts, and email/SMS fan-out from a single publish.
Read the guide →Collaborative editing
Sync cursors, presence, and document mutations across collaborators. Pairs with any CRDT.
Read the guide →Async job updates
Push progress from background workers — encoding, exports, batch ETL — to the user's tab.
Read the guide →Reactive UIs
React, Vue, Svelte, Hotwire, htmx — subscribe with native EventSource, framework re-renders.
GraphQL subscriptions
Power GraphQL subscriptions over plain HTTP. Drop-in for Apollo and urql.
Read the guide →Built for regulated industries
and sovereign workloads.
Mercure Enterprise extends the open source hub with the controls compliance, security, and ops teams require.
EU data residency
Cloud in Amsterdam under French jurisdiction. Enterprise runs anywhere — including air-gapped networks.
GDPR-ready
Article 28 DPA, EU-only subprocessors on Cloud, end-to-end JWE payload encryption.
HA clusters
Multi-node clusters with Redis or PostgreSQL transports. Rolling updates, no dropped subscribers.
Dedicated SLAs
24/7 phone support, custom uptime guarantees, named technical contacts on the Elite tier.
Need a hand? Talk to the team that built Mercure.
Mercure is created and maintained by Les-Tilleuls.coop, a French worker cooperative of senior engineers. The same team also builds API Platform and FrankenPHP. They are the people you want on the call when something is on fire.
Start streaming in five minutes.
Cloud from €30/month, cancel any time. Self-hosted: unlimited everything, MIT license, no telemetry.




