Releases: diezo/Ensta
Ensta v5.0.8 - Stable
What's new?
- Now, users can also log in with their email instead of username in Host Class.
- Added SMS 2FA Support
- Ensta now uses cryptography instead of pycryptodome.
- Added support for 2FA while logging in.
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password) # Email can also be used2FA Login
Authenticator App
from ensta import Host
# The key you got from Instagram when setting up your Authenticator App
key = "R65I7XTTHNHTQ2NKMQL36NCWKNUPBSDG"
host = Host(
username, # or email
password,
totp_token=key
)SMS Based
No need to configure anything. Ensta will automatically ask for SMS OTP in the runtime.
Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Please raise an issue.
Ensta v5.0.7 - Stable
What's new?
- Added SMS 2FA Support
- Ensta now uses cryptography instead of pycryptodome.
- Added support for 2FA while logging in.
- Improved several error messages.
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password)2FA Login
from ensta import Host
host = Host(username, password, totp_token=token)If you've enabled SMS 2FA, you'll be automatically prompted for OTP when you run your code.
Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Please raise an issue.
Ensta v5.0.6 - Stable
What's new?
- Added SMS 2FA Support
- Ensta now uses cryptography instead of pycryptodome.
- Added support for 2FA while logging in.
- Improved several error messages.
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password)2FA Login
from ensta import Host
host = Host(username, password, totp_token=token)If you've enabled SMS 2FA, you'll be automatically prompted for OTP when you run your code.
Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Please raise an issue.
Ensta v5.0.5 - Stable
What's new?
- Ensta now uses cryptography instead of pycryptodome.
- Added support for 2FA while logging in.
- Improved several error messages.
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password)Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Raise an issue.
Ensta v5.0.4.3 - Stable
What's new?
- Ensta now uses cryptography instead of pycryptodome.
- Added support for 2FA while logging in.
- Improved several error messages.
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password)Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Raise an issue.
Ensta v5.0.4.2 - Stable
What's new?
- Added support for 2FA while logging in.
- Improved several error messages.
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password)Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Raise an issue.
Ensta v5.0.4.1 - Stable
What's new?
- Improved Error Message: When following users using the
follow()method, you are now notified about being rate limited by Instagram, if so. - Improved Error Message: When logging in, you now get notified about unsuccessful login because of 2FA and weak password.
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password)Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Raise an issue.
Ensta v5.0.4.0 - Stable
What's new?
- Improved Error Message: When following users using the
follow()method, you are now notified about being rate limited by Instagram, if so.
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password)Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Raise an issue.
Ensta v5.0.3.9 - Stable
What's new?
- Bug Fix: Previously while logging in, you would receive an email saying "New login from
Python Requests". This issue has been fixed in this release and is replaced with Google Chrome's User-Agent.
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password)Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Raise an issue.
Ensta v5.0.3.8 - Stable
Supported Actions
Tap on the headings to view code:
Proxy Support
from ensta import Host
host = Host(username, password, proxy={"http": "http://1.2.3.4", "https": "https://1.2.3.4"})Username Password Login
from ensta import Host
host = Host(username, password)Upload Photo (Single Post)
from ensta import Host
host = Host(username, password)
upload = host.get_upload_id("Picture.jpg")
host.upload_photo(upload, caption="Travelling 🌆")Upload Multiple Photos (Single Post)
from ensta import Host
host = Host(username, password)
upload1 = host.get_upload_id("First.jpg")
upload2 = host.get_upload_id("Second.jpg")
upload3 = host.get_upload_id("Third.jpg")
host.upload_photos([upload1, upload2, upload3], caption="Travelling 🌆")Upload Reel
from ensta import Host
host = Host(username, password)
host.upload_reel(
video_path="Video.mp4",
thumbnail_path="Thumbnail.jpg",
caption="Enjoying the winter! ⛄"
)Check Username Availability
from ensta import Guest
guest = Guest()
print(guest.username_availability("theusernameiwant"))Fetch Profile Data
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.full_name)
print(profile.biography)
print(profile.follower_count)Username to UserID, and vice versa.
from ensta import Host
host = Host(username, password)
username = host.get_username(427553890)
uid = host.get_uid("leomessi")
print(username, uid)Follow / Unfollow Users
from ensta import Host
host = Host(username, password)
print(host.follow("leomessi"))
print(host.unfollow("leomessi"))Generate Followers / Followings List
from ensta import Host
host = Host(username, password)
followers = host.followers("leomessi", count=100) # Want full list? Set count to '0'
followings = host.followings("leomessi", count=100) # Want full list? Set count to '0'
for user in followers:
print(user.username)
for user in followings:
print(user.username)Switch Account Type - Public/Private
from ensta import Host
host = Host(username, password)
print(host.switch_to_public_account())
print(host.switch_to_private_account())Fetch Someone's Feed
from ensta import Host
host = Host(username, password)
posts = host.posts("leomessi", 100) # Want full list? Set count to '0'
for post in posts:
print(post.caption_text)
print(post.like_count) Add Comment on Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.comment("Looks great!", post_id)Like/Unlike Posts
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
host.like(post_id)
host.unlike(post_id)Fetch Post's Likers
from ensta import Host
host = Host(username, password)
post_id = host.get_post_id("https://www.instagram.com/p/Czr2yLmroCQ/")
likers = host.likers(post_id)
for user in likers.users:
print(user.username)
print(user.profile_picture_url)Edit Biography, Display Name
from ensta import Host
host = Host(username, password)
host.change_display_name("Lionel Messi")
host.change_bio("Athlete")Fetch Your Email, Gender, Birthday, etc.
from ensta import Host
host = Host(username, password)
me = host.private_info()
print(me.email)
print(me.gender)
print(me.birthday)Any missing feature? Raise an issue.