Issue: Unable to Login to X.com API Using twikit Client - LoginFlow Not Accessible (Error 400)
I am trying to authenticate to X.com (formerly Twitter) using the twikit Python client. While attempting to log in using my credentials or cookies, I consistently encounter the following error:
status: 400, message: "{"errors":[{"code":366,"message":"flow name LoginFlow is currently not accessible"}]}"
Steps to Reproduce
Load or attempt to log in with credentials or cookies.
Run the script using twikit's Client.login() function.
Example Code Snippet
from twikit import Client
import asyncio
from configparser import ConfigParser
# Load credentials
config = ConfigParser()
config.read('config.ini')
username = config['X']['username']
email = config['X']['email']
password = config['X']['password']
client = Client(language='en-US')
async def main():
try:
await client.login(auth_info_1=username, auth_info_2=email, password=password)
client.save_cookies('cookies.json')
print("Login successful, cookies saved.")
except Exception as e:
print(f"Login failed: {e}")
# Run the async function
asyncio.run(main())
Error Message
status: 400, message: "{"errors":[{"code":366,"message":"flow name LoginFlow is currently not accessible"}]}"
Additional Information
-
Environment: Ubuntu 22 LTS, Python 3.10
-
Library version: twikit vX.X.X (latest version)
-
X.com API Access: Standard user account (no developer API access) Tried solutions:
-
Using valid credentials
Expected Behavior Successful login and subsequent authentication using either credentials or cookies.
Actual Behavior The login process fails with a 400 error, and the LoginFlow is reported as "not accessible".
Request for Help
- Is this a known issue related to changes in X.com's authentication flow?
- Any workarounds or solutions for this issue would be greatly appreciated.
if os.path.exists("cookies.json"):
client.load_cookies("cookies.json")
else:
await client.login(
auth_info_1=AUTH_INFO_1, auth_info_2=AUTH_INFO_2, password=PASSWORD
)
client.save_cookies("cookies.json")
load the cookie
if os.path.exists("cookies.json"): client.load_cookies("cookies.json") else: await client.login( auth_info_1=AUTH_INFO_1, auth_info_2=AUTH_INFO_2, password=PASSWORD ) client.save_cookies("cookies.json")load the cookie
Thanks for the suggestion!
The issue I'm facing occurs during the login process itself. When I try to log in using credentials, I receive the following error:
status: 400, message: "{"errors":[{"code":366,"message":"flow name LoginFlow is currently not accessible"}]}"
Since the login isn't successful, the client.save_cookies() step doesn't execute, so I can't generate or use the cookies.json file. That’s why even if I use a check for the existence of cookies.json, it doesn't resolve the underlying issue.
Do you have any suggestions on how to handle this or bypass the login issue?
did you solve the issue? @aqbspl
did you solve the issue? @aqbspl
Not yet, @mohanad-hafez I am getting the same error
Same issue here
was anyone able to solve this? or did you find other alternatives?
I'm trying it today, and I have the same issue.. any idea?
use this repo: https://github.com/mdmrcglu/twikit
worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git
theres a pull request to merge this into the main branch
use this repo: https://github.com/mdmrcglu/twikit
worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git
theres a pull request to merge this into the main branch
This solution produces the following exception for me on utils.py:103:
return self.response['subtasks'][0]['subtask_id']
IndexError: list index out of range
I installed with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git
but same error occurs.
return self.response['subtasks'][0]['subtask_id']
IndexError: list index out of range
Is there no solution to this problem?
use this repo: https://github.com/mdmrcglu/twikit
worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git
theres a pull request to merge this into the main branch
I use this and i got no error
status: 400, message: "{"errors":[{"code":366,"message":"flow name LoginFlow is currently not accessible"}]}
but I got wrong password. I Have confidence my password is correct.
An error occurred during login: status: 400, message: "{"errors":[{"code":399,"message":"Wrong password!"}]}"
I try to catch the error :
except Exception as e:
print(f"An error occurred during login: {e}")
print(f"Email: {email}")
print(f"Username: {username}")
print(f"Password: {password}")
the result is same as the config.ini file i used but it said wrong password
use this repo: https://github.com/mdmrcglu/twikit worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git theres a pull request to merge this into the main branch
This solution produces the following exception for me on
utils.py:103:return self.response['subtasks'][0]['subtask_id'] IndexError: list index out of range
hey @dvilelaf did you solve that problem ?
use this repo: https://github.com/mdmrcglu/twikit worked for me, just install with: pip3 install --upgrade git+https://github.com/mdmrcglu/twikit.git theres a pull request to merge this into the main branch
This solution produces the following exception for me on
utils.py:103:return self.response['subtasks'][0]['subtask_id'] IndexError: list index out of rangehey @dvilelaf did you solve that problem ?
same here, anyone resolved it ?
Not really, both repos show issues for me, but not always. Sometimes it just works. For now, i'm logging via cookies. Looking forward for the fix PRs to be merged.
How do you log via cookies? Is there a tutorial somewhere which I missed? @dvilelaf
How do you log via cookies? Is there a tutorial somewhere which I missed? @dvilelaf
https://github.com/d60/twikit/issues/227#issuecomment-2394925822
You will need to extract the cookies from your browser
Oh, okay. Haven't thought about that solution yet. Thanks!
fixed in v2.2.0