DEV Community

Wulfi
Wulfi

Posted on

3 1

Make an Instagram bot in Python

In this article we will try to make an Instagram bot using Python and Instabot. Bots are really common these days that automates the tasks such as sending messages, uploading photos, following and unfollowing users, and many more. Bots reduce our work and save our time. Today we will create an a simple instagram bot that can do:

i/ Post a photo

ii/ Follow one or more users

iii/ Unfollow one or a list of users

iv/ Unfollow everyone

v/ Count number of followers of a user

vi/ Like and comment on a post

vii/ Send messages

Instabot library:

Instabot is a Python module, which not only implements the wrapper over the Instagram API, but also various useful methods, such as login to instagram account, getting users from the data, getting media from users or from hastags, comments, likes, follows, and uploading photos.

By the way we hardly recommend you not to use your own account if you don’t need your personal data or don’t want to promote your account.

To get a quick understanding of how the bot works, lets start with trying out some of the bot functions.

Installation

$ pip  install instabot
Enter fullscreen mode Exit fullscreen mode

Login

To perform any of the method of a bot, we need to login to the instagram account. So first, import instabot library and login

# Import instabot library
from instabot import Bot

# Create a instance  of bot
bot = Bot()

# Login
bot.login(username="your_userid", password="your_password")
Enter fullscreen mode Exit fullscreen mode

1/ Post a photo:

A photo can be either in .jpg or jpeg format

from instabot import Bot

bot = Bot()

bot.login(username="your_userid", password="your_password")

img = "photo.jpg"   # give the path and name if it is in different directory
bot.upload_photo(img, caption="(...")

Enter fullscreen mode Exit fullscreen mode

2/ Follow one or more users

To follow one user, use follow()

from instabot import Bot

bot = Bot()

bot.login(username="your_userid", password="your_password")

# To follow single user.
bot.follow("username")
Enter fullscreen mode Exit fullscreen mode

To follow multiple users, use follow_users()

# To follow more user.
list_of_user = ["userId1", "userId2", "userId3", "...."]
bot.follow_users(list_of_user)

Enter fullscreen mode Exit fullscreen mode

3/ Unfollow one or a list of users

To unfollow one user we nees to use unfollow() function.

from instabot import Bot

bot = Bot()
bot.login(username="your_username", password="your_password")

# To unfollow a single user.
bot.unfollow("username")

Enter fullscreen mode Exit fullscreen mode

To unfollow multiple users, use unfollow_users()

# To unfollow more users.
unfollow_list = ["userId1", "userId2", "userId3", "..."]
bot.unfollow_users(unfollow_list)

Enter fullscreen mode Exit fullscreen mode

4/ Unfollow everyone

To unfollow every user that we follow, use the function unfollow_everyone()

from instabot import Bot

bot = Bot()
bot.login(username="your_username", password="your_password")

# To unfollow everyone use:
# Please Note that using this will remove all your followings
bot.unfollow_everyone()
Enter fullscreen mode Exit fullscreen mode

5/ Count number of followers of a user

We can get the number of followers of a user or our own using the get_user_followers() function. This will get the list of followers id.

from instabot import Bot

bot = Bot()
bot.login(username="your_username", password="your_password")

# Count number of followers
followers = bot.get_user_followers("username")
print("Total number of followers:")
print(len(followers))
Enter fullscreen mode Exit fullscreen mode

6/ Like and comment on a post

from instabot import Bot

bot = Bot()
bot.login(username="your_username", password="your_password")

post_link = "https://www.instagram.com/p/CWqleONFg4/"   # enter the post link
post = bot.get_media_id_from_link(post_link)

# like
bot.like(post)

# comment
bot.comment(post, "Comments ..")
Enter fullscreen mode Exit fullscreen mode

7/ Send messages to a user with send_message() function

from instabot import Bot

bot = Bot()
bot.login(username="your_username", password="your_password")

# To send message to a single user.
message = "Hello, Thanks for the gift"
bot.send_message(message, "username")

Enter fullscreen mode Exit fullscreen mode

GitHub link

More functions can be seen in the documentation here

ACI image

ACI.dev: The Only MCP Server Your AI Agents Need

ACI.dev’s open-source tool-use platform and Unified MCP Server turns 600+ functions into two simple MCP tools on one server—search and execute. Comes with multi-tenant auth and natural-language permission scopes. 100% open-source under Apache 2.0.

Star our GitHub!

Top comments (0)

Image of Quadratic

Free AI chart generator

Upload data, describe your vision, and get Python-powered, AI-generated charts instantly.

Try Quadratic free

👋 Kindness is contagious

Dive into this insightful write-up, celebrated within the collaborative DEV Community. Developers at any stage are invited to contribute and elevate our shared skills.

A simple "thank you" can boost someone’s spirits—leave your kudos in the comments!

On DEV, exchanging ideas fuels progress and deepens our connections. If this post helped you, a brief note of thanks goes a long way.

Okay