Instagram ?__a=1 url not working anymore & problems with graphql/query to get data

Update 19 April

After a few days using cookie ig_pr two days ago is block. Looks like the only way to get the data now is use sessionid with a specific value


I was using instagram ?__a=1 url to read all the post of instagram’s users.

A few hours ago there was a change in the response and now doesn’t allow me to use max_id to paginate.

Before I usually sent a request to{{username}}/?__a=1

and using the graphql.edge_owner_to_timeline_media.page_info.end_cursor in the response I called the same page with a new max_id{{username}}/?__a=1&max_id={{end_cursor}}

Now the end_cursor changes in each call & max_id is not working.

Please help 🙂


The query_hash does not change, at least in the past few days. It indicate what TYPE of query it is.

Below listed 4 query types I knew, hope these help.

Load more media under{"id":"93024","first":12,"after":"XXXXXXXX"}

(Instagram blocked the above access since 2018-04-12. You have to remove the __a=1 and extract the JSON inside a block. Look for “window._sharedData” in the HTML)

Load more media under{"tag_name":"iphone","first":12,"after":"XXXXXXXX"}

Load more media under{"id":"703629436462521","first":12,"after":"XXXXXXXX"}

Load more comments for{"shortcode":"Bf-I2P6grhd","first":20,"after":"XXXXXXXX"}

where XXXXXXXX is the end_cursor from the original request

Leave a Reply

Your email address will not be published. Required fields are marked *