The Real-time Updates API is capable of supporting hundreds of thousands of concurrent connections.
Every plan comes with a technical limit of a maximum of 500 concurrent connections per project. This means, at the same time, that there can be a maximum of 500 open SSE connections to the same project. If you need more, please contact us so we can discuss your needs and see how we can help you scale.
Even though the Real-time Updates API is not billed per se, it uses the Content Delivery API to function, so it contributes to the number of API calls to it.
Generally, the number of requests made to the Content Delivery API is equal to the number of update events received on a channel. However, the count of requests is largely independent of the number of connected clients, as long as they are all connected to exactly the same GraphQL query, with the same API token, on the same environment and draft/published version.
Requests made to CDA/minute = Rate of updates/minute * N
Where N
is proportional to the overall number of open connections (the greater the number of connections, the higher it will be), but is generally between 2 and 10.
Let's illustrate the count by using an example:
the home page of a site makes a connection to the Real-time Updates API;
the GraphQL query and API token are hard-coded in the code of the webpage, so they're the same for all;
the content of the page is modified by editors approx. once every 30 seconds;
a total of 500 users is connected at the same time to the homepage in question.
The number of API calls made to the Content Delivery API every minute will be between 4 and 20.