dilame / instagram-private-api

NodeJS Instagram private API SDK. Written in TypeScript.
MIT License
5.99k stars 1.14k forks source link

What is the general limits of the actions ? #1450

Open emirhankolver opened 3 years ago

emirhankolver commented 3 years ago

Hello I made an app for mobile devices, and it's checking user stories for every 15-20 mins. but I have no idea if it's gonna cause an feedback_required or challenge_required in future. My other problem is when I unfollow 15/20 people from who don't follow me back; Instagram blocks the requests and gives feedback_required to me but in actual instagram app I have no problem... I have added a waiting for 1-1.5 seconds after unfollowing someone. but it still occur How can I solve these problems and does anyone know the limits ?

hdem607 commented 3 years ago

I have the same issue. In one device gets feedback_required and on mobile app no restrictions.

emirhankolver commented 3 years ago

I have fixed my checking user story problem but I still can't solve the challenge_required error while unfollowing/following a person. My app always wait randomly ±1 second after unfollowing or following a person. But on some accounts some users immediately get challenge reguired error after their 5-10th follow/unfollow action.

I think I have issue about request headers and bodies. I'm making an signed body for follow and unfollow actions but I'm not using all of the headers that official Instagram app sends

hdem607 commented 3 years ago

After deleting cookies, I was able to unfollow 25 users and stopped to avoid another restriction. I have random 10-15s between requests. Probably IG is blocking actions based on device. So, have to change something in constants to workaround.

emirhankolver commented 3 years ago

Don't forget to write back here in the future when you solve your problem ☺️

muners commented 3 years ago

I am also quite annoyed by this problem, so it will be helpful.

Does changing the device mean logging in again on a different device?

ig.state.generateDevice(new_devise_name);

Sure, changing devices tends to bring back actions, but isn't it more likely to be blocked at login?

Also, what exactly is the process of deleting cookies?

If possible, it would be helpful if you could provide sample code for a series of actions.

hdem607 commented 3 years ago

Does changing the device mean logging in again on a different device?

No. I mean changing information on constants file. In my case I have Dilame's code in Python, so it is constants.py. ANDROID_VERSION = 30 ANDROID_RELEASE = '11.0' PHONE_MANUFACTURER = 'samsung' PHONE_DEVICE = 'SM-G930F' PHONE_MODEL = 'herolte' PHONE_DPI = '640dpi' PHONE_RESOLUTION = '1440x2560' PHONE_CHIPSET = 'samsungexynos8890' VERSION_CODE = '185203708' Maybe I am wrong, but after changing some info regarding device and constants, my bot came back to life.

Also, what exactly is the process of deleting cookies?

To avoid multiples logins, it is recommended to save cookies. In my case, it is credentials.json. Every time I delete it, I get a new login. I strong believe this login info is also used to identify bots in some way. When blocked, deleting it brings back actions not allowed before.

If possible, it would be helpful if you could provide sample code for a series of actions.

My last attempt is to shuffle actions. My bot follow/unfollow/watch reels/like feed; and all these actions were always on the same sequence. Very easy for an AI system to identify the pattern. I believe shuffling will reduce chances of being blocked again. In fact, this week I figured out how stupid I was about not thinking this before.

Consider that IG people might check this forum. We are like Tom & Jerry.

emirhankolver commented 3 years ago

Does changing the device mean logging in again on a different device?

No. I mean changing information on constants file. In my case I have Dilame's code in Python, so it is constants.py. ANDROID_VERSION = 30 ANDROID_RELEASE = '11.0' PHONE_MANUFACTURER = 'samsung' PHONE_DEVICE = 'SM-G930F' PHONE_MODEL = 'herolte' PHONE_DPI = '640dpi' PHONE_RESOLUTION = '1440x2560' PHONE_CHIPSET = 'samsungexynos8890' VERSION_CODE = '185203708' Maybe I am wrong, but after changing some info regarding device and constants, my bot came back to life.

Also, what exactly is the process of deleting cookies?

To avoid multiples logins, it is recommended to save cookies. In my case, it is credentials.json. Every time I delete it, I get a new login. I strong believe this login info is also used to identify bots in some way. When blocked, deleting it brings back actions not allowed before.

If possible, it would be helpful if you could provide sample code for a series of actions.

My last attempt is to shuffle actions. My bot follow/unfollow/watch reels/like feed; and all these actions were always on the same sequence. Very easy for an AI system to identify the pattern. I believe shuffling will reduce chances of being blocked again. In fact, this week I figured out how stupid I was about not thinking this before.

Consider that IG people might check this forum. We are like Tom & Jerry.

Thank you so much for your message. I noticed something about the challenge_required error today. My app has been used by over 150 people worldwide in the last 7 days. I noticed that out of 150 users, only 6 users from Turkey got the challenge_required error. However, Turkish users are the lowest audience of my app. I don't understand why this only happens in Turkey. Any idea about this?

Screenshot

elmissouri16 commented 3 years ago

Does changing the device mean logging in again on a different device?

No. I mean changing information on constants file. In my case I have Dilame's code in Python, so it is constants.py. ANDROID_VERSION = 30 ANDROID_RELEASE = '11.0' PHONE_MANUFACTURER = 'samsung' PHONE_DEVICE = 'SM-G930F' PHONE_MODEL = 'herolte' PHONE_DPI = '640dpi' PHONE_RESOLUTION = '1440x2560' PHONE_CHIPSET = 'samsungexynos8890' VERSION_CODE = '185203708' Maybe I am wrong, but after changing some info regarding device and constants, my bot came back to life.

Also, what exactly is the process of deleting cookies?

To avoid multiples logins, it is recommended to save cookies. In my case, it is credentials.json. Every time I delete it, I get a new login. I strong believe this login info is also used to identify bots in some way. When blocked, deleting it brings back actions not allowed before.

If possible, it would be helpful if you could provide sample code for a series of actions.

My last attempt is to shuffle actions. My bot follow/unfollow/watch reels/like feed; and all these actions were always on the same sequence. Very easy for an AI system to identify the pattern. I believe shuffling will reduce chances of being blocked again. In fact, this week I figured out how stupid I was about not thinking this before. Consider that IG people might check this forum. We are like Tom & Jerry.

Thank you so much for your message. I noticed something about the challenge_required error today. My app has been used by over 150 people worldwide in the last 7 days. I noticed that out of 150 users, only 6 users from Turkey got the challenge_required error. However, Turkish users are the lowest audience of my app. I don't understand why this only happens in Turkey. Any idea about this?

Screenshot

first I have no idea how your app work but my guess will be its just a single user trying different accounts and maybe they are bad ones and trying them