Skip to main content

🔥 Fastest & Simplest Python Package For Instagram Automation

Project description

Ensta - Free Instagram API

PyPI PyPI - Python Version Downloads

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 & non-authenticated requests are supported.

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? Please raise an issue.

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)

Learn to use ensta

Discord Community

Ask questions, discuss upcoming features and meet other developers.

Support Ensta

To support ensta's development, please consider buying a coffee here:

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

ensta-5.0.6.tar.gz (26.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ensta-5.0.6-py3-none-any.whl (31.7 kB view details)

Uploaded Python 3

File details

Details for the file ensta-5.0.6.tar.gz.

File metadata

  • Download URL: ensta-5.0.6.tar.gz
  • Upload date:
  • Size: 26.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for ensta-5.0.6.tar.gz
Algorithm Hash digest
SHA256 b32b33c0ceb3d71f298c03c7b128ba1f198caf69ad1399b26aa0a584c7838756
MD5 7e0c3e5058446d80df8d7634d976c232
BLAKE2b-256 0d0a526c27f6d5d9f22c4f4fbd7c0d18e06197fd6e0c783d8abc635aee4297b4

See more details on using hashes here.

File details

Details for the file ensta-5.0.6-py3-none-any.whl.

File metadata

  • Download URL: ensta-5.0.6-py3-none-any.whl
  • Upload date:
  • Size: 31.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.18

File hashes

Hashes for ensta-5.0.6-py3-none-any.whl
Algorithm Hash digest
SHA256 fae57943763dccffea5898c4443542debe4b12405729a91662bd3b8ee0931fb6
MD5 da29f7882bb4cc5ec984ab0d4e67905a
BLAKE2b-256 7be82b653e52bd9f12be767f0ea19579429e14163417486a2590dfdd3ba1c8e5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page