{"id":13572402,"url":"https://github.com/b3nab/instapy-cli","last_synced_at":"2026-02-16T15:07:12.251Z","repository":{"id":49758916,"uuid":"105790431","full_name":"b3nab/instapy-cli","owner":"b3nab","description":":sparkles: Python library and CLI to upload photo and video on Instagram. W/o a phone!","archived":false,"fork":false,"pushed_at":"2019-10-13T11:35:46.000Z","size":44160,"stargazers_count":604,"open_issues_count":62,"forks_count":99,"subscribers_count":37,"default_branch":"master","last_synced_at":"2025-08-21T01:41:09.503Z","etag":null,"topics":["api","cli","collaboration","instagram","instagram-api","instagram-client","instagram-lib","instagram-photos","instapy","library","private-api","python","python-library","upload","upload-photos"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/b3nab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"docs/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-04T16:20:17.000Z","updated_at":"2025-08-09T10:18:41.000Z","dependencies_parsed_at":"2022-08-31T23:22:05.989Z","dependency_job_id":null,"html_url":"https://github.com/b3nab/instapy-cli","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/b3nab/instapy-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b3nab%2Finstapy-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b3nab%2Finstapy-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b3nab%2Finstapy-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b3nab%2Finstapy-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/b3nab","download_url":"https://codeload.github.com/b3nab/instapy-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/b3nab%2Finstapy-cli/sbom","scorecard":{"id":222039,"data":{"date":"2025-08-11","repo":{"name":"github.com/b3nab/instapy-cli","commit":"2a088ba6769db60494c7d61221dc570f611038e8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3,"checks":[{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 2/26 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 6 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-17T02:47:19.906Z","repository_id":49758916,"created_at":"2025-08-17T02:47:19.906Z","updated_at":"2025-08-17T02:47:19.906Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29510591,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","cli","collaboration","instagram","instagram-api","instagram-client","instagram-lib","instagram-photos","instapy","library","private-api","python","python-library","upload","upload-photos"],"created_at":"2024-08-01T14:01:22.198Z","updated_at":"2026-02-16T15:07:12.220Z","avatar_url":"https://github.com/b3nab.png","language":"Python","readme":"# **instapy-cli** :zap:\n\nPublish *photos* and *videos* (NEW!) on Instagram, without a phone! You can upload **posts** and even **stories** on Instagram.\nYou can upload a local file or use a link, it does everything for you automagically.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/instagrambot/instapy-cli/master/docs/instagram-private-banner.png\" alt=\"instapy-cli instagram-private-api\" width=\"650px\"\u003e\n\u003c/p\u003e\n\n---\n[![Build Status](https://img.shields.io/badge/Paypal-DONATE-blue.svg?logo=paypal\n)](https://paypal.me/b3nab)\n[![instapy-cli version](https://img.shields.io/pypi/v/instapy-cli.svg)](https://pypi.org/project/instapy-cli)\n[![Build Status](https://travis-ci.org/instagrambot/instapy-cli.svg?branch=master)](https://travis-ci.org/b3nab/instapy-cli)\n[![MIT license](https://img.shields.io/github/license/instagrambot/instapy-cli.svg)](https://github.com/b3nab/instapy-cli/blob/master/LICENSE)\n\n\n[![GitHub issues](https://img.shields.io/github/issues/instagrambot/instapy-cli.svg)](https://github.com/b3nab/instapy-cli/issues)\n[![GitHub forks](https://img.shields.io/github/forks/instagrambot/instapy-cli.svg)](https://github.com/b3nab/instapy-cli/network)\n[![GitHub stars](https://img.shields.io/github/stars/instagrambot/instapy-cli.svg)](https://github.com/b3nab/instapy-cli/stargazers)\n\n\n## Introduction\nThere 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.\n\n\u003e 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.\n\nAll this can be achieved with `instapy-cli`. :tada:\n\nI dedided to start this repo and open-source it with :heart:\n\n\n### Installation\n\n\u003c!-- **Install** --\u003e\n\n```shell\npip install instapy-cli\n```\n\n### Usage\n\n#### Use as Library\n\nYou can check the folder `examples` to see working codes to use instapy-cli programmatically.\nIf you want to use instapy-cli via shell continue reading.\n\n#### Use as CLI\n\n**Use**\n\n```shell\ninstapy -u USR -p PSW -f FILE/LINK -t 'TEXT CAPTION'\n```\n\n**CLI Options**\n\n| option | required | default | description |\n| --- | --- | --- | --- |\n| -u | **yes** | - | username |\n| -p | **yes** | - | password |\n| -f | **yes** | - | file/media to upload |\n| -t | *optional* | - | text caption for post |\n| -s | *optional* | - | upload a story |\n\n**Help**\n\n```shell\ninstapy --help\n```\n\n\n#### Hints\n##### Cookie\nYou can avoid to re-login, by using a cookie that instapy-cli generate for you.\nBy default instapy-cli use the cookie created in current working directory with the name 'USERNAME_ig.json'.\nIf you don't want to store the cookie in your filesystem you need to pass the parameter `cookie`:\n\n```python\nwith client(username, password, cookie) as cli:\n    # do stuffs with cli\n```\n\nThis is feature is not well tested, be carefull using it.\n\n##### Image Format\ninstapy-cli support images in the format of JPG/JPEG/PNG.\n\n##### Aspect Ratio\nThe images need to have an aspect ratio of 1:1, that is squared size.\nYou can use other aspect-ratio other than 1:1, but be carefull to stay inside Instagram limits.\nOtherwise, if you don't respect the aspect ratio, the media will be posted but stretched or cropped.\n\n### Why instapy-cli?\nFirst, long story short: instapy-cli is a fork of pynstagram, with the aim of extending its functionality and fixing all unresolved bugs.\n\n##### Move this project to a better place :arrow_right_hook:\nAnyone that wants to collaborate, I promise to be a good repo manager and merge all your pull requests as soon as possible.\nI have some ideas to improve this but I need collaboration. Join and support! :bulb:\n\n##### But, wait! Instagram doesn't allow uploading content except from the app (of course :trollface:)\nShort answer:\n\u003e Yes, you are right.\n\nLong answer:\n\u003e 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.\n\n## Code Requirements\n#### This packages will be installed automatically with *instapy-cli*\n\n| package     | Source Link |\n| :---:       | :---: |\n| requests    | https://github.com/requests/requests |\n| filetype    | https://github.com/h2non/filetype.py |\n| instagram-private-api    | https://github.com/ping/instagram_private_api |\n| instagram-private-api-extensions    | https://github.com/ping/instagram_private_api_extensions |\n\n## Contribute\nTo help `instapy-cli` developers to build and maintain this project, go to **[docs/CONTRIBUTING.md](/docs/CONTRIBUTING.md)**\n\u003e instructions soon\n\n(Write it and collaborate! :wink:)\n\n## License\nMIT\n\n## Support the project and the author\nOffer me a coffe or a beer and support instapy-cli. :tada:\n\nClick the button here \u003e\n[![Build Status](https://img.shields.io/badge/Paypal-DONATE-blue.svg?logo=paypal\n)](https://paypal.me/b3nab)\n","funding_links":["https://paypal.me/b3nab"],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb3nab%2Finstapy-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fb3nab%2Finstapy-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fb3nab%2Finstapy-cli/lists"}