Before checking a trade result, before fetching candles, before anything else: you need to connect and log in to IQ Option. And that is exactly where most Python projects die. This honest guide shows how to use the unofficial iqoptionapi library to connect, handle two-factor authentication, switch between demo and real accounts, and fix the most common login errors in 2026.
Tired of fighting login, sessions and SSL by hand?
See the complete IQ Option API reference in Python →The basics: install and instantiate
iqoptionapi is a community-maintained library (the most widely used version is the iqoptionapi fork). The connection runs over WebSocket and the main object is the IQ_Option class, which takes your e-mail and password:
Checking whether you are still connected
The WebSocket connection drops frequently. So connecting once is not enough — check the connection state and reconnect when needed:
Demo account vs real account
This is the most important line in your entire codebase. Use change_balance to make sure you are on the practice account before running any test:
PRACTICE hard-coded during the entire development phase. Only switch to REAL once the system is 100% tested — and even then, knowing you can lose real money.
Logging in with two-factor authentication
If the account has 2FA enabled, connect() returns a reason asking for the code. The typical flow is to capture that return value and resend it with the code received by e-mail/SMS. The exact approach varies by library version, so always inspect the contents of reason before handling it.
Most common login errors
“Invalid credentials”: wrong e-mail/password, or an account with unhandled 2FA.
SSL/WebSocket errors: usually an outdated dependency — update the lib and websocket-client.
Connects but freezes later: missing reconnection logic; wrap calls in try/except and revalidate with check_connect().
FAQ
Do I need a verified account to connect? You use the same credentials as the platform. The demo account already lets you test everything risk-free.
Is it safe to put my password in the code? Never hard-code credentials in versioned files. Use environment variables or a .env file kept out of version control.
Can I get banned for using iqoptionapi? It is possible. Because it is unofficial, using it may violate the broker’s terms and result in your account being blocked.
Disclaimer: binary options and high-risk trading can lead to the total loss of your capital. This content is strictly educational and does not constitute an investment recommendation, offer or financial advice. Unofficial libraries can stop working at any time and may violate the broker’s terms of use. Always test on a demo account before any trade with real money.
