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
Original
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
https://www.instagram.com/{{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
https://www.instagram.com/{{username}}/?__a=1&max_id={{end_cursor}}
Now the end_cursor
changes in each call & max_id is not working.
Please help 🙂
Advertisement
Answer
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 https://www.instagram.com/someone/?__a=1
https://www.instagram.com/graphql/query/?query_hash=472f257a40c653c64c666ce877d59d2b&variables={"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 https://www.instagram.com/explore/tags/iphone/?__a=1
https://www.instagram.com/graphql/query/?query_hash=298b92c8d7cad703f7565aa892ede943&variables={"tag_name":"iphone","first":12,"after":"XXXXXXXX"}
Load more media under https://www.instagram.com/explore/locations/703629436462521/?__a=1
https://www.instagram.com/graphql/query/?query_hash=ac38b90f0f3981c42092016a37c59bf7&variables={"id":"703629436462521","first":12,"after":"XXXXXXXX"}
Load more comments for https://www.instagram.com/p/Bf-I2P6grhd/
https://www.instagram.com/graphql/query/?query_hash=33ba35852cb50da46f5b5e889df7d159&variables={"shortcode":"Bf-I2P6grhd","first":20,"after":"XXXXXXXX"}
where XXXXXXXX is the end_cursor from the original request