ping / Instagram_private_api_extensions
Licence: mit
An extension module to https://github.com/ping/instagram_private_api
Stars: β 97
Programming Languages
python
139335 projects - #7 most used programming language
Labels
Projects that are alternatives of or similar to Instagram private api extensions
Instagramapisharp
A complete Private Instagram API for .NET (C#, VB.NET).
Stars: β 486 (+401.03%)
Mutual labels: instagram-api, instagram
Instagram4j
π· Instagram private API in Java
Stars: β 629 (+548.45%)
Mutual labels: instagram-api, instagram
Instapy Cli
β¨ Python library and CLI to upload photo and video on Instagram. W/o a phone!
Stars: β 498 (+413.4%)
Mutual labels: instagram-api, instagram
Jinstagram
A Java library for the Instagram API.
Stars: β 382 (+293.81%)
Mutual labels: instagram-api, instagram
Instagram Api Toolkit
Instagram Private API generator toolkit - A single source of truth for generated SDKs
Stars: β 48 (-50.52%)
Mutual labels: instagram-api, instagram
Swiftinstagram
Instagram API client written in Swift
Stars: β 570 (+487.63%)
Mutual labels: instagram-api, instagram
Osintgram
Osintgram is a OSINT tool on Instagram. It offers an interactive shell to perform analysis on Instagram account of any users by its nickname
Stars: β 312 (+221.65%)
Mutual labels: instagram-api, instagram
Gatsby Source Instagram All
βοΈπΈ Gatsby source plugin for fetching all your instagram posts
Stars: β 42 (-56.7%)
Mutual labels: instagram-api, instagram
Goinsta
Unofficial Instagram API written in Golang
Stars: β 733 (+655.67%)
Mutual labels: instagram-api, instagram
Instagramlive Php
A PHP script that allows for you to go live on Instagram with any streaming program that supports RTMP!
Stars: β 362 (+273.2%)
Mutual labels: instagram-api, instagram
Igql
Unofficial Instagram GraphQL API to collet data without authentication
Stars: β 80 (-17.53%)
Mutual labels: instagram-api, instagram
Instagram Java Scraper
Instagram Java Scraper. Get account information, photos, videos and comments.
Stars: β 335 (+245.36%)
Mutual labels: instagram-api, instagram
Instagram User Feed
This is a scrapper to easily fetch any feed and interact with Instagram (like, follow, etc.) without OAuth for PHP.
Stars: β 435 (+348.45%)
Mutual labels: instagram-api, instagram
Instafeed.js
A simple Instagram JavaScript plugin for your website
Stars: β 3,376 (+3380.41%)
Mutual labels: instagram-api, instagram
Instagram Scraper
Scrapes an instagram user's photos and videos
Stars: β 5,664 (+5739.18%)
Mutual labels: instagram-api, instagram
Instamancer
Scrape Instagram's API with Puppeteer
Stars: β 273 (+181.44%)
Mutual labels: instagram-api, instagram
Ig Monitoring
π¨ DISCONTINUEDπ¨ IGMonitoring - Free, self hosted Instagram Analytics and Stats
Stars: β 283 (+191.75%)
Mutual labels: instagram-api, instagram
Socialmanagertools Igbot
π€ π· Instagram Bot made with love and nodejs
Stars: β 699 (+620.62%)
Mutual labels: instagram-api, instagram
Personal Influxdb
Import data from various APIs into InfluxDB
Stars: β 51 (-47.42%)
Mutual labels: instagram-api, instagram
Instagram Private API Extensions
An extension module to instagram_private_api to help with common tasks such as posting a photo or video.
Features
-
media
: Edits a photo/video so that it complies with Instagram's requirements by:- Resizing
- Cropping to fit the minimum/maximum aspect ratio
- Generating the video thumbnail image
- Clipping the video duration if it is too long
- Changing the format/encoding
-
pagination
: Page through an api call such asapi.user_feed()
. -
live
: Download an ongoing IG live stream. Requires ffmpeg installed. -
replay
: Download an IG live replay stream. Requires ffmpeg installed.
Documentation
Documentation is available at https://instagram-private-api-extensions.readthedocs.io/en/latest/
Install
Install with pip using
pip install git+https://[email protected]/ping/[email protected]
To update:
pip install git+https://[email protected]/ping/[email protected] --upgrade
To update with latest repo code:
pip install git+https://[email protected]/ping/instagram_private_api_extensions.git --upgrade --force-reinstall
Usage
Media
from instagram_private_api import Client, MediaRatios
from instagram_private_api_extensions import media
api = Client('username', 'password')
# post a photo
photo_data, photo_size = media.prepare_image(
'pathto/my_photo.jpg', aspect_ratios=MediaRatios.standard)
api.post_photo(photo_data, photo_size, caption='Hello World!')
# post a video
vid_data, vid_size, vid_duration, vid_thumbnail = media.prepare_video(
'pathto/my_video.mp4', aspect_ratios=MediaRatios.standard)
api.post_video(vid_data, vid_size, vid_duration, vid_thumbnail)
# post a photo story
photo_data, photo_size = media.prepare_image(
'pathto/my_photo.jpg', aspect_ratios=MediaRatios.reel)
api.post_photo_story(photo_data, photo_size)
# post a video story
vid_data, vid_size, vid_duration, vid_thumbnail = media.prepare_video(
'pathto/my_video.mp4', aspect_ratios=MediaRatios.reel)
api.post_video_story(vid_data, vid_size, vid_duration, vid_thumbnail)
# post a video without reading the whole file into memory
vid_saved_path, vid_size, vid_duration, vid_thumbnail = media.prepare_video(
'pathto/my_video.mp4', aspect_ratios=MediaRatios.standard,
save_path='pathto/my_saved_video.mp4', save_only=True)
# To use save_only, the file must be saved locally
# by specifying the save_path
with open(vid_saved_path, 'rb') as video_fp:
api.post_video(video_fp, vid_size, vid_duration, vid_thumbnail)
Pagination
from instagram_private_api_extensions import pagination
# page through a feed
items = []
for results in pagination.page(api.user_feed, args={'user_id': '123456'}):
if results.get('items'):
items.extend(results['items'])
print(len(items))
Live
from instagram_private_api_extensions import live
broadcast = api.broadcast_info('1234567890')
dl = live.Downloader(
mpd=broadcast['dash_playback_url'],
output_dir='output_{}/'.format(broadcast['id']),
user_agent=api.user_agent)
try:
dl.run()
except KeyboardInterrupt:
if not dl.is_aborted:
dl.stop()
finally:
# combine the downloaded files
# Requires ffmpeg installed. If you prefer to use avconv
# for example, omit this step and do it manually
dl.stitch('my_video.mp4')
Replay
from instagram_private_api_extensions import replay
user_story_feed = api.user_story_feed('12345')
broadcasts = user_story_feed.get('post_live_item', {}).get('broadcasts', [])
for broadcast in broadcasts:
dl = replay.Downloader(
mpd=broadcast['dash_manifest'],
output_dir='output_{}/'.format(broadcast['id']),
user_agent=api.user_agent)
# download and save to file
dl.download('output_{}.mp4'.format(broadcast['id']))
Support
Make sure to review the contributing documentation before submitting an issue report or pull request.
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].