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

November 25, 2019

  • Today, we’re updating our "batch historical Tweets" endpoint (Historical PowerTrack) to provide user profile location, bio description, and display name information that reflects values in place at the of the job processing. When the updated user objects are delivered, there will be a new "updated" string array in the User/Actor object. 
  • There are up to three possible values: name, description, location:  

                       "updated": ["name", "description", "location"]


October 29, 2019

  • Today, we’re releasing a new feature to the Account Activity API that will provide developers with the ability to view whether an account that mentions your subscribed user is blocked.
  • You can read more about the user_has_blocked data object structure and check out our forum announcement for more details.


July 25, 2019

  • Today, all connections to the Twitter API (and all other Twitter domains) will require TLS 1.2.
  • You can read more about this change in our forum announcement.

July 15, 2019

  • Starting today, we are introducing the new enterprise Account Activity API endpoint to deactivate user subscriptions using application-only OAuth.
  • 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.
  • We are immediately marking the existing enterprise 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.
  • Developers can learn more about this API in our documentation.

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 20, 2019

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 enterprise search APIs.
  • 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, with the Search API, 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 29th, 2018

  • Today, we are introducing a new operator, is:reply, to help you narrow conversations to those you care about most. You can now filter out replies from your results (in addition to the pre-existing ability to filter out Retweets, is:retweet, and Quoted Tweets, is:quote). This new operator is available today within PowerTrack, Historical PowerTrack, and Replay.
  • 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.
  • You can learn more about this operator in the documentation.

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 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 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.

August 23rd, 2018

August 20th, 2018

  • Today we are launching a new version of the Usage API. With this update, we’re making the API more stable by moving to a new system.
  • With the system update, users will experience a data "hole" as developers will only be able to pull data back to May 1, 2018. Therefore for the upcoming year, they will be missing out on a few months of historical data (until June 2019).
  • A product name is changing within the Usage API from Historical PowerTrack Subscription to Historical PowerTrack 2.0 which will make the product naming consistent with the rest of our user-facing wording. Customers will receive the exact same data in the same format with the update. You will see this change within the products.type JSON object.
  • If you have any questions, please reach out to your account manager.

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 21st, 2018

  • Today, we removed all Klout data from Tweet payloads as part of our GDPR updates.

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 24th, 2018

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


March 1, 2018

  • The addition of a new object 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.


December 15, 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 7th, 2017

  • Official launch of 280 character Tweets in languages where cramming was an issue. Please see our forum announcement or official blog post for further reference.


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.


September 26th, 2017

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


August 7, 2017

  • 30-Day and Full-Archive Search ended support for url_contains: operator. Deprecation of this operator was announced as part of the Gnip 2.0 migration in August 2016. Any Search query using the url_contains: Operator will be rejected as invalid.


July 6, 2017

  • The enterprise Search API (both 30-Day and Full-Archive) will no longer support the url_contains: operator beginning 30 days from today, or after August 4, 2017 (Support of url_contains: will actually end with the first deploy after that date). Deprecation of this Operator was announced as part of the Gnip 2.0 migration in August 2016. When Operator support is ended, any query using the url_contains: will be rejected as invalid.


April 25th, 2017

  • Rules with emojis are now available in the enterprise Search APIs


February 22nd, 2017

  • New Enrichment! Poll Metadata is now available through our enterprise APIs. See the documentation for more details.
  • New payload field: Image Alt-Text (decription) field may be present in the[] and[] section of the payload if a user chooses chooses the "Add description" option when adding a photo to a Tweet. This is available in enriched native format only.
  • Default payload format: Newly created streams on Gnip products will now default to orriginal format JSON.


January 23rd, 2017

  • Historical PowerTrack API & Replay API
    • Quote Tweet filtering is now supported
    • Quoted Tweets are now fully rehydrated within HPT and Replay Tweet payloads


January 17th, 2017

  • New payload fields: quote_count and reply_count are now available in native enriched format payloads across Realtime and Historical APIs


December 20th, 2016

  • Full-Archive Search API (FAS):
    • Added support for additional geo operators:
    • place:
    • place_country:
    • has:profile_geo:
    • profile_country:
    • profile_region:
    • profile_locality:


December 5th, 2016

  • Rule management (GET and DELETE) by Rule ID is now available for PowerTrack 2.0 and PowerTrack Replay 2.0


November 10th, 2016

  • 30-Day Search API:
    • Added support for additional geo operators:
    • place:
    • place_country:
    • has:profile_geo:
    • profile_country:
    • profile_region:
    • profile_locality: