This page tracks recent changes to the Twitter API platform. Please check back here for updates, announcements, and other API platform changes.


July 15, 2019

  • Starting today, we are introducing the new premium Account Activity API endpoint to deactivate user subscriptions using application-only OAuth.
  • We are immediately marking the existing premium Account Activity API endpoint used to deactivate user subscriptions with 3-Legged OAuth as deprecated. The endpoint will be retired and no longer be available starting from January 15, 2020.
  • This new endpoint offers developers the convenience of only having to provide a bearer token to deactivate a subscription, without requiring the subscribed user’s access token.
  • Developers can learn more about this API in our documentation.

June 10, 2019


May 21, 2019

  • Today some user object fields, including user.lang, will start returning 'null' for updated metadata fields previously announced in our forum post.
  • Developers can learn about this change through our documentation.


May 6th, 2019

  • Starting today, native media (photos, videos, and GIFs) can be added to Quote Tweets on Twitter, which will be shown as additional media metadata in the entities sections of Quote Tweet payloads. 
  • Developers can learn more about this in our documentation.

February 13th, 2019

  • Today the operator is:reply becomes available to use with the paid premium search endpoints. Note that this operator is not available in Sandbox dev environments.
  • The is:reply Boolean operator can be used to filter all replies to Tweets, or to filter out explicit replies that match a rule. This operator functions in the same way as the is:quote operator. 
  • Remember that all ‘is:’ and ‘has:’ operators must be used in conjunction with a standalone operator like a keyword or hashtag.
  • You can learn more about this operator in the documentation.

February 6th, 2019

  • Starting today, the expanded URL enrichment will no longer contain the unwound URL object and metadata (including the title and description fields) for URLs linking to Tweets, Moments, or profiles. Please note that other URLs (to websites, etc.) will continue to be enriched with this metadata, and the url, expanded_url, and display_url will still be available. This change applies to Decahose, PowerTrack, Historical PowerTrack, and the Search APIs.

November 19th, 2018

  • Today, we've added the ability for developers to view and edit their existing Twitter apps via the Twitter app dashboard on as long as they're logged into their Twitter account. Previously, you could only view and edit your existing Twitter apps on if you had applied or been approved for a developer account
  • You still must have an approved developer account to be able to create new Twitter apps.

November 15th, 2018

  • Today, we are adding new usage metrics to the premium usage dashboard within the developer portal
    • Previously, we featured the number of requests that developers had used out of their total allotment for the premium Search API products.
    • Moving forward, we will be adding premium Search API Tweet usage as well as premium Account Activity API subscription usage.  
  • You can read more about this change in our forum announcement.

November 7th, 2018

  • Today, we are announcing that advertisers and publishers are now able to add subtitle files (SRT) to their videos via, Media Studio and our publisher upload API. Subtitles will be viewable on auto-playing video (when no sound is available) on Android and Web. We will release the functionality for iOS in the coming weeks. 
  • To read more about the new subtitles endpoints, please review their respective API reference pages:

November 5th, 2018

  • Today we are announcing an update to the Account Activity API endpoint, GET subscriptions/count. To enable greater visibility into your billing details and use of the API, beginning today, you can programmatically pull the number of provisioned subscriptions associated with your Account Activity API instance within the JSON.  This means you can now see both what your provisioned number of subscriptions are, and how close you are to hitting that limit via the GET subscriptions/count API endpoint. 
  • This update has been documented with the Account Activity API documentation.

October 22nd, 2018


October 10th, 2018

  • Today we are announcing an update to the twitter-text library to account for the recent changes to the way that Twitter counts emojis. If an emoji previously counted as more than two characters, its count will now be reduced to just two characters to allow for users to make the most out of their 280 characters.
  • You can read more about this change in our forum announcement.


September 17th, 2018

  • We have fully retired the legacy Direct Message endpoints. You can find a list of the retired DM endpoints, as well as their replacements on this page.
  • You can learn more about this update via our forum announcement.


September 11th, 2018

  • Today we are implementing some changes to the process where you retreive attached media from Direct Messages. We will no longer support accessing media_url or media_url_https via an authenticated session. The request to fetch media_url_https MUST always be signed with the user’s access token using OAuth 1.0A. 
  • You can learn more about this update via our forum announcement.

August 23rd, 2018

August 16th, 2018

July 24th, 2018

June 21st, 2018


June 12th, 2018

  • Today, we started requiring that you whitelist the callback URLs that you use with the Sign in with Twitter process. You can read more about this update here.
  • We also announced the addition of the tweet_delete_events activity to the Account Activity API. This new activity will be sent for those corresponding deleted events to enable developers to more easily provide a compliant experience for their customers and application users. You can read more about this new activity in our forum post or on our documentation.

May 25th, 2018

May 23rd, 2018

  • Today, the timezone values in Twitter user objects became private fields. From here on out, all* time_zone and utc_offset data objects will return as null. Please read our forum post for more details.
    * They will continue to be available on the account/settings endpoint, for authenticated users only.

May 14th, 2018

  • Today, we are changing all instances of profile_background_image_url and profile_background_image_url_https to their default values. Please read our forum post for more details.
  • In addition to the above change, we are adding a new field to the Account Activity API payloads to reference which subscription the activity was delivered for. This JSON object is called for_user_id and will include the subscribed user's ID who produced that activity as its value. You can see some examples of this new JSON object in our account activity objects page.


May 10th, 2018

  • Today, we are announcing a change to the way that URLs will be rendered in the Quote Tweet payload.
  • We’re adding a new entity called the "quoted_status_permalink" entity to ensure the quoted Tweet can be referenced and we will be removing the link from the quoted Tweet "text" field.
  • With the new format, the link is no longer appended to the "text" field of the quoted Tweet in the "quoted_status" object.
  • Further, we will no longer put the quoted Tweet url, expanded_url, and display_url in the ‘urls’ entity. Instead, these will be added to a new "quoted_status_permalink" object with "url", "expanded", and "display" URL attributes. This means that the "quoted_status_permalink" object will be reserved for the link back to the quoted Tweet, whereas the "entities.urls" array can be used to identify any links shared within the original Tweet or Quote Tweet.
  • Please read our forum post and updated documentation for more details.


April 30th, 2018

  • The announcement of Twitter Kit deprecation, after October 31, 2018 Twitter Kit will no longer be actively maintained.  Please read our blog post for more details.


April 24th, 2018

  • Today we announced several updates to the platform related to GDPR. Please read our forum post for more details.


February 1st, 2018


December 19th, 2017

  • Launched both (All Activities) and (Direct Messages) Standard beta Account Activity APIs, read more about this launch on our blog.  Announced User streams & Site streams deprecation and sunset date of Tuesday June 19, 2018.


December 15th, 2017

  • Version 2.0 of twitter-text is now available on GitHub. This update addresses the change in our character limit that was rolled out on November 7th, 2017. To learn more about this update, please visit our forum.


November 14th, 2017

  • Launched the Premium APIs.
  • These new APIs build on the quality and stability of our enterprise data platform, and make it available more widely via a tiered pricing model. For the first time, you can start to search across 30 days of Tweets (instead of the limited 7 days of data on the standard endpoint), and optionally, you can also access our premium enrichments for profile geo, URL expansion, and poll data. Here’s a taste of some of the new features:
    • More Tweets per request (Sandbox + Premium)
    • A far more rich query language enabling more complex queries (Sandbox + Premium)
    • A counts endpoint that returns time-series counts of Tweets (Premium)
    • Metadata enrichments, such as expanded URLs and Profile Geo (Premium)
  • Read more about this launch on our blog.


November 7th, 2017

  • Official launch of 280 character limit expansion in languages where cramming was an issue. Added ability to send tweets with 280 characters using the POST statuses/update endpoint. Read more about this update on our forum.


November 1st, 2017

  • The ability to send Direct Messages via the statuses/update API endpoint has been completely removed, and the enable_dm_commands and fail_dm_commands parameters will no longer have any effect. Read more about this update on our forum.


October 11th, 2017

  • A change was made to Twitter’s backend OAuth API endpoints which altered the behaviour of the /oauth/authenticate endpoint to match that of the /oauth/authorize endpoint. Read more about this update on our forum.


October 10th, 2017

  • The Engagement API was updated to use the same metrics aggregation methodology in use by the Twitter analytics dashboard. Read more about this update on our forum.


October 1st, 2017

  • The default value of the fail_dm_commands parameter within the DM statuses/update endpoint has been switched to true. All status updates intended as Direct Messages will start to return errors (unless enable_dm_commands is false, in which case the Tweet will be posted). Read more about this update on our forum.


September 26th, 2017

  • The raw payload for 280 character tweets will be treated the same way as long tweets. Read more about this update on our forum.


September 11th, 2017

  • Adding new data to the Tweet payload (additional_media_info object) and also restricting some video details (video_info) for promoted Tweets where advertisers have requested we limit video playback to Twitter owned clients. You can find additional information about this change at the following link: Extended Entities Objects > Tweet with native video


June 2nd, 2017

  • The xAuth authentication mechanism has been removed from all Twitter APIs  Read more about this update on our forum.


May 8th, 2017

  • All HTTP headers have been forced into lowercase (content-typex-rate-limit-remainingx-access-level etc). Read more about this update on our forum.


May 5th, 2017

  • The optional enable_dm_commands parameter to statuses/update will enable applications to remove DM command support early, before the transition period ends. The default value is true (i.e. current legacy behavior), but this may be set to false to get the new, post-November 1 behavior. The optional fail_dm_commands parameter to statuses/update will make DM commands return HTTP 403 (error code 151) from the API when set to true. The default value is false. Read more about this update on our forum.


April 6th, 2017

  • Access to several new Direct Message APIs are now more widely available. Read more about this update on our blog.


March 9th, 2017

  • MPEG-DASH URLs (.mpd) has been removed from the payload of a Tweet that contains video. Read more about this update on our forum.