Python

instaloader

Latest version: v4.9.5

PyUp actively tracks 471,271 Python packages for vulnerabilities to keep your Python environments secure.

Scan your dependencies

4.9.5

Fixes downloading hashtags (1588, 1749).

Thanks to IL2C for contributing this fix!

---

Thanks a lot to socialmethod and all our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.9.4

- Fix incorrect latest stamp when download is resumed (1701, 1717)
- Handle empty video resource in some old stories in highlights (1460, 1732)

Thanks to ekalin and fireattack for contributing these fixes!

---

Thanks a lot to socialmethod and all our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.9.3

- Fix and significantly speed up download of Stories and Highlights (1633, 1675)
- Speed up profile picture URL comparison with `--latest-stamps` (1681)
- Fix wrong newline style in metadata text files on Windows (1623, 1632)

Thanks to fireattack for contributing these fixes!

---

Thanks a lot to our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.9.2

- Fix `--fast-update` and `--latest-stamps` in case a profile has pinned posts (1584, 1586)
- Make documentation explicit about importing multiple argument files (1548)
- Handle `StoryImage` in `StoryItem.url` (1558)

Thanks to ekalin, fireattack and ziemek99 for contributing these fixes!

---

Thanks a lot to our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.9.1

- Fix fetching a users profile information (1523, 1553, 1561)
- Fix incorrect error messages when certain requests fail (1530, 1536)
- Fix `TypeError: normalize() argument 2 must be str, not None` error message (1471, 1475)

Thanks to MiguelX413, NicoWeio and twitter-79 for contributing these fixes!

---

Thanks a lot to our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.9

- Properties `date_local` of `Post` and `StoryItem` now return timezone-aware datetime objects (1305, 1316, 1372)

Thanks to ekalin, fireattack, misaelitox, and otanim for contributing to this release!

This is a **pre-release**. Install with

pip3 install --pre [--upgrade] instaloader


---

Thanks a lot to our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.9b3

**Fixes:**
- Fix download of hashtags (1080)
- Fix an issue with folder names starting with dots (1252)
- Fix KeyError for video_url when Post is invoked with a StoryItem structure (1320, 1321)

**New Features:**
- Add `--sanitize-paths` option (185, 710, 859, 1452)
- Property `Post.accessibility_caption`
- Method `Hashtag.get_posts_resumable()` to get Hashtags in a resumable fashion (NodeIterator)

**Other changes:**
- Removed `Hashtag.get_related_tags()` and `Hashtag.is_top_media_only` as these features were removed from Instagram
- Updated default User Agent string

4.9b2

**Fixes:**
- Fix download of hashtags (1080)
- Fix download of locations (1129)
- Fix an issue with folder names starting with dots (1252)
- Fix KeyError for video_url when Post is invoked with a StoryItem structure (1320, 1321)

**Other changes:**
- Property `Post.accessibility_caption`
- Method `Hashtag.get_posts_resumable()` to get Hashtags in a resumable fashion (NodeIterator)
- Removed `Hashtag.get_related_tags()` and `Hashtag.is_top_media_only` as these features were removed from Instagram
- Updated default User Agent string

4.9b1

**Fixes:**
- Fix download of hashtags (1080)
- Fix download of locations (1129)
- Fix an issue with folder names starting with dots (1252)
- Fix KeyError for video_url when Post is invoked with a StoryItem structure (1320, 1321)

**Other changes:**
- Property `Post.accessibility_caption`
- Method `Hashtag.get_posts_resumable()` to get Hashtags in a resumable fashion (NodeIterator)
- Removed `Hashtag.get_related_tags()` and `Hashtag.is_top_media_only` as these features were removed from Instagram
- Updated default User Agent string

Thanks to fireattack and otanim for contributing to this release!

This is a **pre-release**. Install with

pip3 install --pre [--upgrade] instaloader


---

Thanks a lot to our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.8.5

- Fix JPEG images sometimes being saved with `.webp` extension (1414, 1447)
- Fix some cases of `Post.caption_hashtags` incorrectly processing some unicode characters in captions (978, 1446, 1453)
- Fix `Post.caption_mentions` incorrectly processing captions in some cases (1455, 1456)

Thanks to fireattack and MiguelX413 for contributing these fixes!

---

Thanks a lot to our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.8.4

Revert back to version 4.8.2, as version 4.8.3 accidentally introduced a backwards-incompatible change (1379).

---

Thanks a lot to our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.8.3

Properties `date_utc` and `date_local` of `Post` and `StoryItem` now return timezone-aware objects (1305, 1316, 1372)

Thanks to ekalin and misaelitox for contributing to this release!

---

Thanks a lot to our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.8.2

- Fix KeyError or IndexError for video_url (1320, 1348, 1321)
- Fix endless loop when receiving comments (1347)
- Fix KeyError on attempt to get incomplete location (1349)

Thanks to fireattack and JeremyKj87 for contributing to this release!

---

Thanks a lot to our sponsors for supporting this release!

If you are also interested in supporting the development of Instaloader, see https://instaloader.github.io/sponsors.html for a number of options.

4.8.1

Fix (rare) `KeyError: 'video_versions'` error (1251)

---

Instaloader needs your support to keep running! See https://instaloader.github.io/sponsors.html for how you can donate for the development of Instaloader.

4.8

- Add option `--latest-stamps`, like `--fast-update` but without the need to keep downloaded files (1122, 1131)
- Add option `--title-pattern` for profile pics and covers (171, 1127)
- Add option `--no-iphone` to speed-up download by not getting best-quality media (820, 1076)
- Add functions `load_structure()` and `get_json_structure()` for loading structures directly from/to Python objects (1092)
- Report profile renames even if `--quiet` is enabled (1159, 1180)
- Show progress of profile scraping (1114)

Thanks to aboredpervert, anokhovd and ekalin for contributing to this release!

---

Instaloader needs your support to keep running! See https://instaloader.github.io/sponsors.html for how you can donate for the development of Instaloader.

4.8rc4

- Add option `--latest-stamps`, like `--fast-update` but without the need to keep downloaded files (1122, 1131)
- Add option `--title-pattern` for profile pics and covers (171, 1127)
- Add option `--no-iphone` to speed-up download by not getting best-quality media (820, 1076)
- Add functions `load_structure()` and `get_json_structure()` for loading structures directly from/to Python objects (1092)
- Report profile renames even if `--quiet` is enabled (1159, 1180)
- Show progress of profile scraping (1114)

Thanks to aboredpervert, anokhovd and ekalin for contributing to this release!

This is a **pre-release**. Install with

pip3 install --pre [--upgrade] instaloader


---

Instaloader needs your support to keep running! See https://instaloader.github.io/sponsors.html for how you can donate for the development of Instaloader.

4.8rc3

- Add option `--latest-stamps`, like `--fast-update` but without the need to keep downloaded files (1122, 1131)
- Add option `--title-pattern` for profile pics and covers (171, 1127)
- Add option `--no-iphone` to speed-up download by not getting best-quality media (820, 1076)
- Add functions `load_structure()` and `get_json_structure()` for loading structures directly from/to Python objects (1092)
- Report profile renames even if `--quiet` is enabled (1159, 1180)
- Show progress of profile scraping (1114)

Thanks to aboredpervert, anokhovd and ekalin for contributing to this release!

This is a **pre-release**. Install with

pip3 install --pre [--upgrade] instaloader


---

Instaloader needs your support to keep running! See https://instaloader.github.io/sponsors.html for how you can donate for the development of Instaloader.

4.8rc2

(This version is equal to [Version 4.8rc1](https://github.com/instaloader/instaloader/releases/tag/v4.8rc1) and only exists to repeat the previously-failed deployment to PyPI)

- Add option `--latest-stamps`, like `--fast-update` but without the need to keep downloaded files (1122, 1131, 1193)
- Add option `--title-pattern` for profile pics and covers (171, 1127)
- Add option `--no-iphone` to speed-up download by not getting best-quality media (820, 1076)
- Add functions `load_structure()` and `get_json_structure()` for loading structures directly from/to Python objects (1092)
- Report profile renames even if `--quiet` is enabled (1159, 1180)
- Show progress of profile scraping (1114)

Thanks to aboredpervert, anokhovd and ekalin for contributing to this release!

This is a **pre-release**. Install with

pip3 install --pre [--upgrade] instaloader

4.8rc1

- Add option `--latest-stamps`, like `--fast-update` but without the need to keep downloaded files (1122, 1131, 1193)
- Add option `--title-pattern` for profile pics and covers (171, 1127)
- Add option `--no-iphone` to speed-up download by not getting best-quality media (820, 1076)
- Add functions `load_structure()` and `get_json_structure()` for loading structures directly from/to Python objects (1092)
- Report profile renames even if `--quiet` is enabled (1159, 1180)
- Show progress of profile scraping (1114)

Thanks to aboredpervert, anokhovd and ekalin for contributing to this release!

This is a **pre-release**. Install with

pip3 install --pre [--upgrade] instaloader

4.7.6

**Fixes**:
- Fix accessing `Post.location` / `--geotags` (1109, 1244)
- Download best-available quality of videos (1022, 1232)

4.7.5

**Fixes**:
- Fix slow video download (1145, 1233, 1237)

4.7.4

(This version is equal to [Version 4.7.3](https://github.com/instaloader/instaloader/releases/tag/v4.7.3) and only exists to repeat the previously-failed deployment to PyPI)

**Fixes**:
- Fix `Login error: JSON decode fail, 403 - Forbidden.` (1150, 1192)
- Fix and update `Profile.has_public_story` functionality (1183)
- Fix missing 2FA error message

4.7.3

**Fixes**:
- Fix `Login error: JSON decode fail, 403 - Forbidden.` (1150, 1192)
- Fix and update `Profile.has_public_story` functionality (1183)
- Fix missing 2FA error message

4.7.2

**Fixes**:
- Fix documentation for `--count` option (1139)
- Fix `Post.mentions` including email adresses (1029, 1167)
- Update dependencies that are used in CI pipelines and shipped in the windows standalone executable (1163)

4.7.1

**Fixes**:
- Get better-quality version of pictures if logged-in (1065)
- Fix SRCINFO depends metadata in AUR

4.7

**BREAKING CHANGES**:
- `download_geotags` and `download_comments` in `instaloader.Instaloader()` now default to `False` rather than `True`.
- Require Python>=3.6 (drop support for Python 3.5)

**Further changes:**
- Improve efficiency when re-downloading targets
- Support resuming of comments download
- Add flag `--abort-on` to abort and save resume information on HTTP errors (920),
e.g, with `--abort-on=302,400,429`, Instaloader will stop if a request is responded with a 302 redirect, a Bad Request error, or a Too Many Requests error.
- Add property `title` to Post (745, 969, 976)
- Update default user agent to Chrome/89
- Minor improvements to error handling
- Update dependencies regarding Windows 10 standalone EXE

Thanks to 17it151tejaschauhan for contributing to this release!

4.7rc2

- Improve efficiency when re-downloading targets
- Support resuming of comments download
- Add flag `--abort-on` to abort and save resume information on HTTP errors (920),
e.g, with `--abort-on=302,400,429`, Instaloader will stop if a request is responded with a 302 redirect, a Bad Request error, or a Too Many Requests error.
- Add property `title` to Post (745, 969, 976)
- Update default user agent to Chrome/89
- Minor improvements to error handling
- Update dependencies regarding Windows 10 standalone EXE

**BREAKING CHANGE**:
`download_geotags` and `download_comments` in `instaloader.Instaloader()` now default to `False` rather than `True`.

---

Thanks to 17it151tejaschauhan for contributing to this release!

This is a **pre-release**. Install with

pip3 install --pre [--upgrade] instaloader

4.7rc1

- Improve efficiency when re-downloading targets
- Support resuming of comments download
- Add flag `--abort-on` to abort and save resume information on HTTP errors (920),
e.g, with `--abort-on=302,400,429`, Instaloader will stop if a request is responded with a 302 redirect, a Bad Request error, or a Too Many Requests error.
- Add property `title` to Post (745, 969, 976)

Thanks to 17it151tejaschauhan for contributing to this release!

This is a **pre-release**. Install with

pip3 install --pre [--upgrade] instaloader

4.6.2

- Efficiency improvements for sidecar posts when downloading a profile (1026)
- Fix bug in filename generation for sidecar posts when using `{filename}` token in `--filename-pattern` (1025)

Thanks to thomas694 for contributing these fixes!

4.6.1

- Update rate controller according to current observations
- Update default user agent string