All Projects β†’ yatsenkolesh β†’ Instagram Nodejs

yatsenkolesh / Instagram Nodejs

Licence: mit
Simple library for auth, get followers, search by hashtags and locations, like posts, follow, get user feed of instagram with nodejs

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Instagram Nodejs

Instagram User Feed
This is a scrapper to easily fetch any feed and interact with Instagram (like, follow, etc.) without OAuth for PHP.
Stars: ✭ 435 (+78.28%)
Mutual labels:  instagram, instagram-client
Instagram4j
πŸ“· Instagram private API in Java
Stars: ✭ 629 (+157.79%)
Mutual labels:  instagram, instagram-client
Instapy Cli
✨ Python library and CLI to upload photo and video on Instagram. W/o a phone!
Stars: ✭ 498 (+104.1%)
Mutual labels:  instagram, instagram-client
Instagram Java Scraper
Instagram Java Scraper. Get account information, photos, videos and comments.
Stars: ✭ 335 (+37.3%)
Mutual labels:  instagram, instagram-client
Onegram
This repository is no longer maintained.
Stars: ✭ 137 (-43.85%)
Mutual labels:  instagram, instagram-client
Instagramlive Php
A PHP script that allows for you to go live on Instagram with any streaming program that supports RTMP!
Stars: ✭ 362 (+48.36%)
Mutual labels:  instagram, instagram-client
Swiftinstagram
Instagram API client written in Swift
Stars: ✭ 570 (+133.61%)
Mutual labels:  instagram, instagram-client
Instaloader
Download pictures (or videos) along with their captions and other metadata from Instagram.
Stars: ✭ 3,655 (+1397.95%)
Mutual labels:  instagram, instagram-client
Instagram api gem
A Ruby wrapper for the Instagram API
Stars: ✭ 100 (-59.02%)
Mutual labels:  instagram, instagram-client
Igql
Unofficial Instagram GraphQL API to collet data without authentication
Stars: ✭ 80 (-67.21%)
Mutual labels:  instagram, instagram-client
Instahack
Instagram bruteforce tool
Stars: ✭ 265 (+8.61%)
Mutual labels:  instagram, instagram-client
Instagrapi
Fast and effective Instagram Private API wrapper
Stars: ✭ 157 (-35.66%)
Mutual labels:  instagram, instagram-client
InstagramCpp
Instagram REST API client wirtten in C++
Stars: ✭ 24 (-90.16%)
Mutual labels:  instagram-client, instagram
Insgallery
πŸ“Έ Instagram-like image picker for Android (δΈ€ζ¬Ύ UI η‚«ι…·ι«˜δ»Ώ Instagram ηš„ε›Ύη‰‡γ€θ§†ι’‘ι€‰ζ‹©ε™¨)
Stars: ✭ 409 (+67.62%)
Mutual labels:  instagram, instagram-client
insta
Instagram power tool
Stars: ✭ 56 (-77.05%)
Mutual labels:  instagram-client, instagram
Instagram Scraper
Scrapes an instagram user's photos and videos
Stars: ✭ 5,664 (+2221.31%)
Mutual labels:  instagram, instagram-client
Barinsta
Open-source alternative Instagram client on Android.
Stars: ✭ 717 (+193.85%)
Mutual labels:  instagram, instagram-client
Igdm
Desktop application for Instagram DMs
Stars: ✭ 1,880 (+670.49%)
Mutual labels:  instagram, instagram-client
Instagram Php Scraper
Get account information, photos, videos, stories and comments.
Stars: ✭ 2,490 (+920.49%)
Mutual labels:  instagram, instagram-client
Instagram Api Python
Unofficial instagram API, give you access to ALL instagram features (like, follow, upload photo and video and etc)! Write on python.
Stars: ✭ 2,357 (+865.98%)
Mutual labels:  instagram

instagram-nodejs

Auth and get followers on instagram with nodejs

Join us with gitter: https://gitter.im/nodejs-instagram/Library

Important : you must update csrf token and sessionId only if password was changed

To install from npm repository (I recommended use yarn, but you can use npm):

yarn add instagram-nodejs-without-api

You can get instagram followers with next code:

let Instagram = require('instagram-nodejs-without-api');
Instagram = new Instagram()


Instagram.getCsrfToken().then((csrf) =>
{
  Instagram.csrfToken = csrf;
}).then(() =>
{
  return Instagram.auth('inst-your-username', 'inst-your-password').then(sessionId =>
  {
    Instagram.sessionId = sessionId

    return Instagram.getUserDataByUsername('username-for-get').then((t) =>
    {
      return Instagram.getUserFollowers(t.graphql.user.id).then((t) =>
      {
        console.log(t); // - instagram followers for user "username-for-get"
      })
    })

  })
}).catch(console.error);

Follow/unfollow

Inst = new Instagram()

Inst.csrfToken = 'your-csrf'
Inst.sessionId = 'your-session-id'
Inst.follow(3,0) //follow "kevin"
Inst.follow(3, 1) //unfollow "kevin"

Like/unlike

  //get media id by url and like
  Insta.getMediaIdByUrl('https://www.instagram.com/p/BT1ynUvhvaR/').then(r => Insta.like(r).then(d => console.log(d)))
  //get media id by url and unlike
  Insta.getMediaIdByUrl('https://www.instagram.com/p/BT1ynUvhvaR/').then(r => Insta.unlike(r).then(d => console.log(d)))

Get feed

  let pageFirst = Insta.getFeed(10).then(function(t)
  {
    let PageSecond = Insta.getFeed(10, Insta.getFeedNextPage(t)).then(function(t)
    {
      //two page
      console.log(t)
    })
  })

Get user media

  //... auth (look up)
  //for example: get 12 first media entries for "kevin"
  // 0 - if you need to get first page
  // next cursor : r.page_info.end_cursor
  Insta.getUserMedia(3, '0', 12).then(f => console.log(f))

Get media by hashtags and locations

  Insta.commonSearch('Kyiv').then(r =>
  {
    //get location id for Kyiv
    let locationId = r.places[0].place.location['pk']
    //search posts from Kyiv
    Insta.searchBy('location', locationId, '0', 12).then(r => console.log(r))
  })
  //search posts by hashtag "Eurovision"
  Insta.searchBy('hashtag', 'Eurovision').then(r => console.log(r))

When you pass items counter param instagram create pagination tokens on all iterations and gives on every response end_cursor, which the need to pass on next feed request

You can get user id with Inst.getUserDataByUsername() method

Star this repository on github, please. Thank you

Tests

You must define a .env file with username and password of the instagram login. (see .env.example)

npm test

yarn test

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].