A simple, Promise-based NodeJS web API for Instagram
npm install fusia
or
yarn add fusia
const Fusia = require('fusia');
let fusia = new Fusia({/* options */});
const Fusia = require("fusia");
let fusia = new Fusia({ username: "", password: "", debug: true });
(async () => {
try {
await fusia.login();
console.log(fusia.userId);
let feed = await fusia.userFeed({ userId: fusia.userId });
console.log(feed);
let followings = await fusia.userFollowings({ userId: fusia.userId });
console.log(followings);
await fusia.logout();
} catch (error) {
console.log(error);
}
})();
new Fusia({options})
options
(object): All options are optionalusername
(string): username for accountpassword
(string): password for accountdebug
(boolean, defaultfalse
): whether to print out debug information
isLoggedIn()
- Checks if user is logged inlogin()
- Login with supplied username and passworlogout()
- Logout of account
Most methods require login. =
denotes optional parameters. For example, cursor
and count
can be ignored.
-
fetchUser({username, raw = false})
- Fetch profile information. raw returns unparsed data. -
timelineFeed({ count = 12, cursor = null })
- Get logged-in user's timeline feed. -
taggedUserFeed({ userId, count = 12, cursor = null })
- Get the tagged feed for the specified user ID -
userFeed({ userId, count = 12, cursor = null })
- Get user feed -
mediaInfo({ shortCode })
- Get information about the media. -
mediaComments({ shortCode, count = 16, cursor = null })
- Get media comments. Login Required -
mediaLikers({ shortCode, count = 24, cursor = null })
- Get media likers. -
userFollowings({ userId, count = 10, cursor })
- Get user's followings. -
userFollowers({ userId, count = 10, cursor })
- Get user's followers. -
follow({ id, isFollow = true })
- Follow or unfollow userId. -
editProfile(opts)
- Edit Profile with given information.first_name: "", email: "", username: "", phone_number: "", gender: null, biography: "", external_url: ""
-
updateProfilePicture(img)
- Upload profile image.img
is the absolute path of the image on your server -
like(id, isLike = true)
- Like or unlike a media -
upload({img, caption = ""})
- Upload media with caption -
deletePost(mediaId)
- Delete post from your profile -
deleteComment({mediaId, commentId})
- Delete comment from supplied mediaId -
postComment({ mediaId, commentText })
- Post new comment on media -
search(text)
- Do a general search on Instagram -
searchTagFeed({ tag, count = 16, cursor = null })
- Search for feeds with given tag -
searchLocationFeed({ locationId, count = 16, cursor = null })
- Search for feeds with given location id -
getTagStoryFeed(tag_names)
- Get the stories feed for the specified tag -
getLocationStoryFeed(location_ids)
- Get the stories feed for the specified location ID
MIT - Shaun (2019)