A Instagram Private Web API client 📷🔥 ❤️
Simple, easy implementation of the Instagram private web API.
Some API reference from jlobos/instagram-web-api
Send DM using client from dilame/instagram-private-api
Install
npm install fast-insta-api
Usage
//send dm by username
const Insta = require('node-insta-web-api')
const InstaClient = new Insta();
(async () => {
//required username & password for login
const username = '';
const password = '';
const usernameReceiver = ['username target'];
const message = 'text message';
const result = await InstaClient.sendDmByUsername(username, password, usernameReceiver, message);
console.log(result)
})()
//get profile data
const Insta = require('node-insta-web-api')
const InstaClient = new Insta();
(async () => {
await InstaClient.login('username','password');
const profileData = await InstaClient.getProfileData();
console.log(profileData)
})()
//get image by username
const Insta = require('node-insta-web-api')
const InstaClient = new Insta();
(async () => {
await Insta.getCookie()
const photos = await Insta.getImageByUser('username');
console.log(photos)
})()
//update bio using existing cookies
const Insta = require('node-insta-web-api')
const InstaClient = new Insta();
(async () => {
await InstaClient.useExistingCookie()
const payload = {
biography: 'test update bio 1'
}
const result = await InstaClient.updateProfile(payload)
console.log(result)
})()
//get following with pagination using existing cookie
await InstaClient.useExistingCookie();
const dataUser = await InstaClient.getProfileByUsername('amin_udin69');
let following;
let hasNextPage;
let endCursor = '';
const resultAllFollowing = [];
do{
following = await InstaClient.getFollowingByDataUser(dataUser, 12, endCursor);
hasNextPage = following.page_info.has_next_page;
endCursor = following.page_info.end_cursor;
for (let index = 0; index < following.edges.length; index++) {
const element = following.edges[index];
resultAllFollowing.push(element.node)
}
}while(hasNextPage);
console.log(resultAllFollowing)
API Reference
- Instagram
- .getCookie()
- ._getMediaId(url)
- .useExistingCookie()
- .login(username, password)
- .getProfileData()
- .changeProfileImage(image)
- .getImageByUser(username)
- .getVideoByShortCode(shortCode)
- .getLoginActivity()
- .getRecentNotification()
- .getDirectMessage()
- .getProfileByUsername(username)
- .followByUsername(username)
- .unfollowByUsername(username)
- .getStoriesByUsername(username)
- .likeMediaById(mediaId)
- .likeMediaByShortCode(shortCode)
- .unlikeMediaByShortCode(shortCode)
- .deleteMediaByShortCode(shortCode)
- .saveImageByShortCode(shortCode)
- .unsaveImageByShortCode(shortCode)
- .commentToMediaByMediaId({shortCode, commentText})
- .commentToMediaByShortCode({shortCode, commentText})
- .replyCommentByShortCode({shortCode, commentText, commentId})
- .getEmbedMediaByShortCode(shortCode)
- .getMediaFeedByHashtag(name)
- .getUserPostById(userId)
- .findPeopleByUserId(userid)
- .findPeopleByUsername(username)
- .addPost(image, caption)
- .addStory(image)
- .getFollowingByDataUser(dataUser, size, cursor)
- .sendDmByUsername(username, password, usernameReceiver, message)
- .sendConfirmationEmail()
getCookie()
await client.getCookie()
getting guest cookie
_getMediaId(url)
await client._getMediaId('https://www.instagram.com/p/CDFIAxxxxx/')
getting media id by url
useExistingCookie()
await client.useExistingCookie()
u can use existing cookies, if you don't want to log in repeatedly
login(username, password)
await client.login('username', 'password')
Login.
username
: A String
password
: A String
getProfileData()
await InstaClient.login('username','password');
const profileData = await InstaClient.getProfileData();
console.log(profileData)
Getting profile data.
changeProfileImage(image)
await InstaClient.login('username','password');
await InstaClient.changeProfileImage('url')
await InstaClient.login('username','password');
const photo = path.join(__dirname, 'blackhat.png');
await InstaClient.changeProfileImage(photo)
Change Profile Image.
image
: A String
url / image path
updateProfile(params)
const payload = {
biography: 'test update bio 1',
email: 'update@email.com'
}
const a = await InstaClient.updateProfile(payload)
console.log(a)
update profile. for now you can only update your bio.
params
biography
: A String
email
: A String
getImageByUser(params)
await client.getImageByUser('username')
Gets user photos.
getVideoByShortCode(shortCode)
const data = await InstaClient.getVideoByShortCode('CDDs8unBjXX');
fs.writeFileSync('./test.mp4', data.base64, 'base64')
console.log(data)
Get video base64 and buffer by short code.
getLoginActivity()
await InstaClient.useExistingCookie()
const data = await InstaClient.getLoginActivity();
console.log(data)
get login activity.
getRecentNotification()
await InstaClient.useExistingCookie()
const data = await InstaClient.getRecentNotification();
console.log(data)
get recent notification.
getDirectMessage()
await InstaClient.useExistingCookie()
const data = await InstaClient.getDirectMessage();
console.log(data)
get direct message.
getProfileByUsername(username)
await InstaClient.getCookie()
const data = await InstaClient.getProfileByUsername('username');
console.log(data)
get profile user.
followByUsername(username)
await InstaClient.useExistingCookie()
const data = await InstaClient.followByUsername('username');
console.log(data)
follow user by username.
unfollowByUsername(username)
await InstaClient.useExistingCookie()
const data = await InstaClient.unfollowByUsername('username');
console.log(data)
unfollow user by username.
getStoriesByUsername(username)
await InstaClient.useExistingCookie()
const data = await InstaClient.getStoriesByUsername('username');
console.log(data)
get stories by username.
likeMediaById(mediaId)
await InstaClient.useExistingCookie()
const data = await InstaClient.likeMediaById(00000);
console.log(data)
like media by media id
likeMediaByShortCode(shortCode)
await InstaClient.useExistingCookie()
const data = await InstaClient.likeMediaByShortCode('CDFIAQtHUxxxx');
console.log(data)
like media by shortcode
unlikeMediaByShortCode(shortCode)
await InstaClient.useExistingCookie()
const data = await InstaClient.unlikeMediaByShortCode('CDFIAQtHUxxxx');
console.log(data)
unlike media by shortcode
deleteMediaByShortCode(shortCode)
await InstaClient.useExistingCookie()
const data = await InstaClient.deleteMediaByShortCode('CDFIAQtHUxxxx');
console.log(data)
delete media by shortcode
saveImageByShortCode(shortCode)
await InstaClient.useExistingCookie()
const data = await InstaClient.saveImageByShortCode('CDFIAQtHUxxxx');
console.log(data)
save media by shortcode
unsaveImageByShortCode(shortCode)
await InstaClient.useExistingCookie()
const data = await InstaClient.unsaveImageByShortCode('CDFIAQtHUxxxx');
console.log(data)
save media by shortcode
await InstaClient.useExistingCookie()
const payload = {
mediaId: 100000,
commentText: 'Your Text Comment'
}
const data = await InstaClient.commentToMediaByMediaId(payload);
console.log(data)
add comment to a media by shortcode
params
mediaId
: A Number
commentText
: A String
await InstaClient.useExistingCookie()
const payload = {
shortCode:'CDFIAQxxxx',
commentText: 'Your Text Comment'
}
const data = await InstaClient.commentToMediaByShortCode(payload);
console.log(data)
add comment to a media by shortcode
params
shortCode
: A String
commentText
: A String
await InstaClient.useExistingCookie()
const payload = {
shortCode:'CDFIAQtxxxx',
commentText: '%40username reply comment',
commentId: '17870873200867xxx'
}
const data = await InstaClient.replyCommentByShortCode(payload);
console.log(data)
reply comment in media by shortcode
params
shortCode
: A String
commentText
: A String
commentId
: A String
getEmbedMediaByShortCode(shortCode)
await InstaClient.useExistingCookie()
const data = await InstaClient.getEmbedMediaByShortCode('CDFIAQtHUiw');
console.log(data)
get embed media by shortCode
getMediaFeedByHashtag(name)
await InstaClient.useExistingCookie()
const data = await InstaClient.getMediaFeedByHashtag('berita');
console.log(data)
get post by hastag
getUserPostById(userId)
await InstaClient.useExistingCookie()
const data = await InstaClient.getUserPostById(00000);
console.log(data)
get post by user id
findPeopleByUserId(userid)
await InstaClient.useExistingCookie()
const data = await InstaClient.findPeopleByUserId(00000);
console.log(data)
find people by userid
findPeopleByUsername(username)
await InstaClient.useExistingCookie()
const data = await InstaClient.findPeopleByUsername('menjadi');
console.log(data)
find people by username
addPost(image, caption)
const photo = path.join(__dirname, '3.jpeg');
await InstaClient.useExistingCookie();
const resultAddPost = await InstaClient.addPost(photo, 'this is caption');
console.log(resultAddPost)
add post to feed
image
: A String
path of imagecaption
: A String
addStory(image)
const photo = path.join(__dirname, '3.jpeg');
await InstaClient.useExistingCookie();
const resultAddStory = await InstaClient.addStory(photo);
console.log(resultAddStory)
add story
image
: A String
path of image
getFollowingByDataUser(dataUser, size, cursor)
await InstaClient.useExistingCookie();
const dataUser = await InstaClient.getProfileByUsername('amin_udin69');
let following;
let hasNextPage;
let endCursor = '';
const resultAllFollowing = [];
do{
following = await InstaClient.getFollowingByDataUser(dataUser, 12, endCursor);
hasNextPage = following.page_info.has_next_page;
endCursor = following.page_info.end_cursor;
for (let index = 0; index < following.edges.length; index++) {
const element = following.edges[index];
resultAllFollowing.push(element.node)
}
}while(hasNextPage);
console.log(resultAllFollowing)
get following by data user
dataUser
: A Object
data usersize
: A Number
size per pagecursor
: A String
end cursor
sendDmByUsername(username, password, usernameReceiver, message)
const username = '';
const password = '';
const usernameReceiver = ['username target'];
const message = 'text message';
const result = await InstaClient.sendDmByUsername(username, password, usernameReceiver, message);
console.log(result)
send dm
username
: A String
username for loginpassword
: A String
password for loginusernameReceiver
: A Array
list username receiver message/dmmessage
: A String
text message
sendConfirmationEmail()
await InstaClient.useExistingCookie();
const sendConfirmationEmailResult = await InstaClient.sendConfirmationEmail();
console.log(sendConfirmationEmailResult)
License
MIT © Archv Id