Change to DM Events Behavior
Today, we made a change to X API V2 DM Events behavior. With the new change participant_ids array will only be included for ParticipantsJoin and ParticipantsLeave events, and it will list only the participants who joined or left at the time of the event. The MessageCreate event will no longer include the participant_ids array. Learn more here.Launch of Account Activity API Endpoints
Today, we launched new X API v2 Account Activity API endpoints. Learn more here.Improvements to Media Upload Endpoint
We made few improvements to media upload endpoint to improve the developer experience. We introduced Dedicated Endpoints for Chunked Media Upload Media Upload endpoints. Learn more here.Launch of Media Upload Endpoints
Today, we launched new X API v2 Media Upload endpoints. Learn more here.Launch of New Documentation Site
Today, we launched our new X Developer Platform documentation site, https://docs.x.com.Addition of DM Blocking Endpoints
Today, we added the DM blocking and DM unblocking endpoints to the X API v2.Support for Longform Posts
Today, we added the ability to create longform Posts with a length of 25k instead of 4k.Support for Long Form Posts
Today, we added the ability to create long form Posts using the X API v2Retrieve User Affiliation
Today, we added the ability to retrieve a User’s affiliation programmatically using the X API v2Get Article Metadata
Today, we added the ability to get Article metadata using the X API v2Get Profile Image and Cover Picture
Today, we added the ability to get profile Image and cover picture URL via the X V2 APIDeprecation of Historical Powertrack Endpoints
Today, we are deprecating the Historical Powertrack and Insights track endpoints from the enterprise X API.Removal of Follows Endpoints from Basic and Pro Tiers
Today, we are removing the Follows and List Follows endpoints from the Basic and Pro tiers of the X API v2.Removal of Manage Blocks Endpoint
Today, we are removing the Manage Blocks endpoint from X API v2.Support for Bookmarks Count and Long Posts
Today, we added support for retrieving bookmarks count and the ability to retrieve posts with more than 280 characters in the X API v2.Deprecation of Statuses/Filter Endpoint
Today, we are deprecating the statuses/filter endpoint in the X API v1.1 Developers can use the filtered stream endpoint in the X API v2.Support for View Counts
Today, we are adding support for view counts in the X API v2. A new field called impression_count is made available in the public_metrics of the post payload.Addition of Verified Type Field
Today, we are adding a verified_type user field to the X API v2 that indicates the type of verification a user account has (blue, business, government or none) .Removal of Source Field
Today, we are removing the source field from the post payload in the X APIs.Addition of Direct Messages Endpoints
Today, Today, we are adding six v2 Direct Messages endpoints. This release includes three GET methods for retrieving Direct Message conversation events and three POST methods for creating new Direct Messages. These methods support group conversations for the first time.Please visit our blog post to learn more about this update.Addition of Filtering Operator Aliases
Filtering/query operator “aliases” were added to search and filtered stream endpoints, across enterprise, premium, and v2. In many cases, the operator refers to posts instead of statuses, e.g. “in_reply_to_tweet_id” as an alias for “in_reply_to_status_id.” In other cases, the new operator alias adds more clarity to the matching performed. For example., since posts can only have one video attachment, a new “has:video_link” alias is provided for “has:videos.” Check out the v2 filtered stream operator table to see more examples.Updates to Reverse Chronological Home Timeline
Beginning today, the reverse chronological home timeline v2 endpoint can return every post created on a timeline over the last 7 days and the most recent 800 regardless of the creation date.Updates to Streaming Endpoints Latency
Today, we’re making updates to the streaming endpoints in the X API v2 to reduce the latency by 50%.Enabling v1.1 Media Endpoints in Essential Access
Today, we’re enabling the v1.1 media endpoints in Essential access of the X API v2.Please visit our forum announcement to learn more about this update.Launch of Reverse Chronological Home Timeline Endpoint
Today, we’re launching a new endpoint that enables you to retrieve a collection of the most recent posts and reposts posted by who you follow.Please visit our forum announcement to learn more about this launch.Along with the new endpoints, the variants field is now available for the media object. This will give you the type of content attached with the URL.Launch of Bookmarks Endpoints
Today, we’re launching new endpoints that enable you to manage and lookup Bookmarks using the X API v2. The Bookmarks feature has long been available in the X app, but until now, there hasn’t been an endpoint that allows you to retrieve, create or build solutions to manage your Bookmarks via the API.Please visit our forum announcement to learn more about this launch.Launch of Quotes Lookup Endpoint
Today, we’re launching the quotes lookup endpoint that lets you get the quotes for a post ID.To learn more about this launch, please visit our forum announcement to learn more about this launch.Updates to Documentation Navigation
We’ve heard your feedback. Finding content in our documentation could be difficult, and it was confusing when you clicked on a link and were taken to an entirely different side navigation.Today, we’ve released an updated docs navigation that enables you to browse the full offering of the X Developer Platform from a single side navigation. With this launch, we eliminated redundant pages, removed confusing icons, and improved how you can interact with the different elements within the navigation.If you have any feedback, please let us know via our feedback channel.Improvements to Reposts and Likes Lookup Endpoints
Today, we’re launching improvements to the reposts lookup and the Likes lookup endpoints, allowing you to get back the complete list of accounts who have Liked or reposted a post, not just the last 100 accounts to do so.To learn more about this launch, please visit our forum announcement to learn more about this launch.Support for OAuth 2.0 Authentication
Today, all developers can now authenticate using OAuth 2.0 by selecting OAuth 2.0 as an authentication method in the developer portal. We’ve added support for confidential and public clients and all relevant v2 endpoints to use this authentication method as part of this release.OAuth 2.0 is an industry-standard authorization protocol that provides developers more control over an application’s scopes and improves authorization flows across multiple devices. In other words, developers building applications for people on X will have more control over the information their App requests from its users, so that you only have to ask your end-users for the data and information you need.This modern authorization protocol will allow you to present your end-users with a more streamlined consent flow for authorizing your app, which only displays the specific scopes you have requested from them.To learn more about this launch, please visit our forum announcement.Major Platform Updates to X API v2
Major platform updates: X API v2 is now the primary version, new Essential and Elevated access, and Policy changesToday, we are announcing that X API v2 is now the primary version of the X API. We have launched enough endpoints and functionality into X API v2 to satisfy the needs of 90% of all existing Apps built on the X API.We are launching the following changes today to further improve upon the X API v2 developer experience:- Fast and free Essential access to the API, and free Elevated access to developers who have had their use cases approved. We have a lot more details on these access levels available on our About the X API page.
-
We are removing language in our Developer Policy that restricted how you build with X’s core features, and limited the number of users you can support through your app.
- We are opening up our platform to encourage you to build tools and products that make X better, healthier, and extend the public conversation. See a list of solutions we’d love to see you build.
- Specifically, we’ve removed terms that restricted replication of the X experience, including X’s core features as well as terms that required permission to have high numbers of user tokens.
- We know that building solutions that help people on X often means a developer has to build (or replicate) some of the things that are available on X. These changes to our Developer Policy are intended to drive clarity for the developer ecosystem and provide an open API platform that makes it easier for developers to build, innovate, and make an impact on the public conversation.
Launch of List Lookup Endpoints
Today, we’re launching the new List lookup endpoints to X API v2. These endpoints will allow users to retrieve details on specified Lists such as followers, members, posts and more. The data retrieved can be used to build solutions that solve for curation, analysis and discoverability use cases and needs. In addition to new List endpoints, a new list: operator has been made available at the Academic Research access level. This will be available to use on search posts and post counts.To learn more about this launch, please visit our forum announcement.Additions to Spaces Endpoints
We are adding functionality to the Spaces endpoint to return the list of people who purchased a ticket to a Space, as well as support for Topics.To learn more about this launch, please visit our forum announcement.Launch of Manage Posts Endpoints
Today, we’re launching new manage posts endpoints to the X API v2. In addition to post and post delete functionality,, we’ve added the ability to post polls, tag people in images, create posts with reply settings, and post to Super Followers.To learn more about this launch, please visit our forum announcement.Changes to Embedded Buttons
Today, we’re making some changes to X’s embedded buttons. Buttons are now more rounded to match X.com buttons and we’ve (very slightly) updated our color palette.To learn more about this launch, please visit our forum announcement.Launch of Lists Endpoint Group
Today, we’re launching the new Lists endpoint group to X API v2. These endpoints will allow you to build solutions that curate and organize posts based on preferences, interests, groups, or topics.To learn more about this launch, please visit our forum announcement.Launch of Mutes Lookup Endpoint
Today, we’re launching the new mutes lookup endpoint to the X API v2. This endpoint will allow authenticated users to retrieve and get information on the accounts they have muted.To learn more about this launch, please visit our forum announcement.Launch of OAuth 2.0 Beta
Today, we’re launching a beta of OAuth 2.0 and fine-grained scopes on the X API v2. . Developers interested in shaping the future of OAuth 2.0 on the X Developer Platform, can request access to the OAuth 2.0 beta.OAuth 2.0 is the industry standard for authentication and will allow for a more modern authorization experience.The OAuth 2.0 beta lets you test this new functionality in a v2 Project and associated App and give us feedback before a General Availability release. However, since this implementation of OAuth 2.0 is currently in development, we strongly recommend that you refrain from testing on a public, production environment, or app.To learn more about this launch, please visit our forum announcement.Launch of Batch Compliance Endpoints
Today, we’re launching the new batch compliance endpoints to the X API v2 to make it easier for developers using the X API to keep their X data in compliance with our Developer Agreement and Policy. These endpoints allow developers and researchers to batch upload large amounts of post or User IDs and understand what action is needed to ensure that their datasets reflect user intent and the current state of the content on X.To learn more about this launch, please visit our forum announcement.Launch of Spaces Endpoints
Today, we’re launching the new Spaces endpoints and a new top-level Spaces data dictionary to the X API v2. The Spaces endpoints enable you to lookup Spaces by Space ID or user ID, or using keywords, hashtags, or usernames of people mentioned in a title. The new data dictionary contains relevant information about a Space such as its title, ticketed status, and participant metrics; all user IDs can be expanded into full objects.To learn more about this launch, please visit our forum announcement.New Object for Video Views Limitation
Previously, when you requested video view metrics using the enterprise [Engagement API]/x-api/enterprise-gnip-2.0/fundamentals/engagement-api) on posts that are older than 1800 days old, we delivered a zero value without much context. Today, we will start delivering a new object in these cases called unsupported_for_video_views_tweet_ids, which will include a comma-separated list of post IDs that are older than 1800 days old. You will still receive all other requested metrics for these posts in a separate object.To learn more about this launch, please visit our forum announcement.Addition of Alt Text Field
Today, we are making the alt_text field available in the X API v2 media object, in order to enable developers to build more consciously for accessibility.To request this field, you must pass the expansions=attachments.media_keys parameter, as well as the media.fields=alt_text parameter. If included in your request, this field will return the alt text for any posts that include images with alt text.To learn more about this launch, please visit our forum announcement.Launch of Reposts Endpoints
Today, we’re launching new reposts endpoints to X API v2. Developers can now use these endpoints to repost or undo a repost on behalf of an authenticated user, or to look up who reposted a given post.To learn more about this launch, please visit our forum announcement.Launch of Manage Mutes Endpoints
Today, we’re launching new manage mutes endpoints to the X API v2. These endpoints will allow authenticated users to mute or unmute accounts.To learn more about this launch, please visit our forum announcement.We have now reduced themax_results
that can deliver with the full-archive search endpoint when you are requesting the context_annotations
field with the tweet.fields
parameter to 100, meaning that you can only pull up to 100 posts with the field per page.Jun 29, 2021
Redundant connections and backfill are now available with v2 filtered stream and sampled stream
Reliability Features for Streaming Endpoints
Today, we are launching two reliability streaming features for X API v2’s filtered stream and sampled stream called backfill and redundant connections, which are now available on the Academic Research product track.The redundant connections feature enables you to connect to a given stream two times, which can help to ensure that you maximize streaming up-time in case one of your streams experiences a disconnection.Backfill can be utilized by adding the backfill_minutes parameter and a whole number between one and five to your streaming request, and allows you to request missed data that might have resulted from a disconnected stream.To learn more about this launch, please visit our forum announcement.Launch of Post Counts Endpoints
Today, we’re launching the new post counts endpoints to the X API v2. This includes two different endpoints: Recent post counts, which is available to all product tracks, and full-archive post counts, which is currently only available to the Academic Research Product Track. You can use these endpoints to receive the count of posts that matches a specified query.To learn more about this launch, please visit our forum announcement.Improvements to Teams
Today, we’re launching key improvements to the functionality of teams based on feedback we’ve heard from the community. We have updated the style and design of the team page. We also made changes to the invitation flow to make it easier to invite team members or to learn more about why an invitation might have failed. If you have a team account you can check out the changes by viewing the teams page of the developer portal. To learn more about teams check out our documentation on the subject and related FAQ.To learn more about this launch, please visit our forum announcement.Retirement of Configuration Endpoint
Today, we retired the standard v1.1 GET /help/configuration endpoint.To learn more about this launch, please visit our forum announcement.Consolidation of oEmbed Endpoint
Today, we’re sharing that the v1.1 oEmbed endpoint will be retired and removed on November 23, 2021, so that new features can be supported in a consistent manner. After that date, the only official and supported API endpoint for X oEmbeds (embedded posts and timelines) will be via publish.x.com/oembed.To learn more about this launch, please visit our forum announcement.Launch of Blocks and Likes Lookup Endpoints
Today, we’re launching the new blocks and Likes lookup endpoints to the X API v2. These endpoints enable you to use the v2 API to get information about which posts an account has liked, what users have liked a post, and who you or an authenticated user has blocked.To learn more about this launch, please visit our forum announcement.Launch of Manage Likes Endpoints
Today, we’re launching the new manage Likes endpoints to the X API v2. These endpoints enable you to use the v2 API to like and unlike posts.To learn more about this launch, please visit our forum announcement.Launch of Manage Blocks Endpoints
Today, we’re launching the new manage blocks endpoints to the X API v2. These endpoints enable you to block or unblock accounts on behalf of a user using user IDs.To learn more about this launch, please visit our forum announcement.Removal of Support for Embedded Timelines
Today we’re sharing our plans for the future of embedded timeline widgets. On June 23rd 2021, we plan to retire the Likes, Collections, and Moments timelines. We recommended you use the Profile and Lists timelines, which we’re updating to become faster, easier to use, and more up-to-date with X features and functionality.You can learn more about this change in our forum announcement.Launch of Manage Follows Endpoints
Today, we’re launching the new manage follows endpoints to the X API v2. These endpoints enable you to follow or unfollow accounts on behalf of a user using their user ID. This launch comes just a few months after the launch of the follows lookup endpoints, which allow you to retrieve an account’s followers and who they are following.To learn more about this launch, please visit our forum announcement.Introduction of Academic Research Product Track
Today, we are introducing the new Academic Research product track to X API v2. This update introduces a new application process for Academic Researchers that will provide those that are approved with an Academic Research Project that will unlock greater access and advanced functionality.With the new Academic Research product track, you will be able to access the following:- The new X API v2 full-archive search endpoint, which is only available to the Academic Research product track at this time.
- An increased post cap of 10 million, up from the 500,000 that is available to the Standard product track at the Basic access level.
-
New filter operators available to recent search, full-archive search, and filtered stream, including
$
(aka cashtag),bio
(only available via filtered stream),bio_name
(only available via filtered stream),bio_location
(only available via filtered stream),place
,place_country
,point_radius
,bounding_box
,-is:nullcast
,has:cashtags
andhas:geo
. - An increased rule limit for filtered stream of 1,000 concurrent rules, up from the 25 that is available to the Standard product track at the Basic access level.
- An increased query and rule character limit of 1,024 characters long, up from the 512 character limit that is available to the Standard product tack at the Basic access level
Addition of Reply Settings Field
Today we are launching a new field in the post object called reply_settings. This field is available on all X API v2 endpoints that return posts including post lookup, hide replies, recent search, sampled stream, filtered stream, follows lookup, user post timeline, and user mention timeline endpoints or by expanding the post object in any endpoint.This field indicates how the post author has allowed others to reply to their posts, whether it’s everyone, just the people they mention in the post, or those they follow. The field values returned by thereply_settings
field include everyone
, mentionedUsers
, and following
. If no conversation controls are set for the post, this will still show up in the post object with everyone
value for the field.Launch of User Post and Mention Timeline Endpoints
Today, we’re launching the new user post timeline and user mention timeline endpoints to the X API v2. These endpoints enable you to request the posts composed by, or mentioning, a specified account on X. Learn more in the forum post announcement.Launch of Follows Lookup Endpoints
Today, we’re launching the new follows lookup endpoints to the X API v2. These endpoints enable you to retrieve an account’s followers and who they are following using their user ID. Learn more in the forum post announcement.Retirement of Labs v2 Endpoints
Retired Labs v2 recent search and hide replies endpointsWe have retired the following endpoints. If you were using the Labs versions of these endpoints, you can use the linked migration guides to update your integration to start using the new X API v2 versions:We also have additional details about migration to the new X API v2 via our migration hub.If you have any questions, please reach out to our Labs forum category.Retirement of Labs v1 Endpoints
On August 12th, 2020, we launched the new X API v2: Early access. With this release, we graduated several endpoints to X API v2 from the Labs program, and announced that the Labs version of the endpoints would remain in a deprecated state for 60 days before retiring them.Today marks 60 days since the launch, meaning that we have retired the following endpoints. If you are using the Labs versions of these endpoints, you can use the linked migration guides to update your integration to start using the new X API v2 versions:We also have additional details about migration to the new X API v2 via our migration hub.If you have any questions, please reach out to our Labs forum category.Addition of Post Consumption Status Bar
In the main dashboard page of the new developer portal, you can now check your usage towards the post cap of 500,000 posts per month. This cap is applied at the Project level, across the following v2 endpoints in Basic access: filtered stream, and recent search.In order to see this feature and use the new v2 endpoints, you will need to activate the new developer portal experience.Launch of Hide Replies Endpoint
Today, we’re launching the new hide replies endpoint into the v2 X API. This endpoint enables you to hide abusive, distracting, or misleading replies to posts – a crucial piece to improving the health of the public conversation. Learn more in the forum post announcement.The same endpoint in X Developer Labs is now deprecated, and it will be retired in 90 days. Learn how to migrate to the v2 endpoint.Early Access to X API v2 Endpoints
Today we announced Early Access to the first endpoints of the new X API!The new X API features a new API foundation which will allow us to deliver new functionality faster; an updated data format and new functionality that gives you more control over which fields you receive; new post, user, and media fields; and a set of updated endpoints that enable you to listen to and analyze posts, including the following:You can find a full list of the new functionality available, and find migration resources on our [X API v2: Early Access docs page]https://developer.x.com/en/docs/x-api/early-access).Learn more about what we have planned in our “[Guide to the future of the X API]https://developer.x.com/en/docs/x-api/early-access)”.Deprecation of Labs Endpoints
We are deprecating certain Labs endpoints due to the launch of their X API v2 replacements in this release.The following Labs v1 endpoints will be retired 60 days from today’s release:- post metrics v1
- Filtered stream v1
- Sampled stream v1
- Recent search v2
Improvements to Hide Replies
We added the ability to unhide a reply. Additionally, previously unhidden replies can now be hidden again via this endpoint.Get more details in the Hide replies documentation.Retirement of Labs v1 Endpoints
Today we are retiring the Labs v1 posts and users, hide replies, and recent search endpoints.You can read more about our Labs v1 plan in our forum announcement.Addition of Quote Tweets Metric
Today, thequote_tweets
metric is now available for ‘unowned’ posts via the /totals endpoint. This means that you can access the quote count for all posts by using app-only authentication.You can read more about this change in our forum post.Addition of New Post Metrics
Today we are adding two new non-public metrics subfields,user_profile_clicks
and url_link_clicks
, to the post object in the X Developer Labs post lookup endpoints. They will be returned when using the tweet.fields
parameter with any of the following values: non_public_metrics
, organic_metrics
, or promoted_metrics
.To learn more, please visit the post lookup API referenceChanges to Repost Counts
Starting today, X web, iOS and Android will be showing the total ‘reposts and comments’ count per post. Using the X API, the total ‘reposts and comments’ number matching the X interface can be calculated by adding theretweet_count
and quote_count
when available. Additionally quote_count
will be the total unique accounts that have quoted the post, rather than the total posts quoting the post. For more details, please see our forum post.Organic and Promoted Metrics Groupings
We are addingorganic_metrics
and promoted_metrics
to the post and media objects in the post lookup endpoints.Addition of Metrics to Endpoints
We are adding metrics to the post and media objects in the post lookup and recent search endpoints.You can read more about these changes in our forum announcementLaunch of COVID-19 Endpoints
Today we are launching a new COVID-19 stream endpoint and an accompanying compliance endpoint.You can read more about these changes in our forum announcement.Updates to Replay API User Profiles
Starting today, the Replay API will deliver user profile objects that reflect the referenced user at the time the Replay API is running. This change to deliver current user profile objects is similar to the recent Historical PowerTrack update below from Nov. 25, 2019.Addition of Post Annotations
We are adding annotations to the post object in the posts and recent search endpoints.You can read more about this change in our forum announcement.Updates to Developer Policy
Today, we announced a significant update to the Developer Policy. We encourage you to read more about this via our forum and blog posts, and to review the revised policy. The Developer Policy is one of the foundations for your use of the X API and it is important to understand your commitments.Launch of Hide Replies Endpoint
We want to help people feel safe and comfortable having conversations on X. As part of that, today we’re excited to give post authors more control over the conversations they start by supporting the hide replies feature with a new endpoint.You can read more about this new endpoint in our forum announcement.Release of v2 Labs Endpoints
Today, we are bringing our posts and Users, Recent Search and Hide Replies endpoints to v2 of Labs. We are deprecating Labs v1 endpoints and will fully retire them 90 days after this initial release. We will also keep our v1 documentation available for this duration. You can provide us feedback on this versioning strategy via our feedback channel.We’re releasing the following changes to posts and Users:- Introduce fields as a query parameter
- Remove formats as a query parameter
- Add path variable for single ID lookup in posts and Users
- Adjusting the path and query parameters for single and multi-username lookup in GET /users
-
Change field name
stats
topublic_metrics
-
Remove the
most_recent_tweet_id
expansion in Users -
Remove HTML tags from the
source
field in posts to make that field easier to parse
Addition of Drop/Undrop Events to Compliance Firehose
Today we added new drop/undrop event types to the Compliance Firehose API. You can read more about them in our documentation.Changes to Access Token Management
Today, we’re making changes to the way that Access Tokens and Access Token Secrets are presented and managed within the applications Dashboard on developer.x.com.In order to make API integrations more secure, we will no longer show the Access Token and Access Token Secret on the Dashboard beyond the first time that these values are generated.After the first time, these credentials can not be retrieved. You will be able to regenerate the tokens on the Dashboard, but this will invalidate your current token and secret.You can read more about this change in our forum announcement.Removal of SPDY Support
Starting January 15, 2020, all connections to the X API (and all other X domains) will no longer support SPDY connections.You can read more about this change in our forum announcement.Launch of Recent Search Endpoint in Labs
Today, we are releasing a new endpoint to search for posts posted in the last 7 days.Learn more about this launch via our forum announcement.Update to Twurl CLI
A new updated major release of our X API CLI,[twurl](https://github.com/twitter/twurl)
, is now available. This release includes a number of bug fixes and enhancements and introduces Bearer Token support which helps to add functionality around the Premium and X Developer Labs endpoints. Read more in our forum post.Dec 10, 2019
post annotations added to the post Object for sampled stream and filtered stream endpoints in Labs
Addition of Post Annotations in Streams
Today in X Developer Labs, we are releasing new metadata elements to the default post payload. These new fields, rendered as part of the post payload, will provide more contextual information about the post.Learn more about this launch via our forum announcement.Updates to Historical PowerTrack User Profiles
Today, we’re updating our “batch historical posts” 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"]
See the documentation on Historical PowerTrack’s data format for more details.Addition to Account Activity API
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 theuser_has_blocked
data object structure and check out our forum announcement for more details.Launch of Sampled Stream Endpoint in Labs
Today, we are releasing a new endpoint to stream a sample of all public posts in real-time, as they are posted.Learn more about this launch via our forum announcement.Launch of Filtered Stream Endpoint in Labs
Today, we are releasing a new streaming endpoint to retrieve posts, and an endpoint to manage your filters in X Developer Labs. With these endpoints, you will be able to retrieve up to 500,000 posts per month (maximum 50 posts per second); you can set up to 10 filter rules on your stream (these can be applied at the same time).Learn more about this launch via our forum announcement.Requests parameters documented in the API reference pages are now clearly marked as either optional or required. Additionally, API reference pages will describe a JSON body payload when this is allowed by a request.Launch of Post Metrics in Labs
You can now retrieve engagement data for any post or list of posts from owned/authorized accounts. The posts you query must be no older than 30 days and cannot be reposts.GET /tweets/metrics/private supports the following metrics:-
impressions
-
reposts
-
quotes
-
likes
-
replies
-
video views
-
video view quartiles
(where the requester is also the author of the media)
Changes to DM Permissions
Starting today, applications that need to create Direct Messages will be required to have “Read, Write, and Direct Messages” app permissions (RW+DM). Applications attempting to create Direct Messages with only the RW app permission will receive the following error:{"code": 93,"message": "This application is not allowed to access or delete your direct messages."}
You can learn more about this change via our forum announcement.Addition of Pinned Post Expansion
pinned_tweet_id
will expand a user’s pinned post through our user object expansion.Addition of Quote Counts Metadata
Developers can use the new Labs endpoints to pull counts of quotes.Addition of Most Recent Post Expansion
most_recent_tweet_id
will expand a user’s most recent post through our user object expansion.Learn more about this launch via our forum announcement.Requirement for TLS 1.2
Today, all connections to the X API (and all other X domains) will require TLS 1.2.You can read more about this change in our forum announcement.New Account Activity API Endpoint
Starting today, we are introducing the new 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.New Expansions for Tweets Endpoint
We added two new expansions to the [GET /tweets]https://developer.x.com/en/docs/labs/tweets-and-users/api-reference/get-tweets.html) endpoint:entities.mentions.username will expand the username of any recognized user mention in a post into a full user object.referenced_tweets.id.author_id
expands the ID of the author of any referenced post, when one of the posts requested is a repost, Quoted post or Reply. This expansion will also expand the referenced post ID into a full object.Support for Tweets and Users Endpoints in Labs
The first two endpoints are now available via the Labs portal. Make sure you have an approved developer account and have applied for Labs access to get started with these endpoints.Key differences from equivalent v1.1 functionality include:- Single endpoint for single object “show” function and batch “lookups”
- [Expansion parameters]) support the inclusion of additional objects as part of one request (e.g. mentioned users, referenced posts, e.g.)
- [Format parameters]) support different data projections with more or less verbose payloads
- Rate limiting is at the app level, regardless of auth method (user context or bearer token)
Retirement of Terms and Privacy Endpoints
We have fully retired the Terms of Service and Privacy Endpoints. The current status of our Privacy Policy and Terms of Service is best served by our up-to-date web pages.You can learn more about this change via our forum announcement.Changes to User Object Fields
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.Launch of Account Activity Replay API
Starting today, we are introducing the Account Activity Replay API, a data recovery tool available with the enterprise tier of the Account Activity APIThe Account Activity Replay API allows you to retrieve events from as far back as five days. It should be utilized to recover data in scenarios where your webhook server misses eventsDevelopers can learn more about this API in our documentation.Support for Native Media in Quotes
Starting today, native media (photos, videos, and GIFs) can be added to quotes on X, which will be shown as additional media metadata in the entities sections of quote payloads.Developers can learn more about this in our documentation.Addition of is:reply Operator
Today, the operator is:reply becomes available to use with the enterprise search APIs and the paid version of the premium search endpoints.The is:reply Boolean operator can be used to filter all replies to posts, 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.Changes to Expanded URL Enrichment
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 posts, Moments, or profiles. Please note that other URLs (to websites, etc.) will continue to be enriched with this metadata, and the url, expanded_url, anddisplay_url
will still be available. This change applies to Decahose, PowerTrack, Historical PowerTrack, and the Search APIs.Addition of is:reply Operator in PowerTrack
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 reposts, is:retweet, and Quoted posts, 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 posts, 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.Access to Apps in Developer Portal
Today, we’ve added the ability for developers to view and edit their existing X apps via the X app dashboard on developer.x.com as long as they’re logged into their X account. Previously, you could only view and edit your existing X apps on developer.x.com 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 X apps.Support for Video Subtitles
Today, we are announcing that advertisers and publishers are now able to add subtitle files (SRT) to their videos via ads.x.com, 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:Update to Account Activity API Endpoint
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.New Rate Limits on POST Endpoints
Today we are implementing new app-level rate limits on several of our standard POST endpoints:- POST statuses/update
- POST statuses/retweet/:id
- POST favorites/create
- POST direct_messages/events/new
- POST friendships/create
Update to twitter-text Library
Today, we are announcing an update to the twitter-text library to account for the recent changes to the way that X 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.Retirement of Legacy DM Endpoints
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](https://developer.x.com/content/developer-twitter/en/docs/direct-messages/sending-and-receiving/api-reference.You can learn more about this update via our forum announcement.Changes to DM Media Access
Today, we are implementing some changes to the process where you retreive attached media from Direct Messages. We will no longer support accessingmedia_url
or media_url_https
via an authenticated www.x.com 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.Retirement of User and Site Streams
We have fully retired User Streams and Site Streams.You can learn more about this update via our forum announcement.New Version of Usage API
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.API Deprecations
The Account Activity API DM Beta product was fully retired today.The following services and endpoints will experience degraded service starting today:- User Streams
- Site Streams
- GET direct_messages
- GET direct_messages/sent
- GET direct_messages/show
- POST direct_messages/new
- POST direct_messages/destroy
Changes to App Creation and Rate Limits
As of today, you will no longer be able to create new X apps via apps.x.com. You will now be redirected to either your developer portal account or, if you don’t have a developer portal account yet, to the page where you can apply.We also announced that we will be implementing new app-level rate limits to the following POST endpoints on September 10th, 2018.- POST statuses/update
- POST statuses/retweet:id
- POST friendships/create
- POST favorites/create
- POST direct_messages/events/new
App Management in Developer Portal
If you have a developer portal account, you can now create and manage your X apps. Please read our forum post for more details.Changes to Sign in with X and Account Activity
Today, we started requiring that you register the callback URLs that you use with the Sign in with X 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.Updates to Terms and Policies
Today, we made some changes to our Terms of Service, Privacy Policy, and [X Developer Agreement]https://developer.x.com/en/developer-terms/agreement-and-policy that include privacy, security, and data protection updates. Please read our forum post for more details.Timezone Fields Made Private
Today, the timezone values in X 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.Removal of Klout Data
Today, we removed all Klout data from post payloads as part of our GDPR updates.Changes to Profile Background and Account Activity
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.Changes to Quote Payload Rendering
Today, we are adding a change to the way that URLs will be rendered in the quote payload.We’re adding a new entity called the “quoted_status_permalink” entity to ensure the quoted post can be referenced and we will be removing the t.co link from the quoted post “text” field.With the new format, the t.co link is no longer appended to the “text” field of the quoted post in the “quoted_status” object.Further, we will no longer put the quoted post t.co 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 t.co link back to the quoted post, whereas the “entities.urls” array can be used to identify any links shared within the original post or quote.Please read our forum post and updated documentation for more details.Platform Updates for GDPR
Today we announced several updates to the platform related to GDPR. Please read our forum post for more details.Addition of Additional Media Info Object
The addition of a new object to the post payload – additional_media_info object – and also restricting some video details (video_info) for promoted posts where advertisers have requested we limit video playback to X owned clients. You can find additional information about this change at the following link: Extended Entities Objects > post with native video.Launch of Premium Full-Archive Search
Launch of the premium full-archive search endpoint.Launch of Account Activity APIs
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.Update to twitter-text Library
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.Launch of Premium APIs
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 posts (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 posts 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 posts (Premium)
- Metadata enrichments, such as expanded URLs and Profile Geo (Premium)
Launch of 280 Character Posts
Official launch of 280 character posts in languages where cramming was an issue. Please see our forum announcement or official blog post for further reference.Removal of DM Commands in Statuses/Update
The ability to send Direct Messages via the statuses/update API endpoint has been completely removed, and theenable_dm_commands
and fail_dm_commands
parameters will no longer have any effect. Read more about this update on our forum.Changes to OAuth Login Flow
A change was made to X’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.Updates to Engagement API Metrics
The Engagement API was updated to use the same metrics aggregation methodology in use by the X analytics dashboard. Read more about this update on our forum.Changes to DM Commands Failure
The default value of thefail_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 post will be posted). Read more about this update on our forum.Treatment of 280 Character Tweets
The response payload for 280 character tweets will be treated the same way as long tweets. Read more about this update on our forum.Addition of Additional Media Info
Adding new data to the post payload (additional_media_info object
) and also restricting some video details (video_info
) for promoted posts where advertisers have requested we limit video playback to X owned clients. You can find additional information about this change at the following link: Extended Entities Objects > post with native videoEnd of Support for url_contains Operator in 30-Day Search
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.Upcoming Removal of url_contains Operator in Search APIs
The 30-Day 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.Retirement of xAuth
The xAuth authentication mechanism has been removed from all X APIs Read more about this update on our forum.HTTP Headers Forced to Lowercase
All HTTP headers have been forced into lowercase (content-type
, x-rate-limit-remaining
, x-access-level
etc). Read more about this update on our forum.Optional Parameters for DM Commands
The optionalenable_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.Support for Emojis in Rules
Rules with emojis are now available in the enterprise Search APIsWider Availability of Direct Message APIs
Access to several new Direct Message APIs are now more widely available. Read more about this update on our blog.Retirement of MPEG-DASH Video Support
MPEG-DASH URLs (.mpd) has been removed from the payload of a post that contains video. Read more about this update on our forum.New Enrichments and Payload Changes
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 entities.media[] and extended_entities.media[] section of the payload if a user chooses chooses the “Add description” option when adding a photo to a post. This is available in enriched native format only.Default payload format: Newly created streams on Gnip products will now default to orriginal format JSON.Updates to Historical PowerTrack and Replay API
Historical PowerTrack API & Replay API- quote filtering is now supported
- Quoted posts are now fully rehydrated within HPT and Replay post payloads
New Payload Fields for Counts
New payload fields: quote_count and reply_count are now available in native enriched format payloads across Realtime and Historical APIsSupport for Geo Operators in Full-Archive Search
Full-Archive Search API (FAS):- Added support for additional geo operators:
- place:
- place_country:
- has:profile_geo:
- profile_country:
- profile_region:
- profile_locality: