Instagram Bot account

I took on this project to learn more about capturing HTTP requests and using APIs. This is an instagram account which is fully managed by a bot. The functionality of the bot includes:

This bot uses the Instagram public API as well as the private API and so I had to mimic how the application communicates with the backend.
To do this I had to use a tool to capture the HTTP requests so that I could mimic the headers and send the request to the correct URL.
Once I had this information I could now make requests to Instagrams servers as though I was using the app directly.
This works out but I did run into issues with rate limiting which caused me to park the idea after a month.

To find images I used the Unsplash API. This API has hundreds of thousands of free to use images which can be resized by providing the correct parameters in the HTTP request.
Once I had a link to the images I was able to use the Instagram public API which provides methods to upload new images programmaticaly.
The public API also allows commenting on your own posts so I used this to reply to users when they comment on my posts. This drives engagement and gives the sense that the account is managed by a human.
In order to comment and like the posts of other users I had to step over to the private API. These calls mimic the way in which the instagram app and website communicate with their servers.
To wrap it all up and make it more usable I created a simple command line interface with which to interact with the bot. You can use this interface to change the account you are working on and to start/stop the different functionalities of the bot.

After running the account for 1 month it had uploaded 57 posts, gained 2100 new followers, 4300 likes on the posts and 13900 views on the posts.