/instauto

Instagram bot / automation library written in Javascript for Node.js

Primary LanguageJavaScript

instauto

instauto is an Instagram automation/bot library written in modern, clean javascript using Google's Puppeteer. Goal is to be very easy to set up, use, and extend, and obey instagram's limits. Heavily inspired by InstaPy, but I thought it was way too heavy and hard to setup.

NEW! 🎉 Now there is a GUI application for those who don't want to code: SimpleInstaBot

Setup

  • First install Node.js 8 or newer.

  • Create a new directory with a file like example.js

  • Adjust your example.js to your needs. If you want to see how it would work without doing any invasive actions, use the dryRun: true option. Toggle headless to see it in action.

  • Open a terminal in the directory

  • Run npm i -g yarn

  • Run yarn add puppeteer instauto

  • Run node example

You can run this code for example once every day using cron or pm2 or similar

See index.js for available options.

Supported functionality

  • Follow the followers of some particular users. (e.g. celebrities.) Parameters like max/min ratio for followers/following can be set.

  • Unfollow users that don't follow us back. Will not unfollow any users that we recently followed.

  • Unfollow auto followed users (also those following us back) after a certain number of days.

  • The code automatically prevents breaching 100 follow/unfollows per hour or 700 per 24hr, to prevent bans. This can be configured.

See example.js for example of features

Tips

  • Run this on a machine with a non-cloud IP to avoid being banned

Troubleshooting

  • If it doesn't work, make sure your instagram language is set to english

Running on Raspberry Pi

Because puppeteer chrome binaries are not provided for RPi, you need to first install chromium using apt.

Then replace your puppeteer launch code:

browser = await puppeteer.launch({
    executablePath: '/usr/bin/chromium-browser',
    headless: true,
    args: ['--disable-features=VizDisplayCompositor'],
});

See also:

Also you might want to install the more lightweight package puppeteer-core instead of puppeteer.

Running with pm2

First install pm2. (npm i -g pm2) Then copy instabot.yml into the same dir as example.js and run:

pm2 start instabot.yml
pm2 save
pm2 startup

Now it will run automatically on reboot! 🙌


Made with ❤️ in 🇳🇴

More apps by mifi.no

Follow me on GitHub, YouTube, IG, Twitter for more awesome content!