Finding · generated from live data
Open-Meteo says "service unavailable" every time we ask on the hour
Open-Meteo is one of the most popular free weather APIs. Our monitor calls it every 10 minutes. Of the 15 checks that landed on :00 or :30, 15 failed (HTTP 503). Of the 35 checks at any other minute, 0 failed.
A request sent a minute later works fine. This looks like load shedding when large numbers of scheduled jobs all fire at the same clock minute. It is a reasonable defence for a free service, and it means your own cron job probably should not run at :00 or :30.
What to do
- Schedule jobs at an odd minute such as :07 or :23, or add a random delay of 0 to 120 seconds.
- Retry once after a few seconds on a 503 instead of treating it as an outage.
- Do not read an alert at :00 or :30 as a real outage without a second check.
Our own monitor still counts these as failures in the uptime figure, because from a user's point of view the request did fail. See the live version of this analysis on Patterns, and the Open-Meteo status page.
A second experiment: one request every 5 seconds
To rule out a bug in our checker, a separate script sent a request every 5 seconds from 05:29:30 to 05:31:00 UTC on 20 Oct 2026. Eighteen requests came back 200 and exactly one came back 503: the one at 05:30:01, the first second of the half hour. The requests at 05:29:55 and 05:30:06 worked. The window is about one second wide, so a random retry delay of a few seconds is enough to avoid it.
Latest 24 checks
| Tue 06:30 UTC | 503 | 550 ms |
| Tue 06:20 UTC | 200 | 1008 ms |
| Tue 06:10 UTC | 200 | 1009 ms |
| Tue 06:00 UTC | 503 | 1259 ms |
| Tue 05:50 UTC | 200 | 867 ms |
| Tue 05:40 UTC | 200 | 748 ms |
| Tue 05:30 UTC | 503 | 413 ms |
| Tue 05:20 UTC | 200 | 1047 ms |
| Tue 05:10 UTC | 200 | 729 ms |
| Tue 05:00 UTC | 503 | 644 ms |
| Tue 04:50 UTC | 200 | 699 ms |
| Tue 04:40 UTC | 200 | 894 ms |
| Tue 04:30 UTC | 503 | 464 ms |
| Tue 04:20 UTC | 200 | 669 ms |
| Tue 04:10 UTC | 200 | 698 ms |
| Tue 04:00 UTC | 503 | 729 ms |
| Tue 03:50 UTC | 200 | 845 ms |
| Tue 03:40 UTC | 200 | 918 ms |
| Tue 03:30 UTC | 503 | 489 ms |
| Tue 03:20 UTC | 200 | 696 ms |
| Tue 03:10 UTC | 200 | 709 ms |
| Tue 03:00 UTC | 503 | 527 ms |
| Tue 02:50 UTC | 200 | 761 ms |
| Tue 02:40 UTC | 200 | 672 ms |
This page rebuilds every 10 minutes from the stored results. Measured from one server in Sweden.