# null
Source: https://docs.x.com/home
export const IntroCard = ({img, href, title, description}) => {
return
{description}
{title}
Get immediate access to the X API and unlock the potential of X data
Businesses, researchers, and developers all over the world have used the X Developer Platform to creatively innovate, gain valuable insights, and shape the future. Explore how they did it and get inspired to use the APIs in your own way.
Browse all success stories{description}
{description}
{description}
Endpoint | Pro Limit | Basic Limit | Free Limit |
---|---|---|---|
Tweets | |||
DELETE /2/tweets/:id | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
17 requests / 24 hours PER USER 17 requests / 24 hours PER APP |
DELETE /2/users/:id/likes/:tweet\_id | 50 requests / 15 mins PER USER |
100 requests / 24 hours PER USER |
1 requests / 15 mins PER USER |
DELETE /2/users/:id/retweets/:tweet\_id | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
GET /2/tweets | 900 requests / 15 mins PER USER 450 requests / 15 mins PER APP |
15 requests / 15 mins PER USER 15 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/tweets/:id | 900 requests / 15 mins PER USER 450 requests / 15 mins PER APP |
15 requests / 15 mins PER USER 15 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/tweets/:id/liking\_users | 75 requests / 15 mins PER USER 75 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/tweets/:id/quote\_tweets | 75 requests / 15 mins PER USER 75 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 5 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/tweets/:id/retweeted\_by | 75 requests / 15 mins PER USER 75 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 5 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/tweets/counts/all | 300 requests / 15 mins PER APP |
|
|
GET /2/tweets/counts/recent | 300 requests / 15 mins PER APP |
5 requests / 15 mins PER APP |
1 requests / 15 mins PER APP |
GET /2/tweets/search/all | 1 requests / second PER USER 1 requests / second PER APP |
|
|
GET /2/tweets/search/recent | 300 requests / 15 mins PER USER 450 requests / 15 mins PER APP |
60 requests / 15 mins PER USER 60 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/tweets/search/stream | 50 requests / 15 mins PER APP |
|
|
GET /2/tweets/search/stream/rules | 450 requests / 15 mins PER APP |
|
|
GET /2/users/:id/liked\_tweets | 75 requests / 15 mins PER USER 75 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 5 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/users/:id/mentions | 300 requests / 15 mins PER USER 450 requests / 15 mins PER APP |
10 requests / 15 mins PER USER 15 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/users/:id/timelines/reverse\_chronological | 180 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
GET /2/users/:id/tweets | 900 requests / 15 mins PER USER 1500 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 10 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/users/reposts\_of\_me | 75 requests / 15 mins PER USER |
75 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
POST /2/tweets | 100 requests / 15 mins PER USER 10000 requests / 24 hours PER APP |
100 requests / 24 hours PER USER 1667 requests / 24 hours PER APP |
17 requests / 24 hours PER USER 17 requests / 24 hours PER APP |
POST /2/tweets/search/stream/rules | 100 requests / 15 mins PER APP |
|
|
POST /2/users/:id/likes | 1000 requests / 24 hours PER USER |
200 requests / 24 hours PER USER |
1 requests / 15 mins PER USER |
POST /2/users/:id/retweets | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
PUT /2/tweets/:tweet\_id/hidden | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
Users | |||
DELETE /2/users/:source\_user\_id/following/:target\_user\_id | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
DELETE /2/users/:source\_user\_id/muting/:target\_user\_id | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
GET /2/users | 900 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
100 requests / 24 hours PER USER 500 requests / 24 hours PER APP |
1 requests / 24 hours PER USER 1 requests / 24 hours PER APP |
GET /2/users/:id | 900 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
100 requests / 24 hours PER USER 500 requests / 24 hours PER APP |
1 requests / 24 hours PER USER 1 requests / 24 hours PER APP |
GET /2/users/:id/blocking | 15 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
GET /2/users/:id/muting | 15 requests / 15 mins PER USER |
100 requests / 24 hours PER USER |
1 requests / 24 hours PER USER |
GET /2/users/by | 900 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
100 requests / 24 hours PER USER 500 requests / 24 hours PER APP |
1 requests / 24 hours PER USER 1 requests / 24 hours PER APP |
GET /2/users/by/username/:username | 900 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
100 requests / 24 hours PER USER 500 requests / 24 hours PER APP |
3 requests / 15 mins PER USER 3 requests / 15 mins PER APP |
GET /2/users/me | 75 requests / 15 mins PER USER |
250 requests / 24 hours PER USER |
25 requests / 24 hours PER USER |
GET /2/users/search | 900 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
|
|
POST /2/users/:id/following | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
POST /2/users/:id/muting | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
Spaces | |||
GET /2/spaces | 300 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/spaces/:id | 300 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/spaces/:id/buyers | 300 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/spaces/:id/tweets | 300 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/spaces/by/creator\_ids | 300 requests / 15 mins PER USER 1 requests / second PER APP |
5 requests / 15 mins PER USER 25 requests / second PER APP |
1 requests / second PER USER 1 requests / 15 mins PER APP |
GET /2/spaces/search | 300 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
Direct Messages | |||
DELETE /2/dm\_events/:id | 1500 requests / 24 hours PER USER 4000 requests / 24 hours PER APP |
200 requests / 15 mins PER USER 2500 requests / 24 hours PER APP |
|
GET /2/dm\_conversations/:dm\_conversation\_id/dm\_events | 15 requests / 15 mins PER USER |
1 requests / 24 hours PER USER |
|
GET /2/dm\_conversations/with/:participant\_id/dm\_events | 15 requests / 15 mins PER USER |
1 requests / 24 hours PER USER |
|
GET /2/dm\_events | 15 requests / 15 mins PER USER |
1 requests / 24 hours PER USER |
|
GET /2/dm\_events/:id | 15 requests / 15 mins PER USER |
5 requests / 24 hours PER USER |
|
POST /2/dm\_conversations | 15 requests / 15 mins PER USER 1440 requests / 24 hours PER APP |
1 requests / 24 hours PER USER 1 requests / 24 hours PER APP |
|
POST /2/dm\_conversations/:dm\_conversation\_id/messages | 15 requests / 15 mins PER USER 1440 requests / 24 hours PER APP |
1 requests / 24 hours PER USER 1 requests / 24 hours PER APP |
|
POST /2/dm\_conversations/with/:participant\_id/messages | 1440 requests / 24 hours PER USER 1440 requests / 24 hours PER APP |
1 requests / 24 hours PER USER 1 requests / 24 hours PER APP |
|
Lists | |||
DELETE /2/lists/:id | 300 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
DELETE /2/lists/:id/members/:user\_id | 300 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
DELETE /2/users/:id/followed\_lists/:list\_id | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
DELETE /2/users/:id/pinned\_lists/:list\_id | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
GET /2/lists/:id | 75 requests / 15 mins PER USER 75 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 5 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/lists/:id/members | 900 requests / 15 mins PER USER 900 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/lists/:id/tweets | 900 requests / 15 mins PER USER 900 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
|
GET /2/users/:id/list\_memberships | 75 requests / 15 mins PER USER 75 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/users/:id/owned\_lists | 15 requests / 15 mins PER USER 15 requests / 15 mins PER APP |
100 requests / 24 hours PER USER 500 requests / 24 hours PER APP |
1 requests / 24 hours PER USER 1 requests / 24 hours PER APP |
GET /2/users/:id/pinned\_lists | 15 requests / 15 mins PER USER 15 requests / 15 mins PER APP |
100 requests / 24 hours PER USER 500 requests / 24 hours PER APP |
1 requests / 24 hours PER USER 1 requests / 24 hours PER APP |
POST /2/lists | 300 requests / 15 mins PER USER |
100 requests / 24 hours PER USER |
1 requests / 24 hours PER USER |
POST /2/lists/:id/members | 300 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
POST /2/users/:id/followed\_lists | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
POST /2/users/:id/pinned\_lists | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
PUT /2/lists/:id | 300 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
Bookmarks | |||
DELETE /2/users/:id/bookmarks/:tweet\_id | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
GET /2/users/:id/bookmarks | 180 requests / 15 mins PER USER |
10 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
GET /2/users/:id/bookmarks/folders | 50 requests / 15 mins PER USER 50 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 5 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/users/:id/bookmarks/folders/:folder\_id | 50 requests / 15 mins PER USER 50 requests / 15 mins PER APP |
5 requests / 15 mins PER USER 5 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
POST /2/users/:id/bookmarks | 50 requests / 15 mins PER USER |
5 requests / 15 mins PER USER |
1 requests / 15 mins PER USER |
Compliance | |||
GET /2/compliance/jobs | 150 requests / 15 mins PER APP |
5 requests / 15 mins PER APP |
1 requests / 15 mins PER APP |
GET /2/compliance/jobs/:job\_id | 150 requests / 15 mins PER APP |
5 requests / 15 mins PER APP |
1 requests / 15 mins PER APP |
POST /2/compliance/jobs | 150 requests / 15 mins PER APP |
15 requests / 15 mins PER APP |
1 requests / 15 mins PER APP |
Usage | |||
GET /2/usage/tweets | 50 requests / 15 mins PER APP |
50 requests / 15 mins PER APP |
1 requests / 15 mins PER APP |
Trends | |||
GET /2/trends/by/woeid/:id | 75 requests / 15 mins PER APP |
15 requests / 15 mins PER APP |
|
GET /2/users/personalized\_trends | 10 requests / 15 mins PER USER 200 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 20 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 24 hours PER APP |
Communities | |||
GET /2/communities/:id | 300 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
GET /2/communities/search | 300 requests / 15 mins PER USER 300 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 25 requests / 15 mins PER APP |
1 requests / 15 mins PER USER 1 requests / 15 mins PER APP |
Along with X API v2, we launched a new versioning strategy that enables developers to better understand when to expect changes to X's public APIs, and when they will need to migrate to new versions.
Developers will be notified of deprecations, retirements, changes, and additions to the X API via our communication channels so they can appropriately plan to accommodate these changes in their development roadmap. All changes to the API will be noted in the changelog.
The X API currently has three different versions. We strongly encourage users to utilize X API v2 when planning their integration unless we have not released functionality to v2 that is required by your use case.
To learn more about each version, please visit the following pages:
Versioning for the X API will be represented by version numbers declared in the route path for our endpoints:
`https://api.x.com/2/tweets`
We aim to release major versions of the X API as necessary but no more frequently than every 12 months. A major version will be released when breaking changes are introduced in the API. We will publish migration guides when launching a new major version to help developers migrate over to the new version.
A breaking change requires developers to change their code to maintain existing functionality in their app. Non-breaking changes will be additive and rolled out to the most recent version when ready, requiring no work on a developer’s end unless you would like to take advantage of the new functionality.
If a breaking change must be rolled out mid-cycle (for security or privacy reasons), this change will be made to the most recent version.
### Breaking changesThese changes require developers to change their code to maintain existing functionality of their application.
First of all, here is our definition of what deprecation and retirement mean to the X API:
In most cases, as soon as a new version is released, the previous version will be marked as deprecated. Versions will remain in a deprecated state for a period of time, after which they will be retired.
Please stay informed to learn more about future deprecations and retirements.
# About the X API Source: https://docs.x.com/x-api/getting-started/about-x-api The X API can be used to programmatically retrieve and analyze X data, as well as build for the conversation on X. Over the years, the X API has grown by adding additional levels of access for developers to be able to scale their access to enhance and research the public conversation. Recently, we released the X API v2. The X API v2 includes a modern foundation, new and advanced features, and quick onboarding to [Basic access](https://developer.x.com/en/portal/products/basic). The following three tabs explain the different versions and access levels of the X API, what’s new with v2, and which X resources you can retrieve, create, destroy, and adjust using the API.``` **Opt-Out File Configuration and Sending Opt-Out Files** Partners should provide X with a list of users that to the partner’s best knowledge have selected to opt-out of targeted ad delivery. The format of file should be sent as: | | | | | | :---------------- | :---------------------------------- | :-------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Column Number** | **Column Name** | **Column Type** | **Description** | | 1 | Partner ID | string | The “partner id” is the ID that X provides to the Partner in order to uniquely identify each Partner. | | 2 | The user’s id in the partner system | string | The `p_user_id` is the unique ID that is used to identify the user by the Partner. The file containing these opt-out users should be uploaded using the [TON upload](/x-ads-api/audiences) endpoint and the path of uploaded data should be sent to the Global Opt Out endpoint here:[PUT accounts/:account\_id/custom\_audiences/global\_opt\_out](/x-ads-api/audiences). | **Sending Membership Updates** As specified in our endpoint documentation, when passing users via the [POST custom\_audience\_memberships](/x-ads-api/audiences) endpoint you should pass a customer ID to enable a cookie based match. Partners sending data with a `p_id` **must** set the `user_identifier_type` to `TALIST_PARTNER_USER_ID` or `TAWEB_PARTNER_USER_ID`. All other steps will remain the same as those listed in the [Real-Time Audience API Integration Guide](/x-ads-api/audiences) ### Custom Audiences User Data This document outlines the format for \[Custom Audience]/x-ads-api/audiences user data. **Data normalization** **Device IDs**: * IDFA - lower-cased with dashes; ex: `4b61639e-47cc-4056-a16a-c8217e029462` * AdID - original format on device is required, not capitalized with dashes; ex: `2f5f5391-3e45-4d02-b645-4575a08f86e` * Android id - original format on device is required, not capitalized without dashes or spaces; ex: `af3802a465767e36` **Email Addresses**: * lowercase, remove leading and trailing spaces; ex: `support@x.com` **X Usernames**: * no @, lowercased and leading and trailing spaces trimmed; ex: `jack` **X User IDs**: * Standard integer; ex: `143567` **Data hashing** The data for each line must be hashed using `SHA256`, without a salt. Additionally, the final output hash must be in lower case. E.g., 49e0be2aeccfb51a8dee4c945c8a70a9ac500cf6f5cb08112575f74db9b1470d and \*\*not \*\*49E0BE2AECCFB51A8DEE4C945C8A70A9AC500CF6F5CB08112575F74DB9B1470D ``` # hasing user @AdsAPI using python import hashlib hashlib.sha256("adsapi".encode()).hexdigest() #output 49e0be2aeccfb51a8dee4c945c8a70a9ac500cf6f5cb08112575f74db9b1470d ``` Additional code samples for hashing can be found at [github.com/xdevplatform/ads-platform-tools](https://github.com/xdevplatform/ads-platform-tools). ### Custom Audiences: Web