Instaloader: "USERNAME does not have any stories" Error

Created on 25 Jul 2018  路  3Comments  路  Source: instaloader/instaloader

I have noticed for certain users, notably private users.. Instaloader seems to not detect any stories, however viewing the profile of target username indicates otherwise.

Command: instaloader --login USERNAME --no-profile-pic --no-video-thumbnails --no-metadata-json --stories-only --fast-update TARGETPROFILE

bug

Most helpful comment

Confirmed.
It seems as though has_highlight_reels is never true. (Which is used by has_viewable_story if not has_public_story.) I'm not even sure that highlight reels would be a valid indicator of story availability.
Profile._node gets a highlight_reel_count attribute by _obtain_metadata(), which is a numeric value of the number of "saved" / "highlighted" stories, that can be viewed past their expiration when one visits the profile page.
What the website seems to do when visiting instagram.com/user/ is to send a GQL 7c16654f22c819fb63d1183034a5162f with {"user_id":"id", "include_chaining":True, "include_reel":True, "include_suggested_users":False, "include_logged_out_extras":False, "include_highlight_reels":True}, which might seem excessive to just figure out if stories are available.
I've tried various combinations of logged in / anonymous contexts, spoofing headers for the _iphone_struct, but havn't found a good way of getting a valid has_viewable_story

Private users stories can still be retrieved by instaloader --login ME :stories.

All 3 comments

Can confirm. Happens to me as well.

Stories of Public accounts are downloaded fine but those of Private accounts don't.

Confirmed.
It seems as though has_highlight_reels is never true. (Which is used by has_viewable_story if not has_public_story.) I'm not even sure that highlight reels would be a valid indicator of story availability.
Profile._node gets a highlight_reel_count attribute by _obtain_metadata(), which is a numeric value of the number of "saved" / "highlighted" stories, that can be viewed past their expiration when one visits the profile page.
What the website seems to do when visiting instagram.com/user/ is to send a GQL 7c16654f22c819fb63d1183034a5162f with {"user_id":"id", "include_chaining":True, "include_reel":True, "include_suggested_users":False, "include_logged_out_extras":False, "include_highlight_reels":True}, which might seem excessive to just figure out if stories are available.
I've tried various combinations of logged in / anonymous contexts, spoofing headers for the _iphone_struct, but havn't found a good way of getting a valid has_viewable_story

Private users stories can still be retrieved by instaloader --login ME :stories.

@Thammus Thank you so much for fixing this! :heart:

Was this page helpful?
0 / 5 - 0 ratings

Related issues

WaseemRakab picture WaseemRakab  路  3Comments

imshub picture imshub  路  4Comments

nerdysciencegrl picture nerdysciencegrl  路  4Comments

psonnosp picture psonnosp  路  3Comments

milankhatir picture milankhatir  路  3Comments