Weatherkit /api/v1/weather is incorrectly returning 302 redirects starting 2026-03-24 13:39:45 ET

Starting yesterday, the API is returning 302 Moved Temporarily" redirecting the API to Location: https://developer.apple.com/weatherkit/

Is this happening for anyone else?

This is incorrect, it should be giving an API JSON response as specified by: https://developer.apple.com/documentation/weatherkitrestapi/get-api-v1-weather-language-latitude-longitude

Answered by HubertY in 883342022

Not a bug afterall. Using units=si is not valid anymore after March 24. Turns out to be a failure of notifying the community about an update to the API where it will return 302 on error, where it should be returning 4XX for client error.

Could you provide a complete URL for which you are seeing this error?

Hi, this will reproduce it. It is not limited to just this GPS coordinate, all our GPS coordinates being polled are now failing.

curl -vvv -H "Authorization: Bearer YOUR_OWN_TOKEN_HERE" "https://weatherkit.apple.com/api/v1/weather/en/43.741667/-79.373333?dataSets=currentWeather&timezone=UTC&units=si"

Here's what the output is:

* Host weatherkit.apple.com:443 was resolved.
* IPv6: (none)
* IPv4: 23.58.127.73, 23.58.127.72, 23.58.127.75, 23.58.127.81, 23.58.127.80, 23.58.127.74, 23.58.127.83, 23.58.127.120, 23.58.127.82
*   Trying 23.58.127.73:443...
* Connected to weatherkit.apple.com (23.58.127.73) port 443
* ALPN: curl offers h2,http/1.1
* (304) (OUT), TLS handshake, Client hello (1):
*  CAfile: /etc/ssl/cert.pem
*  CApath: none
* (304) (IN), TLS handshake, Server hello (2):
* (304) (IN), TLS handshake, Unknown (8):
* (304) (IN), TLS handshake, Certificate (11):
* (304) (IN), TLS handshake, CERT verify (15):
* (304) (IN), TLS handshake, Finished (20):
* (304) (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / AEAD-CHACHA20-POLY1305-SHA256 / [blank] / UNDEF
* ALPN: server accepted http/1.1
* Server certificate:
*  subject: C=US; ST=California; O=Apple Inc.; CN=weather-data.apple.com
*  start date: Feb 13 19:20:40 2026 GMT
*  expire date: Aug 19 17:49:59 2026 GMT
*  subjectAltName: host "weatherkit.apple.com" matched cert's "weatherkit.apple.com"
*  issuer: C=US; O=Apple Inc.; CN=Apple Public Server ECC CA 1 - G1
*  SSL certificate verify ok.
* using HTTP/1.x
> GET /api/v1/weather/en/43.741667/-79.373333?dataSets=currentWeather&timezone=UTC&units=si HTTP/1.1
> Host: weatherkit.apple.com
> User-Agent: curl/8.7.1
> Accept: */*
> Authorization: Bearer ***SNIP***
>
* Request completely sent off
< HTTP/1.1 302 Moved Temporarily
< Server: Apple
< Content-Length: 0
< X-Frame-Options: SAMEORIGIN
< Strict-Transport-Security: max-age=31536000; includeSubdomains
< X-XSS-Protection: 1; mode=block
< Access-Control-Allow-Origin: *
< X-Content-Type-Options: nosniff
< Content-Security-Policy: default-src 'self';
< X-REQUEST-ID: 2f605f12-8331-92fc-c7c1-acfb332b50b6
< X-Apple-Origin: 010decd0-02a4-34fc-8414-ac2bcd4692b9
< Cache-Control: must-revalidate,no-cache,no-store
< Location: https://developer.apple.com/weatherkit/
< Date: Wed, 25 Mar 2026 18:55:51 GMT
< X-Cache: TCP_MISS from a23-58-127-87.deploy.akamaitechnologies.com (AkamaiGHost/22.4.4-cf5672731e69c345796af56199edfb50) (-)
< Connection: keep-alive
<
* Connection #0 to host weatherkit.apple.com left intact
Accepted Answer

Not a bug afterall. Using units=si is not valid anymore after March 24. Turns out to be a failure of notifying the community about an update to the API where it will return 302 on error, where it should be returning 4XX for client error.

Weatherkit /api/v1/weather is incorrectly returning 302 redirects starting 2026-03-24 13:39:45 ET
 
 
Q