Instagram made some very big changes to authentication process. About 70% of our users are affected by them.

Before the changes the process was quite simple:

Sometimes Instagram decided that login from SNAP is “unusual” and asked for confirmation. You just had to open Instagram on your phone and tap “This was me” button on “We have detected an unusual login attempt” screen.

The process become much more complicated now. Instagram is treating different accounts differently. Here is our analysis based on our user data:

  1. About 30% of accounts are not affected by the change at all. They work as they worked before.
  2. About 45% of accounts require to enter the code from email or SMS. SNAP supports this type of authentication starting from versions: SNAP Plugin 4.1.1 and SNAP API 4.0.37.
  3. About 15% of accounts require to enter the code from email or SMS and confirm the “unusual” location from the phone. SNAP supports this type of authentication starting from SNAP API 4.0.42.

    You are in this category, if you saw this error:

    {“message”: “login_required”, “logout_reason”: 3, “status”: “fail”}

    Once you get API 4.0.42 update, SNAP will ask for code confirmation and then you will see the message:

    You’ve got checkpoint! Please login to Instagram from your phone and confirm the login or action before trying to post again

    Please open Instagram on your phone and confirm the the “unusual” location. SNAP will work fine after that.

  4. About 10% of accounts got demoted to the lowest trust status. You are here if you got an infinite loop of confirmations or empty errors. “Infinite loop” means that once you are successfully passed either code confirmation, you immediately asked to do that again. Please do not confuse “code infinite loop” that you might get with SNAP Plugin 4.1.1 and SNAP API 4.0.42 with “unusual” location infinite loop that almost everyone got before SNAP Plugin 4.1.1 and SNAP API 4.0.37.

    There are two reasons for this: Your IP belongs to the hosting provider with the big number of abuse complains and/or your account got a lot of spam or abuse complains. About half of the accounts affected by “Infinite loop” or empty errors could be recovered using real mobile IPs. This means you MUST confirm your account location from the smartphone connected to the mobile network. Please disable WIFI and login to Instagram from LTE/4G/3G/EDGE network. Alternatively you can try to find “mobile” proxy.

Issues and how to fix them:

  1. “checkpoint_required”/”Please enter the code”

    “checkpoint_required”/”Please enter the code” issue.

    It has been fixed in the plugins version 4.1.1 and API 4.0.37. Please update both plugin and API.

    1. Make sure you have SNAP Plugin at least version 4.1.1 and API at least version 4.0.37.
    2. Go to Instagram account settings and click “Send Test Post” button.
    3. Plugin will ask you for a code. “Do not close that window!”. Check your email or phone, get the code, enter it.
    4. It will work fine after that. (Unless you get a different error).

  2. login_required

    “{“message”: “login_required”, “logout_reason”: 3, “status”: “fail”}”

    Fixed in the API 4.0.42.
    1. Make sure you have SNAP Plugin at least version 4.1.1 and API at least version 4.0.42.
    2. Go to Instagram account settings and click “Send Test Post” button.
    3. You will get “You’ve got checkpoint! Please login to Instagram from your phone and confirm the login or action before trying to post again”.
    4. Open Instagram on your phone. (There are much more chances that it will work, if you disable WIFI and do that from LTE/4G/3G/Edge mobile connection). Tap “This was me” button on “We have detected an unusual login attempt” screen.
    5. It will work fine after that. (Unless you are in 5% of the users who are using “bad” hosting provider or got account marked as “spammer”).

  3. Bad request

    “{“message”: “Bad request”, “status”: “fail”}”

    Fixed in the plugin version 4.1.2 and API 4.0.39. No additional steps required.

  4. authenticated: true

    “{“authenticated”: true, “user”: true, “status”: “ok”}”

    Fixed in the API 4.0.38. No additional steps required.

  5. Another login_required error

    {“message”: “login_required”, “error_title”: “You Were Logged Out”, “error_body”: “Please log back in.”, “logout_reason”: 8, “status”: “fail”}

    Fixed in the API 4.0.42. No additional steps required.

  6. authenticated:false issue

    {“authenticated”: false, “user”: true, “status”: “ok”}

    Fixed in the API 4.0.44. No additional steps required.

Are we done?

It looks like Instagram is still working on it’s infrastructure, so new issues could appear or existing fixes could stop working. We will continue to watch the situation and release new updates once necessary.

If you have an issue that is not listed here or one of the fixes is not working, please check the Known Issues before opening a ticket.