b31ngd3v / MyIGBot

MyIGBot is a Private API for Instagram to like, follow, comment, view & intaract with stories, upload post & stories, get all information about a user/posts and get posts based on locations/hashtags. It also supports proxy.
https://pypi.org/project/myigbot/
MIT License
174 stars 35 forks source link
api ig-bot ig-private-api ig-story instagram instagram-api instagram-bot private-api proxy python stories story

MyIGBot  Build Status

MyIGBot is a Instagram Private API to like, follow, comment, view & intaract with stories, upload post & stories, get all information about a user/posts and get posts based on locations/hashtags.

New Features!

You can also:

Tech

MyIGBot uses a number of open source projects to work properly:

And of course MyIGBot itself is open source with a public repository on GitHub.

Installation

Place myigbot.py and utils.py in the same folder where your project is. (recommended)

or,

Install MyIGBot from PyPi (out of date)

$ pip install myigbot

Usage

Here is how to use MyIGBot (you can also check usage.py)

Login Process (if your account has 2 Factor Auth. The bot will ask you the code.)
from myigbot import MyIGBot

bot = MyIGBot('USERNAME', 'PASSWORD')
Like post
response = bot.like('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)  # if the response code is 200 that means ok
Unlike post
response = bot.unlike('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)  # if the response code is 200 that means ok
Like Recent post
response = bot.like_recent('instagram')
print(response)  # if the response code is 200 that means ok
Comment on post
response = bot.comment('https://www.instagram.com/p/CH5qV6-so6Y/', comment_text='Nice Post!')
print(response)  # if the response code is 200 that means ok
Comment on recent post
response = bot.comment_recent('instagram', comment_text='Nice Post!')
print(response)  # if the response code is 200 that means ok
Follow user
response = bot.follow('instagram')
print(response)  # if the response code is 200 that means ok
Unfollow user
response = bot.unfollow('instagram')
print(response)  # if the response code is 200 that means ok
Send story view
response = bot.story_view('b31ngdev')
print(response)  # if the response code is 200 that means ok
Upload post
response = bot.upload_post('image.png', caption='Image 1')
print(response)  # if the response code is 200 that means ok
Upload Story
response = bot.upload_story('image2.png')
print(response)  # if the response code is 200 that means ok
Find posts with hashtags
response = bot.hashtag_posts('programmershumor', limit=50)
print(response)  # by default the limit is setted to 20, this is a optional parameter
Find posts with location
response = bot.location_posts('https://www.instagram.com/explore/locations/6889842/paris-france/', limit=20)
print(response)  # by default the limit is setted to 20, this is a optional parameter
User post count
response = bot.user_posts_count('instagram')
print(response)
User follower count
response = bot.user_followers_count('instagram')
print(response)
User follow count
response = bot.user_follow_count('instagram')
print(response)
Post like count
response = bot.like_count('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)
Post comment count
response = bot.comment_count('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)
Get every post's link of a user
response = bot.user_posts('instagram', limit=50)
print(response)  # by default the limit is setted to 50, this is a optional parameter
List of username who followed the user
response = bot.user_followers('instagram', limit=50)
print(response)  # by default the limit is setted to 50, this is a optional parameter
List of username whom the user follows
response = bot.user_follows('instagram', limit=50)
print(response)  # by default the limit is setted to 50, this is a optional parameter
List of username who liked a post
response = bot.post_likers('https://www.instagram.com/p/CH5qV6-so6Y/', limit=50)
print(response)  # by default the limit is setted to 50, this is a optional parameter
List of username who commented a post
response = bot.post_commenters('https://www.instagram.com/p/CH5qV6-so6Y/', limit=50)
print(response)  # by default the limit is setted to 50, this is a optional parameter
Feed posts of logged in user
response = bot.feed_posts()
print(response)
Username of the post owner
response = bot.post_owner('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)
Get caption of a post
response = bot.post_caption('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)
Get location of a post
response = bot.post_location('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)
Get hashtags used in the post
response = bot.post_hashtags('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)
Get usernames who are tagged in a post
response = bot.post_tagged_user('https://www.instagram.com/p/B2fZRgBA2wj/')
print(response)
Get HD quality Profile Picture download link
response = bot.user_dp('instagram')
print(response)
Get bio of a user
response = bot.user_bio('instagram')
print(response)
Find the account is private or not
response = bot.private_user('instagram')
print(response)
Find the account is verified or not
response = bot.verified_user('instagram')
print(response)
Get external url of a username
response = bot.user_external_url('instagram')
print(response)
Find the user follows you or not
response = bot.follows_me('instagram')
print(response)
Find you follow the user or not
response = bot.followed_by_me('instagram')
print(response)
Get video views count
response = bot.video_views_count('https://www.instagram.com/p/B2XPNNvgApx/')
print(response)
Get post type (video or picture)
response = bot.post_type('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)
Get exact time when the post was posted
response = bot.post_time('https://www.instagram.com/p/CH5qV6-so6Y/')
print(response)

Proxy

Here is how to add proxy

Method For Authenticated Proxies

from myigbot import MyIGBot

proxies = {
    'http': 'user:pass@host:port',
    'https': 'user:pass@host:port'
}
bot = MyIGBot('USERNAME', 'PASSWORD', proxy=proxies)

Method For Non-Authenticated Proxies

from myigbot import MyIGBot

proxies = {
  'http': 'host:port',
  'https': 'host:port',
}
bot = MyIGBot('USERNAME', 'PASSWORD', proxy=proxies)

License

OpenSource        MIT

Free Software, Hell Yeah!