Bug: retweet_status in Streaming API

streaming
retweet

#1

In the Twitter API documentation for a tweet, it states that

[retweeted_status] contains a representation of the original Tweet that was retweeted. Note that retweets of retweets do not show representations of the intermediary retweet, but only the original tweet. (source: https://dev.twitter.com/overview/api/tweets)

However, I’ve found a number of tweets via the Streaming API where this doesn’t appear to be true. If you pull from the Streaming API and look for tweets that:

  1. do not have a “retweeted_status” member, and
  2. have a “text” member beginning with “RT”,

you will find the violating tweets.

If you go back and query GET /1.1/statuses/show/, the tweet will be consistent with the documentation.

This will cause issues with applications that assume tweets coming off the Streaming API are correctly formed.

I checked the Streaming API documentation for mention of these parital-Tweet-constructions, but all I could find was that When parsing Tweets, keep in mind that Retweets are streamed as a status with another status nested inside it., which makes it sounds like this is indeed a bug in the Streaming API Service.

Here are a few examples:

` {
“coordinates” : null,
“created_at” : “Sun Jan 10 18:23:07 +0000 2016”,
“geo” : null,
“id” : 686251942360813568,
“id_str” : “686251942360813568”,
“in_reply_to_screen_name” : null,
“in_reply_to_status_id” : null,
“in_reply_to_status_id_str” : null,
“in_reply_to_user_id” : null,
“in_reply_to_user_id_str” : null,
“source” : “<a href=“http://twitter.com/download/iphone” rel=“nofollow”>Twitter for iPhone”,
“text” : “RT @ Noemibokep26: https://t.co/ILsx6JGxuG :wink: @ sa7arqtr @ XNXXAmateur @ Pornogram_ #adult https://t.co/7ooByZx0QX”,
“truncated” : false,
“user” : {
“contributors_enabled” : false,
“created_at” : “Wed May 01 14:18:39 +0000 2013”,
“default_profile” : true,
“default_profile_image” : false,
“description” : “27YRS, a frequent visitor of (porn*)gangbangs. I’m interested to peform in porn, pls contact. \n\nNOTE; DO NOT FOLLOW BELOW 18YRS.”,
“favourites_count” : 5872,
“follow_request_sent” : null,
“followers_count” : 532,
“following” : null,
“friends_count” : 175,
“geo_enabled” : false,
“id” : 1394737590,
“id_str” : “1394737590”,
“is_translator” : false,
“lang” : “nl”,
“listed_count” : 5,
“location” : “Amsterdam (AMS)”,
“name” : “Gangbangfun”,
“notifications” : null,
“profile_background_color” : “C0DEED”,
“profile_background_image_url” : “http://abs.twimg.com/images/themes/theme1/bg.png”,
“profile_background_image_url_https” : “https://abs.twimg.com/images/themes/theme1/bg.png”,
“profile_background_tile” : false,
“profile_banner_url” : “https://pbs.twimg.com/profile_banners/1394737590/1401903655”,
“profile_image_url” : “http://pbs.twimg.com/profile_images/510164988385050624/EbRpITHA_normal.jpeg”,
“profile_image_url_https” : “https://pbs.twimg.com/profile_images/510164988385050624/EbRpITHA_normal.jpeg”,
“profile_link_color” : “0084B4”,
“profile_sidebar_border_color” : “C0DEED”,
“profile_sidebar_fill_color” : “DDEEF6”,
“profile_text_color” : “333333”,
“profile_use_background_image” : true,
“protected” : false,
“screen_name” : “gangbangfun”,
“statuses_count” : 6596,
“time_zone” : “Athens”,
“url” : null,
“utc_offset” : 7200,
“verified” : false
}
}

{
   "created_at" : "Sun Jan 10 18:23:07 +0000 2016",
   "id" : 686251942369193984,
   "id_str" : "686251942369193984",
   "in_reply_to_screen_name" : null,
   "in_reply_to_status_id" : null,
   "in_reply_to_status_id_str" : null,
   "in_reply_to_user_id" : null,
   "in_reply_to_user_id_str" : null,
   "source" : "<a href=\"http://www.echofon.com/\" rel=\"nofollow\">Echofon</a>",
   "text" : "RT @ chamorrotr1: Retweeted camilo (@ camilomenthe):\n\nBaja @ Bohike_hd Ft. @ zawezo &amp; @ chamorrotr1 - #CalloLaNoche (Prod. By... https://t.co/OB…",
   "truncated" : false,
   "user" : {
      "contributors_enabled" : false,
      "created_at" : "Fri Dec 21 23:22:18 +0000 2012",
      "description" : "Official Label Zawezo Del'Patio Download your Free Zawezo App   For Bookings - Lazara Perez (786) 278-6241 or Email Lazara - lp.entertainment@yahoo.com",
      "favourites_count" : 9,
      "followers_count" : 1659,
      "friends_count" : 1581,
      "geo_enabled" : true,
      "id" : 1027352618,
      "id_str" : "1027352618",
      "is_translator" : false,
      "lang" : "en",
      "listed_count" : 8,
      "location" : "New York City",
      "name" : "AMD MUSIC",
      "profile_background_color" : "C0DEED",
      "profile_background_image_url" : "http://pbs.twimg.com/profile_background_images/744439538/eaf0068f74bd9a48fad6bce1ce08d7fa.jpeg",
      "profile_background_image_url_https" : "https://pbs.twimg.com/profile_background_images/744439538/eaf0068f74bd9a48fad6bce1ce08d7fa.jpeg",
      "profile_background_tile" : false,
      "profile_banner_url" : null,
      "profile_image_url" : "http://pbs.twimg.com/profile_images/378800000631239101/db8f20bc3270f7ae3438c0851420a981_normal.jpeg",
      "profile_image_url_https" : "https://pbs.twimg.com/profile_images/378800000631239101/db8f20bc3270f7ae3438c0851420a981_normal.jpeg",
      "profile_link_color" : "0084B4",
      "profile_sidebar_border_color" : "000000",
      "profile_sidebar_fill_color" : "DDEEF6",
      "profile_text_color" : "333333",
      "profile_use_background_image" : true,
      "protected" : false,
      "screen_name" : "AMDMUSIK",
      "statuses_count" : 13956,
      "time_zone" : "Eastern Time (US & Canada)",
      "url" : "http://WWW.ZAWEZO.COM",
      "utc_offset" : -18000,
      "verified" : false
   }
}

{
   "created_at" : "Sun Jan 10 18:23:08 +0000 2016",
   "id" : 686251946567569408,
   "id_str" : "686251946567569408",
   "in_reply_to_screen_name" : null,
   "in_reply_to_status_id" : null,
   "in_reply_to_status_id_str" : null,
   "in_reply_to_user_id" : null,
   "in_reply_to_user_id_str" : null,
   "source" : "<a href=\"http://twitter.com/download/android\" rel=\"nofollow\">Twitter for Android</a>",
   "text" : "RT @ beabettergay: วัยกำลังน่ากิน #abitcherman http://t.co/yr0wq7Ifgg",
   "truncated" : false,
   "user" : {
      "contributors_enabled" : false,
      "created_at" : "Wed Jan 06 15:43:35 +0000 2016",
      "description" : "สายรีทวิต #มอต้น #มอปลาย #มหาลัย \nเน้นหล่อ เห็นหน้าเห็นควย",
      "favourites_count" : 91,
      "followers_count" : 4,
      "friends_count" : 110,
      "geo_enabled" : false,
      "id" : 4719211693,
      "id_str" : "4719211693",
      "is_translator" : false,
      "lang" : "th",
      "listed_count" : 0,
      "location" : null,
      "name" : "เด็กมอปลาย",
      "profile_background_color" : "F5F8FA",
      "profile_background_image_url" : "",
      "profile_background_image_url_https" : "",
      "profile_background_tile" : false,
      "profile_banner_url" : "https://pbs.twimg.com/profile_banners/4719211693/1452280559",
      "profile_image_url" : "http://pbs.twimg.com/profile_images/685536744595324929/DwrOp56Z_normal.jpg",
      "profile_image_url_https" : "https://pbs.twimg.com/profile_images/685536744595324929/DwrOp56Z_normal.jpg",
      "profile_link_color" : "2B7BB9",
      "profile_sidebar_border_color" : "C0DEED",
      "profile_sidebar_fill_color" : "DDEEF6",
      "profile_text_color" : "333333",
      "profile_use_background_image" : true,
      "protected" : false,
      "screen_name" : "TeezTeeztee",
      "statuses_count" : 328,
      "time_zone" : "Pacific Time (US & Canada)",
      "url" : null,
      "utc_offset" : -28800,
      "verified" : false
   }
}`

As I mentioned before, if you go back and query for these tweets later, you’ll find the tweet populated correctly:

GET https://api.twitter.com/1.1/statuses/show/686251946567569408.json { "created_at": "Sun Jan 10 18:23:08 +0000 2016", "id": 686251946567569400, "id_str": "686251946567569408", "text": "RT @ beabettergay: วัยกำลังน่ากิน #abitcherman http://t.co/yr0wq7Ifgg", "source": "<a href="http://twitter.com/download/android" rel="nofollow">Twitter for Android</a>", "truncated": false, "in_reply_to_status_id": null, "in_reply_to_status_id_str": null, "in_reply_to_user_id": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "user": { "id": 4719211693, "id_str": "4719211693", "name": "เด็กมอปลาย", "screen_name": "TeezTeeztee", "location": "", "description": "สายรีทวิต #มอต้น #มอปลาย #มหาลัย \nเน้นหล่อ เห็นหน้าเห็นควย", "url": null, "entities": { "description": { "urls": [] } }, "protected": false, "followers_count": 4, "friends_count": 120, "listed_count": 0, "created_at": "Wed Jan 06 15:43:35 +0000 2016", "favourites_count": 91, "utc_offset": -28800, "time_zone": "Pacific Time (US & Canada)", "geo_enabled": false, "verified": false, "statuses_count": 341, "lang": "th", "contributors_enabled": false, "is_translator": false, "is_translation_enabled": false, "profile_background_color": "F5F8FA", "profile_background_image_url": null, "profile_background_image_url_https": null, "profile_background_tile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/685536744595324929/DwrOp56Z_normal.jpg", "profile_image_url_https": "https://pbs.twimg.com/profile_images/685536744595324929/DwrOp56Z_normal.jpg", "profile_banner_url": "https://pbs.twimg.com/profile_banners/4719211693/1452280559", "profile_link_color": "2B7BB9", "profile_sidebar_border_color": "C0DEED", "profile_sidebar_fill_color": "DDEEF6", "profile_text_color": "333333", "profile_use_background_image": true, "has_extended_profile": false, "default_profile": true, "default_profile_image": false, "following": false, "follow_request_sent": false, "notifications": false }, "geo": null, "coordinates": null, "place": null, "contributors": null, "retweeted_status": { "created_at": "Wed Jun 04 14:47:15 +0000 2014", "id": 474200713669513200, "id_str": "474200713669513217", "text": "วัยกำลังน่ากิน #abitcherman http://t.co/yr0wq7Ifgg", "source": "<a href="http://twitter.com/download/iphone" rel="nofollow">Twitter for iPhone</a>", "truncated": false, "in_reply_to_status_id": null, "in_reply_to_status_id_str": null, "in_reply_to_user_id": null, "in_reply_to_user_id_str": null, "in_reply_to_screen_name": null, "user": { "id": 832173588, "id_str": "832173588", "name": "ง่วงเป็นเชี่ยนๆ", "screen_name": "beabettergay", "location": "", "description": ".", "url": null, "entities": { "description": { "urls": [] } }, "protected": false, "followers_count": 47891, "friends_count": 36, "listed_count": 46, "created_at": "Wed Sep 19 00:27:33 +0000 2012", "favourites_count": 348, "utc_offset": 25200, "time_zone": "Hanoi", "geo_enabled": true, "verified": false, "statuses_count": 9377, "lang": "en", "contributors_enabled": false, "is_translator": false, "is_translation_enabled": false, "profile_background_color": "FFFFFF", "profile_background_image_url": "http://abs.twimg.com/images/themes/theme1/bg.png", "profile_background_image_url_https": "https://abs.twimg.com/images/themes/theme1/bg.png", "profile_background_tile": false, "profile_image_url": "http://pbs.twimg.com/profile_images/609594844072144896/Ssm4uIks_normal.jpg", "profile_image_url_https": "https://pbs.twimg.com/profile_images/609594844072144896/Ssm4uIks_normal.jpg", "profile_link_color": "3B94D9", "profile_sidebar_border_color": "FFFFFF", "profile_sidebar_fill_color": "DDEEF6", "profile_text_color": "333333", "profile_use_background_image": false, "has_extended_profile": false, "default_profile": false, "default_profile_image": false, "following": false, "follow_request_sent": false, "notifications": false }, "geo": null, "coordinates": null, "place": null, "contributors": null, "is_quote_status": false, "retweet_count": 57, "favorite_count": 87, "entities": { "hashtags": [ { "text": "abitcherman", "indices": [ 15, 27 ] } ], "symbols": [], "user_mentions": [], "urls": [], "media": [ { "id": 436823496497172500, "id_str": "436823496497172480", "indices": [ 28, 50 ], "media_url": "http://pbs.twimg.com/media/Bg_op9pCEAAKfa6.jpg", "media_url_https": "https://pbs.twimg.com/media/Bg_op9pCEAAKfa6.jpg", "url": "http://t.co/yr0wq7Ifgg", "display_url": "pic.twitter.com/yr0wq7Ifgg", "expanded_url": "http://twitter.com/natthakan1989/status/436823496673349633/photo/1", "type": "photo", "sizes": { "large": { "w": 360, "h": 480, "resize": "fit" }, "thumb": { "w": 150, "h": 150, "resize": "crop" }, "medium": { "w": 360, "h": 480, "resize": "fit" }, "small": { "w": 340, "h": 453, "resize": "fit" } }, "source_status_id": 436823496673349600, "source_status_id_str": "436823496673349633", "source_user_id": 2335008656, "source_user_id_str": "2335008656" } ] }, "extended_entities": { "media": [ { "id": 436823496497172500, "id_str": "436823496497172480", "indices": [ 28, 50 ], "media_url": "http://pbs.twimg.com/media/Bg_op9pCEAAKfa6.jpg", "media_url_https": "https://pbs.twimg.com/media/Bg_op9pCEAAKfa6.jpg", "url": "http://t.co/yr0wq7Ifgg", "display_url": "pic.twitter.com/yr0wq7Ifgg", "expanded_url": "http://twitter.com/natthakan1989/status/436823496673349633/photo/1", "type": "photo", "sizes": { "large": { "w": 360, "h": 480, "resize": "fit" }, "thumb": { "w": 150, "h": 150, "resize": "crop" }, "medium": { "w": 360, "h": 480, "resize": "fit" }, "small": { "w": 340, "h": 453, "resize": "fit" } }, "source_status_id": 436823496673349600, "source_status_id_str": "436823496673349633", "source_user_id": 2335008656, "source_user_id_str": "2335008656" } ] }, "favorited": false, "retweeted": false, "possibly_sensitive": false, "possibly_sensitive_appealable": false, "lang": "th" }, "is_quote_status": false, "retweet_count": 57, "favorite_count": 0, "entities": { "hashtags": [ { "text": "abitcherman", "indices": [ 33, 45 ] } ], "symbols": [], "user_mentions": [ { "screen_name": "beabettergay", "name": "ง่วงเป็นเชี่ยนๆ", "id": 832173588, "id_str": "832173588", "indices": [ 3, 16 ] } ], "urls": [], "media": [ { "id": 436823496497172500, "id_str": "436823496497172480", "indices": [ 46, 68 ], "media_url": "http://pbs.twimg.com/media/Bg_op9pCEAAKfa6.jpg", "media_url_https": "https://pbs.twimg.com/media/Bg_op9pCEAAKfa6.jpg", "url": "http://t.co/yr0wq7Ifgg", "display_url": "pic.twitter.com/yr0wq7Ifgg", "expanded_url": "http://twitter.com/natthakan1989/status/436823496673349633/photo/1", "type": "photo", "sizes": { "large": { "w": 360, "h": 480, "resize": "fit" }, "thumb": { "w": 150, "h": 150, "resize": "crop" }, "medium": { "w": 360, "h": 480, "resize": "fit" }, "small": { "w": 340, "h": 453, "resize": "fit" } }, "source_status_id": 436823496673349600, "source_status_id_str": "436823496673349633", "source_user_id": 2335008656, "source_user_id_str": "2335008656" } ] }, "extended_entities": { "media": [ { "id": 436823496497172500, "id_str": "436823496497172480", "indices": [ 46, 68 ], "media_url": "http://pbs.twimg.com/media/Bg_op9pCEAAKfa6.jpg", "media_url_https": "https://pbs.twimg.com/media/Bg_op9pCEAAKfa6.jpg", "url": "http://t.co/yr0wq7Ifgg", "display_url": "pic.twitter.com/yr0wq7Ifgg", "expanded_url": "http://twitter.com/natthakan1989/status/436823496673349633/photo/1", "type": "photo", "sizes": { "large": { "w": 360, "h": 480, "resize": "fit" }, "thumb": { "w": 150, "h": 150, "resize": "crop" }, "medium": { "w": 360, "h": 480, "resize": "fit" }, "small": { "w": 340, "h": 453, "resize": "fit" } }, "source_status_id": 436823496673349600, "source_status_id_str": "436823496673349633", "source_user_id": 2335008656, "source_user_id_str": "2335008656" } ] }, "favorited": false, "retweeted": false, "possibly_sensitive": false, "possibly_sensitive_appealable": false, "lang": "th" }