Overview
Unable to authenticate using icloudpd. Receive a 503 error when trying to authenticate.
Steps to Reproduce
- Install icloudpd
- Run the command "icloudpd --auth-only -u youremail@email.com"
- Authenticate
version:1.28.1, commit sha:ad1a381, commit timestamp:Sun Jun 8 14:28:20 2025 EDT
Rocky Linux 9.6 kernel 5.14.0-570.22.1.el9_6.x86_64
Expected Behavior
icloudPD authenticates correctly and the service starts pulling photos
Actual Behavior
After authenticating correctly, the following Traceback is dumped to console
2025-06-27 23:42:20 ERROR Service Temporarily Unavailable (503)
2025-06-27 23:42:20 ERROR Failed to login with srp, falling back to old raw password authentication. Error: ('Failed to initiate srp authentication.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))
2025-06-27 23:42:21 ERROR Service Temporarily Unavailable (503)
2025-06-27 23:42:21 ERROR Failed to login with raw password. Error: ('Invalid email/password combination.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 289, in _authenticate_srp
response = self.session.post("%s/signin/init" % self.AUTH_ENDPOINT, data=json.dumps(data), headers=headers)
File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/session.py", line 123, in request
self._raise_error(str(response.status_code), response.reason)
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/session.py", line 197, in _raise_error
raise api_error
pyicloud_ipd.exceptions.PyiCloudAPIResponseException: Service Temporarily Unavailable (503)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 197, in authenticate
self._authenticate_srp()
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 294, in _authenticate_srp
raise PyiCloudFailedLoginException(msg, error) from error
pyicloud_ipd.exceptions.PyiCloudFailedLoginException: ('Failed to initiate srp authentication.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 355, in _authenticate_raw_password
self.session.post(
File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/session.py", line 123, in request
self._raise_error(str(response.status_code), response.reason)
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/session.py", line 197, in _raise_error
raise api_error
pyicloud_ipd.exceptions.PyiCloudAPIResponseException: Service Temporarily Unavailable (503)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/icloudpd", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1161, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1082, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1443, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 788, in invoke
return _callback(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/icloudpd/base.py", line 794, in main
result = core(
File "/usr/local/lib/python3.9/site-packages/icloudpd/base.py", line 1257, in core
icloud = authenticator(
File "/usr/local/lib/python3.9/site-packages/icloudpd/authentication.py", line 53, in authenticate
icloud = PyiCloudService(
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 161, in init
self.authenticate()
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 204, in authenticate
raise error
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 201, in authenticate
self._authenticate_raw_password()
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 363, in _authenticate_raw_password
raise PyiCloudFailedLoginException(msg, error) from error
pyicloud_ipd.exceptions.PyiCloudFailedLoginException: ('Invalid email/password combination.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))
Context
This seems to be triggered by a password change. My service was behaving normally on my old box until I had to reset the password.
Overview
Unable to authenticate using icloudpd. Receive a 503 error when trying to authenticate.
Steps to Reproduce
version:1.28.1, commit sha:ad1a381, commit timestamp:Sun Jun 8 14:28:20 2025 EDT
Rocky Linux 9.6 kernel 5.14.0-570.22.1.el9_6.x86_64
Expected Behavior
icloudPD authenticates correctly and the service starts pulling photos
Actual Behavior
After authenticating correctly, the following Traceback is dumped to console
2025-06-27 23:42:20 ERROR Service Temporarily Unavailable (503)
2025-06-27 23:42:20 ERROR Failed to login with srp, falling back to old raw password authentication. Error: ('Failed to initiate srp authentication.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))
2025-06-27 23:42:21 ERROR Service Temporarily Unavailable (503)
2025-06-27 23:42:21 ERROR Failed to login with raw password. Error: ('Invalid email/password combination.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 289, in _authenticate_srp
response = self.session.post("%s/signin/init" % self.AUTH_ENDPOINT, data=json.dumps(data), headers=headers)
File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/session.py", line 123, in request
self._raise_error(str(response.status_code), response.reason)
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/session.py", line 197, in _raise_error
raise api_error
pyicloud_ipd.exceptions.PyiCloudAPIResponseException: Service Temporarily Unavailable (503)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 197, in authenticate
self._authenticate_srp()
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 294, in _authenticate_srp
raise PyiCloudFailedLoginException(msg, error) from error
pyicloud_ipd.exceptions.PyiCloudFailedLoginException: ('Failed to initiate srp authentication.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 355, in _authenticate_raw_password
self.session.post(
File "/usr/local/lib/python3.9/site-packages/requests/sessions.py", line 637, in post
return self.request("POST", url, data=data, json=json, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/session.py", line 123, in request
self._raise_error(str(response.status_code), response.reason)
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/session.py", line 197, in _raise_error
raise api_error
pyicloud_ipd.exceptions.PyiCloudAPIResponseException: Service Temporarily Unavailable (503)
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/usr/local/bin/icloudpd", line 8, in
sys.exit(main())
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1161, in call
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1082, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 1443, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.9/site-packages/click/core.py", line 788, in invoke
return _callback(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/icloudpd/base.py", line 794, in main
result = core(
File "/usr/local/lib/python3.9/site-packages/icloudpd/base.py", line 1257, in core
icloud = authenticator(
File "/usr/local/lib/python3.9/site-packages/icloudpd/authentication.py", line 53, in authenticate
icloud = PyiCloudService(
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 161, in init
self.authenticate()
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 204, in authenticate
raise error
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 201, in authenticate
self._authenticate_raw_password()
File "/usr/local/lib/python3.9/site-packages/pyicloud_ipd/base.py", line 363, in _authenticate_raw_password
raise PyiCloudFailedLoginException(msg, error) from error
pyicloud_ipd.exceptions.PyiCloudFailedLoginException: ('Invalid email/password combination.', PyiCloudAPIResponseException('Service Temporarily Unavailable (503)'))
Context
This seems to be triggered by a password change. My service was behaving normally on my old box until I had to reset the password.