1
votes

Twitter's REST API returns a in_reply_to_status_id value for tweet statuses, yet the Search API does not.

What puzzles me is, if you search using the http://search.twitter.com/ webpage directly, tweets that are in reply to another tweet contain a "Show Conversation" link, but when searching using the API directly, there doesn't seem to be any data suggesting that a conversation exists (with JSON, at least).

How does this search page know which tweets are part of a conversation, and what would be the best way to emulate this behaviour (JSON preferred) in a rate-friendly way? I imagine I would have to do additional calls or something...?

4

4 Answers

5
votes

related_results is officially dead along with the v1 API. It appears official Twitter apps use a call to /1.1/conversation/show.json?id=___ as mentioned here https://dev.twitter.com/discussions/17647 however it appears to be blocked from non-Twitter clients.

2
votes

Just check the JSON field "to_user", which contains screen_name of the @replied person. If its null, you can assume its not a reply. You could also check, if the tweet string starts with a @username, which

http://search.twitter.com/search.json?q=%40aplusk

1
votes

When you use the search.twitter.com, look for a field name in_reply_to_status_id This contains the original status_id to which this tweet was a reply. Next, there is a currently unsupported/undocument api call to get the whole conversation:

https://api.twitter.com/1/related_results/show/169145505824256000.json?include_entities=1

The value (169145505824256000) is the status_id you want to retrieve the conversation for.

0
votes

An update on this as I was just faced with the same problem. The Twitter v1.1 API should now return valid in_reply_to_status_id values. But the unsupported v1 related_results has now gone forever.

You can see information about this, and some suggestions about using the streaming API, at https://dev.twitter.com/discussions/11292