I would like to be able view all of the comments on any given piece of Instagram media, even if the media has over 150 comments. As of now, it is seemingly impossible to view more than the most recent 20 comments on a piece of media on the Instagram site and if one uses either the Instagram API Console or the Instagram API Libraries, the most recent 150 comments are returned with no options for pagination or viewing addition comments.
I first, of course, tried the documented media comment query in both the provided console and in my own environment. In both cases, a maximum of 150 comments were returned. Stumped, I began looking for more information online.
Having read over the Instagram API Documentation thoroughly, tested various endpoints in the Instagram API Console, and read various StackOverflow questions in the Instagram tag and Instagram API Google Group questions on several Instagram topics, I wondered if there was a chance of something being undocumented that I could try.
The user recent media endpoint documentation includes parameters for max_id
and max_timestamp
that allow for paging through the most recent media for any given user by retrieving the media that comes before said max_id
or max_timestamp
. Since each comment comes with created_time
and id
attributes, I attempted to add the parameters for max_id
and max_timestamp
(both on their own and together) for various comment IDs and timestamps in an attempt to page through comments. None of my attempts worked.
I am now at a standstill unless someone has another suggestion.
Using the Instagram API Console, I took the following steps in attempt to get all of the comments for this photo.
OAuth2
tokencoltonlhaynes
to obtain the user id: 9610843
9610843
to obtain the most recent mediaid: 698057751201132903_9610843
count: 1375
698057751201132903_9610843
to obtain most recent commentscreated time: 1397460230
id: 698269477955776593
698057751201132903_9610843
with the following additional query parameter strings in attempt to page through comments, but received the same results as step #6 ?max_timestamp=1397460230
?max_id=698269477955776593
?max_timestamp=1397460230&max_id=698269477955776593
?max_id=698269477955776593&max_timestamp=1397460230
To my knowledge, there is no solution to this issue, but since the Instagram Development Team has stated that they will no longer be monitoring the Google Group and will be monitoring StackOverflow instead, I'm putting this here.
Instagram Comments limit It is about 180 to 200 per day. Don't post the same comment over and over. Instagram recognizes duplicate comments, and it would punish your account for what you did. And don't leave emojis without text as a comment, they look like spam.
You're on Airplane Mode or have no internet connection. The post has had commenting turned off, or limited to selected people. Instagram is down (it's rare, but you can check here). You are over-engaging (likes, comments, follows, unfollows).
You are over-engaging (likes, comments, follows, unfollows). You included more than 5 @ mentions in a single comment. You included more than 30 #hashtags on a single post. You posted multiple, duplicate comments (including emoji).
Ok, This is going to be a very "Hacky" solution, and I am not currently setup to do this myself (due to lack of ADSL at home) but I can provide a step by step guide of how I would approach this issue.
First of all you will need a tool called "Charles Web Debuging Proxy"
There is a tutorial on the site on how to enable "SSL debugging" in charles, (which will require you to install a new "root certificate" on your mobile device, to trick it into thinking that https transactions signed by charles are actually signed by instagram.com )
Now Set your mobile device to route all requests through said proxy ( which will have to be installed on your local wi-fi network.)
go to https://www.google.com and check that charles is logging both requests and responses.
Once this is all setup correctly then you can take a look at the API calls which the instagram app itself uses to generate said comment pages.
The generic answer here is "no, that's not possible via regular endpoints".
Instagram updated Rate Limits (after Nov 17, 2015). All rate limits on the Instagram Platform are controlled separately for each access token, and on a sliding 1-hour window. Live apps have higher rate limits than apps in Sandbox Mode.
Which state next limitations in global context:
Global Rate Limits
Global rate limits are applied inclusive of all API calls made by an app per access token over the 1-hour sliding window, regardless of the particular endpoint. Rate limits also apply to invalid or malformed requests.
- Sandbox RATE LIMIT: 500 / hour
- Live RATE LIMIT: 5000 / hour
Plus separately limitations for comments endpoints:
Endpoint-Specific Rate Limits
Endpoints used to publish (POST or DELETE) have rate limits that are applied on an per-endpoint basis. Any calls made to these endpoints by your OAuth Client are also counted towards the global rate limits noted above.
- Sandbox /media/media-id/comments: 30 / hour
- Live /media/media-id/comments: 60 / hour
If your app exceeds any of these rate limits, you will receive a response with an HTTP response code of 429 (Too Many Requests)
.
As soon as Instagram Platform controls it on per access token
basis, you might achieve a bigger limits using multi-threading with multiple access tokens. But it has caveats: 1. not everything could be paralleled from multiple access tokens, as context will be different. 2. It might contradict with Platform Policy and TOS
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With