Weather Kit REST API returning extremely stale data (up to 2+ hrs old) - users complaining

Hi all,

We recently completed the transition from Darksky to Weatherkit and have started receiving "inaccurate weather" complaints. We have successfully recreated the problem and believe the cause is stale data being returned.

Weather Kit returns a reportedTime (The time the provider reported the weather data.) in the metadata of each dataset. We are seeing that the value of reportedTime is often up to 2+ hours old. This doesn't matter so much for forecasted data but for currentWeather, forecastNextHour and weatherAlerts its very important to have relatively recent weather data.

Users are expecting to know what the current weather is outside but are receiving information that is 2hrs old. When its raining or snowing outside and we are reporting clear in some cases.

Questions.

  1. Are we doing something wrong or is this by design? This is how we are requesting 👇🏽
https://weatherkit.apple.com/api/v1/weather/en_US/25.76/-80.19?dataSets=currentWeather,forecastHourly,forecastDaily,weatherAlerts&country=US&timezone=America/New_York
  1. When I look at the Apple Weather app the weather appears to be up to date. Is the behavior different for swift? I assume the Apple Weather app is using swift and Weather Kit.

Thanks

Post not yet marked as solved Up vote post of Shivdev Down vote post of Shivdev
756 views

Replies

Notice the readTime and reportedTime are 2+ hrs appart.

{
    "currentWeather": {
        "name": "CurrentWeather",
        "metadata": {
            "attributionURL": "https://weatherkit.apple.com/legal-attribution.html",
            "expireTime": "2023-03-07T20:17:00Z",
            "latitude": 26.090,
            "longitude": -80.380,
            "readTime": "2023-03-07T20:12:00Z",
            "reportedTime": "2023-03-07T18:00:00Z",
            "units": "m",
            "version": 1
        },

Edit: Disregard, this was actually a caching error on my end.

Did you figure out if this was something you could control on your end? Noticing 2 hour old CurrentWeather today for my location as well.

This is not actually something we can control. Apple technical support has confirmed it's a bug and that there is no workaround. No time frame on when it would be resolved was given.

We are currently transitioning the currentWeather data set to another API as a temporary fix. It's definitely hurting our product and we are losing users. The whole thing is actually kind of crazy to me. How can you have a successful weather app that delivers current weather that is always 2 hrs old?

  • I think there may have been a miscommunication. The issue is that reportedTime shows the timestamp of an underlying model that is used as input into the current conditions, not the time to which the current weather response applies. Many weather models are updated hourly or even less often. That information is combined with observational data and other sources to provide current conditions. The timestamp of the current conditions is specified by the asOf timestamp not the reportedTime

  • Unfortunately we are seeing the current conditions align with reportedTime and not asOf. This can be verified by comparing with any other data provider or the Apple Weather app in any location where it’s currently raining or snowing. ReportedTime has improved on responses since launch but still more than 50% of the reposes are over 1 hr old.

    To clear up the miss communication. Are you saying the reportedTime is not bug? And that the weather experience we are seeing is not expected to change?

Add a Comment

I have encountered a similar (if not the same) issue. The /weather endpoint is returning outdated asOf values. For example, the value will be a timestamp from many hours ago, although there should be more present data available.