/twitter-history

Tracking significant changes to the Twitter API or platform as a whole

twitter-history

DOI

Past Twitter Logos

Tracking significant changes to the Twitter API or platform as a whole. These largely apply to v1.1 and Premium APIs, not for v2.

Attempting to be accurate to the day for dates, and as exhaustive as possible. The main purpose was to have a reference for when to use certain filters in APIs, and originally created for keeping track of dates when writing about features. Edits / additions welcome.

Changes

date change type description link
2006-03-21 First Tweet UX @jack just setting up my twttr
2006-03-26 Language API lang:. An example of Tweet metadata being backfilled while generating the Search index.
2006-07-13 Mentions API has:mentions begins matching.
2006-08-03 First Earthquake EVT Users tweet about a mild earthquake in California. Highlights potential of Twitter for reporting live events -
2006-10-06 Cashtags API has:symbols. $cashtags (or symbols) for discussing stock symbols does not become common until early 2009. Until then most usages were probably slang (e.g. $slang).
2006-10-26 Links API has:links begins matching.
2006-10-?? Replies UX @replies becomes a convention.
2006-11-23 Hashtags API has:hashtags begins matching.
2006-11-14 Favourites UX Favorites introduced.
2006-11-14 Deletions UX Tweets now have a delete button
2006-11-14 DMs UX Direct messages are introduced as 'notes directly to you and we archive them on the web in case you choose not to receive them via SMS or IM'
2006-11-14 Timestamps UX Timestamps appear as dates instead of relative '2 minutes ago'
2006-11-14 User Search UX You can search by name email or phone
2007-01-03 Verified API is:verified begins matching.
2007-01-30 Replies API @replies become a first-class object with a UI reply button with in_reply_to metadata. to: and in_reply_to_status_id: @Replies become a first-class event after becoming a user-convention in October 2006. @reply (in_reply_to_user_id) reply_to_status_id: begins matching.
2007-04-01 Hashtags API has:hashtags and # Operator. Hashtags become a common ‘organizing’ tool in August.
2007-04-01 Twitter Inc ORG Twitter spins off into its own company.
2007-04-?? Retweets API Retweets become a convention.
2007-08-23 Hashtags UX The hashtag (#) first proposed by user Chris Messina debuts on Twitter. #hashtags emerge as a primary tool for searching and organizing Tweets.
2008-02-27 Links API has:links and url: begin matching.
2008-02-27 Mentions API has:mentions and @ Operator begin matching.
2008-09-?? Emoji API emoji signal begins to appear in HPT estimates.
2009-02-?? Cashtags API $cashtags become a common convention for discussing stock ticker symbols.
2009-04-30 Search UX Users gain the ability to search and discover content in real-time
2009-05-15 Retweets API Retweet ‘beta’ is introduced with “Via @” prepended to Tweet body. is:retweet. Note that this Operator starts matching with the ‘beta’ release of official Retweets and its “Via @’ pattern. During this beta period the Tweet verb is ‘post’ and the original Tweet is not included in the payload.
2009-06-12 Verified UX First Verified accounts appear: begin with public officials public agencies famous artists athletes and other well known individuals at risk of impersonation
2009-08-13 Retweets API Final version of official Retweets is released with “RT @” pattern a verb set to ‘share’ and the ‘retweet_status’ attribute containing the original Tweet (thus approximately doubling the JSON payload size).
2009-10-30 Lists UX Lists added the ability to group users.
2009-11-06 Retweets UX Now a native feature - previously retweets were created manually by copy pasting text.
2009-11-12 What's Happening? UX Default prompt for new tweets changed from What are you doing?'' to What's Happening?''
2009-11-19 Geo Tweets UX First Geo-tagged Tweets. Tweet Geotagging API is launched providing the first method for users to share location via third-party apps.
2010-01-22 Space Tweet EVT First Tweet from Space
2010-03-06 Geo API has:geo bounding_box: and point_radius: geo Operators begin matching.
2010-04-13 Ads UX Twitter announces that it will start allowing for advertising in the form of promoted tweets TODO: Link?
2010-06-01 64-bit Tweet IDs API Tweet IDs are no longer sequential
2010-06-08 t.co API All links now shortened with t.co making link shorteners largely redundant
2010-06-14 Geo API Twitter Places introduced for geo-tagging Tweets.
2010-08-28 Media API has:videos (Until February 2015 this Operator matches on Tweets with links to select video hosting sites such as youtube.com vimeo.com and vivo.com).
2010-08-12 Publishing API Tweet button for websites is launched. Made sharing links easier.
2011-01-01 Counts API Followers and friends counts begin to be non-zero. followers_count: and friends_count: start having non-zero values to match on.
2011-01-01 Profiles API User profiles begin to match profiles as they were when Tweet posted. Tweets before this date have their user profiles set to how they existed in September 2011.
2011-01-01 Retweets API is:retweet and retweet_of_status_id:. Retweets became a convention as early as April 2007 but matching before this date depends on search for “RT @” or “Via @” patterns.
2011-04-05 New Design UX Major Redesign of the homepage TODO: Link?
2011-05-25 TweetDeck ORG Twitter buys TweetDeck. First version was released in 2008.
2011-05-31 Publishing API Follow button introduced making it easier to follow accounts associated with websites.
2011-06-02 Media API Powertrack has:images and has:media begin matching.
2011-07-20 Media API Fullarchive Search has:media and has:images begin matching. Native photos officially announced August 9 2010.
2011-08-27 URLs indexed API URLs first indexed for filtering
2011-08-15 Photos API Native photos introduced.
2011-09-01 Geo API has:geo place: place_country: bounding_box: and point_radius:.
2011-09-30 64-bit DM IDs API DM Message Ids become snowflake Ids
2012-01-26 Country Witheld Content ORG Introduction of Country Witheld Content (Country-specific Tweet or Account Blocks)
2012-03-26 Language API Gnip introduces new data enrichments. Gnip Language: gnip.lang language metadata. No longer filtered for. lang: Operator now based solely on root level Twitter language classification.
2012-03-26 Links API Gnip introduces new data enrichments. Expanded URLs: URL metadata from this date until launch of HPT 2.0 will contain gnip.expanded_url fully unwound URL. URL matching before this date will be based on URL as entered by the user. If the Tweet includes a shortened URL e.g. bit.ly there will be no expanded URL to match on.
2012-06-19 Replies in Profile UX Replies in profile are hidden by default
2012-07-31 Cashtags API $Cashtags become a clickable/searchable link.
2012-07-02 Transparency ORG The first Transparency Report published details on government requests
2012-08-16 API v1.1 API Significant changes to the API included removing the ability to request all replies to a tweet and different rate limits.
2012-11-?? Language API lang: Operator (matching on Twitter language classification).
2013-01-22 64-bit User IDs API User IDs became snowflake IDs like tweet IDs
2013-05-30 Bigger Lists API Previously lists were limited to 500 users. Lists expanded to 5000 users.
2013-06-04 Geo API has:profile_geo profile_point_radius: profile_bounding_box: profile_country: profile_region: profile_subregion: and profile_locality:.
2013-08-20 Cashtags API has:symbols and $ Operator.
2013-11-12 Collections UX Twitter introduced the ability to curate collections of tweets using TweetDeck. Initially called Custom Timelines.
2014-03-?? Photos API Photo tagging and up to four photos supported. Extended Twitter Entities metadata was introduced.
2014-04-?? Emojis API Emojis are natively supported in Twitter UI. Emojis were commonly used in Tweets since at least 2008.
2014-11-18 Historical Tweets UX Web Search on Twitter became capable of retrieving any historical tweet since 2006. API access is still restricted to a few days.
2014-12-01 URL Expansion API Enhanced URL expansion metadata (website titles and descriptions)
2014-12-03 Links API (Approximately) Some Enhanced URL metadata with HTML title and description begins in payloads. Enhanced metadata more fully emerged in May 2016.
2015-02-10 Media API has:videos begins matching on videos shared through Twitter’s user-interface (‘native’ videos).
2015-02-10 Media API has:videos matches on ‘native’ Twitter videos.
2015-02-17 Geo API has:profile_geo profile_country: profile_region: profile_locality: Profile Geo Operators begin matching.
2015-02-17 Geo API place_country: and place: Tweet geo Operators begin matching.
2015-02-17 Profile Geo API Profile Geo enrichment metadata and filtering
2015-04-01 New Profiles UX Significant changes to User Profiles
2015-04-06 Quote Tweets UX Other tweets can be embedded - introducing a new way to disseminate information.
2015-04-?? Geo API A change in Twitter’s ‘post Tweet’ user-interface design results in fewer Tweets being geo-tagged.
2015-08-06 Moments UX Like Collections but emphasising media. News organisations were the first to access this feature.
2015-08-11 Full Archive Search API Commercial Access to Historical Public Tweets
2015-09-28 Quote Tweets API is:quote matching on Quoted Tweets.
2015-10-06 Share Counts API Twitter removed the ability to see how many times a URL has been shared.
2015-10-?? Polls API Twitter Polls introduced. Polls originally supported two choices with a 24-hour voting period. In November Polls started supporting four choices with voting periods from 5 minutes to seven days. Poll metadata made available (enriched native format only) in February 2017.
2015-11-03 Likes UX Twitter Favourites changed to hearts'' or likes''.
2016-02-?? Gifs API Searchable GIFs natively hosted in Tweet compose.
2016-05-01 Links API Enhanced URL metadata more fully available and was officially announced as part of the Gnip 2.0 launch in August 2016. No associated Operators for these metadata with Search APIs.
2016-05-24 Extended Tweets UX Photos quoted tweets videos and mentions no longer count towards 140 character limit making longer tweets possible.
2016-06-?? Quote Tweets API Quoted Retweets generally available.
2016-06-14 Self Retweets UX You can now retweet your own tweets
2016-06-27 Stickers API Stickers introduced for adding to photos.
2016-06-?? Video API Native video support
2016-07-19 Verified UX Started taking public requests for Verification
2016-07-28 Links API url_title: and url_description: supported via Enchanced URLs enrichment.
2016-09-?? Extended Tweets API ‘Native attachments’ introduced with trailing URL not counted towards 140 characters (“dmw140 part 1”).
2017-01-17 Quote Tweets API ‘quote_count’ and ‘reply_count’ available in enriched native format. No associated Operators for these metadata.
2017-02-22 Poll Metadata API Enterprise APIs have Poll metadata
2017-02-22 Polls API Twitter Poll metadata included in Tweet metadata (enriched native format only).
2017-03-30 Replies API ‘Simplified Replies’ introduced with replied-to-accounts not counted towards 140 characters (“dmw140 part 2”).
2017-09-26 Longer Tweets UX Languages except Japanese Chinese and Korean can tweet 280 characters.
2017-12-12 Threads UX Ability to post entire threads of tweets instead of manually self replying
2018-02-26 Verified UX Public Access to Verification requests and Verification 'paused'
2018-05-14 Profile backgrounds API Removed deprecated profile background images (not profile banners) user.profile_background_image_url set to default value
2018-05-23 Timezones API Timezone information in time_zone and utc_offset no longer public; user.time_zone set to null; user.utc_offset set to null
2018-05-23 GDPR API GDPR updates user.time_zone set to null user.utc_offset set to null user.profile_background_image_url set to default value
2018-05-25 GDPR UX Privacy policy and settings for GDPR compliance introduced
2018-05-10 Quote Tweets API Updating quoteTweet formatting changes. quoted_status_permalink
2019-07-15 New Design UX New Design based on mobile Twitter becomes default

About

Why?

Archiving mostly, but also as a reference for analysis, for when things can be attributed to platform changes rather than some other changes you may be interested in measuring. It might be useful to consult entries if you have crawls for old tweets, to see what changes / differences you may come across.

What is a significant change?:

Roughly, any change that is platform-wide is included, eg: Major changes to UI like Retweet button. Policy tweaks to TOS, Developer agreement aren't in here, but maybe should be. Suggestions on classifying this better are welcome, I've been arbitrarily deciding what's significant and what's not.

Data:

  • date: YYYY-MM-DD

  • change: Short label

  • type: Rough classification of the type of change

    • UX is any change where users would be impacted somehow
    • ORG is any major organisational change
    • API any change that developers may care about
    • EVT a pivotal event of some sort
  • description: A Longer description of the change or impact.

  • link: Source URL for this change announcement or documentation.

Todo, Maybe:

  • Add column of affected fields and or endpoints, so CSV can be used automatically to check queries for issues (eg: warning that GEO data is unavailable for some date range, etc)
  • Bibtex entries for official source and a representative paper.
  • Extra column for source of change (docs, blog, other)
  • Move Org / Evt "changes" to a separate list, leave only changes with data impact.

Main Sources: