Features:
- Getting public data of user, posts, stories, highlights, followers and following users
- Getting public email and phone number, if the user specified them in his business profile
- Getting public data of post, story, album, Reels, IGTV data and the ability to download content
- Getting public data of hashtag and location data, as well as a list of posts for them
- Getting public data of all comments on a post and a list of users who liked it
- Management of proxy servers, mobile devices and challenge resolver
- Login by username and password, sessionid and support 2FA
- Managing messages and threads for Direct and attach files
- Download and upload a Photo, Video, IGTV, Reels, Albums and Stories
- Work with Users, Posts, Comments, Insights, Collections, Location and Hashtag
- Insights by account, posts and stories
- Like, following, commenting, editing account (Bio) and much more else
Fast and effective Instagram Private API wrapper (public+private requests and challenge resolver) without selenium. Use the most recent version of the API from Instagram, which was obtained using reverse-engineering with Charles Proxy and Proxyman.
Instagram API valid for 28 June 2023 (last reverse-engineering check)
Support Python >= 3.9
For any other languages (e.g. C++, C#, F#, D, Golang, Erlang, Elixir, Nim, Haskell, Lisp, Closure, Julia, R, Java, Kotlin, Scala, OCaml, JavaScript, Crystal, Ruby, Rust, Swift, Objective-C, Visual Basic, .NET, Pascal, Perl, Lua, PHP and others), I suggest using instagrapi-rest
Support Chat in Telegram and GitHub Discussions
- Performs Web API or Mobile API requests depending on the situation (to avoid Instagram limits)
- Login by username and password, including 2FA and by sessionid (and uses Authorization header instead Cookies)
- Challenge Resolver have Email and SMS handlers
- Support upload a Photo, Video, IGTV, Reels, Albums and Stories
- Support work with User, Media, Comment, Insights, Collections, Location (Place), Hashtag and Direct Message objects
- Like, Follow, Edit account (Bio) and much more else
- Insights by account, posts and stories
- Build stories with custom background, font animation, link sticker and mention users
- In the next release, account registration and captcha passing will appear
pip install instagrapi
from instagrapi import Client
cl = Client()
cl.login(ACCOUNT_USERNAME, ACCOUNT_PASSWORD)
user_id = cl.user_id_from_username(ACCOUNT_USERNAME)
medias = cl.user_medias(user_id, 20)
Additional example
from instagrapi import Client
from instagrapi.types import StoryMention, StoryMedia, StoryLink, StoryHashtag
cl = Client()
cl.login(USERNAME, PASSWORD, verification_code="<2FA CODE HERE>")
media_pk = cl.media_pk_from_url('https://www.instagram.com/p/CGgDsi7JQdS/')
media_path = cl.video_download(media_pk)
subzeroid = cl.user_info_by_username('subzeroid')
hashtag = cl.hashtag_info('dhbastards')
cl.video_upload_to_story(
media_path,
"Credits @subzeroid",
mentions=[StoryMention(user=subzeroid, x=0.49892962, y=0.703125, width=0.8333333333333334, height=0.125)],
links=[StoryLink(webUri='https://github.com/subzeroid/instagrapi')],
hashtags=[StoryHashtag(hashtag=hashtag, x=0.23, y=0.32, width=0.5, height=0.22)],
medias=[StoryMedia(media_pk=media_pk, x=0.5, y=0.5, width=0.6, height=0.8)]
)
- Index
- Getting Started
- Usage Guide
- Interactions
Media
- Publication (also called post): Photo, Video, Album, IGTV and ReelsResource
- Part of Media (for albums)MediaOembed
- Short version of MediaAccount
- Full private info for your account (e.g. email, phone_number)TOTP
- 2FA TOTP helpers (generate seed, enable/disable TOTP, generate code as Google Authenticator)User
- Full public user dataUserShort
- Short public user data (used in Usertag, Comment, Media, Direct Message)Usertag
- Tag user in Media (coordinates + UserShort)Location
- GEO location (GEO coordinates, name, address)Hashtag
- Hashtag object (id, name, picture)Collection
- Collection of medias (name, picture and list of medias)Comment
- Comments to MediaHighlight
- HighlightsNotes
- NotesStory
- StoryStoryLink
- Link StickerStoryLocation
- Tag Location in Story (as sticker)StoryMention
- Mention users in Story (user, coordinates and dimensions)StoryHashtag
- Hashtag for story (as sticker)StorySticker
- Tag sticker to story (for example from giphy)StoryBuild
- StoryBuilder return path to photo/video and mention co-ordinatesDirectThread
- Thread (topic) with messages in Direct MessageDirectMessage
- Message in Direct MessageInsight
- Insights for a postTrack
- Music track (for Reels/Clips)
- Best Practices
- Development Guide
- Handle Exceptions
- Challenge Resolver
- Exceptions
To release, you need to call the following commands:
python setup.py sdist
twine upload dist/*