New (2023-10-01)! Based on v2 data collector, which is more accurate, and not built on the Cloudflare stack (using just C#, Clickhouse and Postgres). Old data is still available via /?v1, /v1/stats and /v1/predicted, new is also on /v2/stats and /v2/predicted. /stats and /predicted will always point to the latest version.

Yellow points/lines are pending deployments, whose final deployment times are yet unfinalized.

You can access /stats for API friendly stat. You can access /predicted for the predicted time in raw text. Feel free to use these APIs, instead of making your own and adding extra load. Data is all cached in KV.

How? We deploy once a minute, with a specific value in the response of the deployed worker. We then use Durable Objects and Durable Object Alarms to "chase" the deployment, at first checking once per second, and then slowly falling back to slower checks to see when it is deployed.

Data is pushed into Analytics Engine (these charts) and KV (the /stats /predicted endpoints).

This data isn't perfect of course, only Cloudflare knows the true length of queue, but it's a good estimate. Fundamentally it seems to just be a simple queue, so in theory this should be spot on, at least for detecting the max wait time.

Expect some variation though. I would say anything less then 1 minute is normal. Anything more then 5 minutes is a problem. Just based on my observation. If you have any questions, I have all 90 days of data + data from another account used for confirmation as well, so feel free to ask :)