Skip to main content

🔥 Fastest & Simplest Python Package For Instagram Automation

Project description

Ensta - Free Instagram API

PyPI PyPI - Python Version Downloads Twitter Share

Ensta uses Instagram's Internal Web API for data scraping which makes it a reliable choice over other third-party libraries. Also unlike other libraries, ensta always remains up-to-date.

Two type of classes are supported - Guest & Host.

Installation

Run this command:

$ pip install ensta --upgrade

Supported Actions

You can do a lot with ensta, here's some code:

Username, Password & SessionID Login

Login using Username & Password:

from ensta import Host

host = Host(username, password)

Login using SessionID:

from ensta import BaseHost

host = BaseHost(session_id)
Upload Posts
from ensta import Host

host = Host(username, password)

host.upload_post(
    photo_path="Picture.jpg",
    caption="Travelling 🌆",
)
Upload Reels
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)
Convert Username to UID, 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 Posts
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)
    
    ...
Fetch Data of Individual Post
from ensta import Host

host = Host(username, password)
post = host.post("https://www.instagram.com/p/Czgyw07t_c3/")

print(post.caption_text)
print(post.like_count)

...
Like/Unlike Posts
...

post.like()
post.unlike()
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.

Host Mode

Requires login through Username/Password or SessionId. Can fetch data that requires login. Can update your profile info.

from ensta import Host

host = Host(username, password)

print(host.profile("leomessi"))
print(host.follow("leomessi"))
print(host.change_bio("hello"))

Guest Mode

Doesn't require login but is limited to certain actions.

from ensta import Guest

guest = Guest()

print(guest.profile("leomessi"))
print(guest.get_uid("leomessi"))
print(guest.username_availability("nevergiveup"))

❤️ Donate

Want to keep this project going? Please consider donating:

Legal

This is a third-party package, and not associated with Instagram. It doesn't promote activities that violate Instagram's Community Guidelines such as spamming users, misusing data etc. You are solely responsible for all the actions you take using this package.

Project details


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.1.tar.gz (20.0 kB view details)

Uploaded Source

Built Distribution

ensta-5.0.1-py3-none-any.whl (23.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: ensta-5.0.1.tar.gz
  • Upload date:
  • Size: 20.0 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.1.tar.gz
Algorithm Hash digest
SHA256 74f43450861fb312e3783173999a74a6f735e3d1637d4ced4bcdd3a16c7097f6
MD5 e0320572a61d676cc315908aae0c2914
BLAKE2b-256 6f08d4393b02f3212fd14b014489a131f7a04f8ac6e79a95099ef18e349fa303

See more details on using hashes here.

Provenance

File details

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

File metadata

  • Download URL: ensta-5.0.1-py3-none-any.whl
  • Upload date:
  • Size: 23.2 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6ae8facb725d3ed4b4020b645952ff7c49de1adbf2bd28c9d248bfbfdca74b6d
MD5 20c3dd51394b96c0d80245a858ad6bed
BLAKE2b-256 243612cd2eee24340257cb787656503aa17cb142026a5bdfd966b5a8e8c4e0ff

See more details on using hashes here.

Provenance

Supported by

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