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.
Post
Replies
Boosts
Views
Activity
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.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
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
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
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.
- Replies
- Boosts
- Views
- Activity
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.
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
- Replies
- Boosts
- Views
- Activity
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
Topic:
Developer Tools & Services
SubTopic:
General
Tags:
- Replies
- Boosts
- Views
- Activity