🔥 Fastest & Simplest Python Package For Instagram Automation
Project description
Ensta - Free Instagram API
Ensta uses a combination of Instagram's Web API & Mobile API making it a reliable choice over other third-party libraries. Also unlike other libraries, ensta always stays up-to-date.
Both authenticated & anonymous requests are supported.
🌟 Just a minute!
Ensta is still in it's early stages and needs your support. Please do give this repository a star. Thank you!
Installation
$ pip install ensta
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 (TOTP)
from ensta import Host
host = Host(username, password, totp_token=token)
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.
🕰️ Upcoming Features
- Direct Messaging
- Fetch & Post Stories
- Register New Accounts
Basic Usage
Host Class (Authenticated)
Requires login through username & password.
from ensta import Host
host = Host(username, password)
profile = host.profile("leomessi")
print(profile.biography)
Guest Class (Non-Authenticated)
Doesn't require login, but has limited features.
from ensta import Guest
guest = Guest()
profile = guest.profile("leomessi")
print(profile.biography)
Discord Community
Ask questions, discuss upcoming features and meet other developers.
Contributors
Legal
This is a third party library and not associated with Instagram. We're strictly against spam. You are liable for all the actions you take.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ensta-5.0.4.3.tar.gz
.
File metadata
- Download URL: ensta-5.0.4.3.tar.gz
- Upload date:
- Size: 26.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 208bd617c078a338bf66b8894a6bedd7d4346b9f412255c5970108be1e7db6ba |
|
MD5 | 4de5290071da353476aa032ff21179f9 |
|
BLAKE2b-256 | ab489f8e66f6ff253a3a2edb990bb8a3d32c07373775480cfa9ce382d33ff04e |
Provenance
File details
Details for the file ensta-5.0.4.3-py3-none-any.whl
.
File metadata
- Download URL: ensta-5.0.4.3-py3-none-any.whl
- Upload date:
- Size: 31.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 578cb8d1974dba292494c45edcecd4f38380287376194f7ab34862f5f4466bb0 |
|
MD5 | 03f5b9f103a8d55c898648990c988c6d |
|
BLAKE2b-256 | 6e70364e9d17fb09311089c526263943691aa0a927818588f016049d0fab57e1 |