Skip to main content

Python library and cli used to upload photo on Instagram. W/o a phone!

Project description

instapy-cli :zap:

Publish photos and videos (NEW!) on Instagram, without a phone! You can upload posts and even stories on Instagram. You can upload a local file or use a link, it does everything for you automagically.

instapy-cli instagram-private-api

Build Status instapy-cli version Build Status MIT license

GitHub issues GitHub forks GitHub stars


There are plenty of libraries written in Python specialized on working on Instagram APIs (either public or private), but most of them have lots of unsolved issues and PRs not maintained for a long time.

Lots of developers want a simple and effective way to upload photos or videos (NEW!) directly to Instagram programmatically. Some may want to publish a simple post, others want to publish a story.

All this can be achieved with instapy-cli. :tada:

I dedided to start this repo and open-source it with :heart:


pip install instapy-cli


Use as Library

You can check the folder examples to see working codes to use instapy-cli programmatically. If you want to use instapy-cli via shell continue reading.

Use as CLI


instapy -u USR -p PSW -f FILE/LINK -t 'TEXT CAPTION'

CLI Options

option required default description
-u yes - username
-p yes - password
-f yes - file/media to upload
-t optional - text caption for post
-s optional - upload a story


instapy --help



You can avoid to re-login, by using a cookie that instapy-cli generate for you. By default instapy-cli use the cookie created in current working directory with the name 'USERNAME_ig.json'. If you don't want to store the cookie in your filesystem you need to pass the parameter cookie:

with client(username, password, cookie) as cli:
    # do stuffs with cli

This is feature is not well tested, be carefull using it.

Image Format

instapy-cli support images in the format of JPG/JPEG/PNG.

Aspect Ratio

The images need to have an aspect ratio of 1:1, that is squared size. You can use other aspect-ratio other than 1:1, but be carefull to stay inside Instagram limits. Otherwise, if you don't respect the aspect ratio, the media will be posted but stretched or cropped.

Why instapy-cli?

First, long story short: instapy-cli is a fork of pynstagram, with the aim of extending its functionality and fixing all unresolved bugs.

Move this project to a better place :arrow_right_hook:

Anyone that wants to collaborate, I promise to be a good repo manager and merge all your pull requests as soon as possible. I have some ideas to improve this but I need collaboration. Join and support! :bulb:

But, wait! Instagram doesn't allow uploading content except from the app (of course :trollface:)

Short answer:

Yes, you are right.

Long answer:

Every connection from a mobile phone could be intercepted. Someone has done the hard work to sniff the packets sent from the phone to Instagram and "spread the news". You can do a quick research.

Code Requirements

This packages will be installed automatically with instapy-cli

package Source Link


To help instapy-cli developers to build and maintain this project, go to docs/

instructions soon

(Write it and collaborate! :wink:)



Support the project and the author

Offer me a coffe or a beer and support instapy-cli. :tada:

Click the button here > Build Status

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

instapy-cli-0.0.12.tar.gz (7.0 kB view hashes)

Uploaded source

Built Distribution

instapy_cli-0.0.12-py2.py3-none-any.whl (8.4 kB view hashes)

Uploaded py2 py3

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