Need help with your APIs? I offer API discovery, governance & evangelism services. Explore services →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

X (Twitter) Tweets API

Endpoints related to retrieving, searching, and modifying Tweets

X (Twitter) Tweets API is one of 23 APIs that X (Twitter) publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Tweets. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, a getting-started guide, an API reference, authentication docs, and rate-limit docs.

This API exposes 38 operations across 35 paths, and defines 118 schemas. It is described by OpenAPI 3.0.0, at version 2.161.

Requests are made against a single base URL, https://api.x.com.

38 operations 35 paths 118 schemas 3 DELETE30 GET4 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.0
API Version
2.161
Base URL
https://api.x.com/2
Authentication
HTTP Bearer, OAuth 2.0, HTTP Oauth
Terms of Service
Resource Areas
1

Authentication & Security 3

X (Twitter) Tweets API declares 3 security schemes for authenticating requests. It accepts HTTP bearer tokens (BearerToken). It supports OAuth 2.0 (OAuth2UserToken) using the authorizationCode flow, exposing 21 scopes. It uses HTTP oauth authentication (UserToken).

Paths & Operations 38

Across 35 paths, the API surfaces 38 operations — 3 DELETE, 30 GET, 4 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Tweets 38

Endpoints related to retrieving, searching, and modifying Tweets

GET
/2/insights/28hr
X Get 28-hour Post Insights
getInsights28Hr 4 params → 200default
GET
/2/insights/historical
X Get Historical Post Insights
getInsightsHistorical 6 params → 200default
GET
/2/lists/{id}/tweets
X Get List Posts
getListsPosts 9 params → 200default
GET
/2/spaces/{id}/buyers
X Get Space Ticket Buyers
getSpacesBuyers 6 params → 200default
GET
/2/spaces/{id}/tweets
X Get Space Posts
getSpacesPosts 8 params → 200default
GET
/2/tweets
X Get Posts by IDs
getPostsByIds 7 params → 200default
POST
/2/tweets
X Create or Edit Post
createPosts body → 201default
GET
/2/tweets/analytics
X Get Post Analytics
getPostsAnalytics 5 params → 200default
GET
/2/tweets/counts/all
X Get Count of All Posts
getPostsCountsAll 9 params → 200default
GET
/2/tweets/counts/recent
X Get Count of Recent Posts
getPostsCountsRecent 9 params → 200default
GET
/2/tweets/firehose/stream
X Stream All Posts
streamPostsFirehose 10 params → 200default
GET
/2/tweets/firehose/stream/lang/en
X Stream English Posts
streamPostsFirehoseEn 10 params → 200default
GET
/2/tweets/firehose/stream/lang/ja
X Stream Japanese Posts
streamPostsFirehoseJa 10 params → 200default
GET
/2/tweets/firehose/stream/lang/ko
X Stream Korean Posts
streamPostsFirehoseKo 10 params → 200default
GET
/2/tweets/firehose/stream/lang/pt
X Stream Portuguese Posts
streamPostsFirehosePt 10 params → 200default
GET
/2/tweets/sample/stream
X Stream Sampled Posts
streamPostsSample 7 params → 200default
GET
/2/tweets/sample10/stream
X Stream 10% Sampled Posts
streamPostsSample10 10 params → 200default
GET
/2/tweets/search/all
X Search All Posts
searchPostsAll 15 params → 200default
GET
/2/tweets/search/recent
X Search Recent Posts
searchPostsRecent 15 params → 200default
GET
/2/tweets/search/stream
X Stream Filtered Posts
streamPosts 9 params → 200default
GET
/2/tweets/search/stream/rules
X Get Stream Rules
getRules 3 params → 200default
POST
/2/tweets/search/stream/rules
X Update Stream Rules
updateRules 2 params body → 200default
GET
/2/tweets/search/stream/rules/counts
X Get Stream Rule Counts
getRuleCounts 1 param → 200default
DELETE
/2/tweets/{id}
X Delete Post
deletePosts 1 param → 200default
GET
/2/tweets/{id}
X Get Post by ID
getPostsById 7 params → 200default
GET
/2/tweets/{id}/liking_users
X Get Liking Users
getPostsLikingUsers 6 params → 200default
GET
/2/tweets/{id}/quote_tweets
X Get Quoted Posts
getPostsQuotedPosts 10 params → 200default
GET
/2/tweets/{id}/retweeted_by
X Get Reposted by
getPostsRepostedBy 6 params → 200default
GET
/2/tweets/{id}/retweets
X Get Reposts
getPostsReposts 9 params → 200default
PUT
/2/tweets/{tweet_id}/hidden
X Hide Reply
hidePostsReply 1 param body → 200default
GET
/2/users/{id}/liked_tweets
X Get Liked Posts
getUsersLikedPosts 9 params → 200default
POST
/2/users/{id}/likes
X Like Post
likePost 1 param body → 200default
DELETE
/2/users/{id}/likes/{tweet_id}
X Unlike Post
unlikePost 2 params → 200default
GET
/2/users/{id}/mentions
X Get Mentions
getUsersMentions 13 params → 200default
POST
/2/users/{id}/retweets
X Repost Post
repostPost 1 param body → 200default
DELETE
/2/users/{id}/retweets/{source_tweet_id}
X Unrepost Post
unrepostPost 2 params → 200default
GET
/2/users/{id}/timelines/reverse_chronological
X Get Timeline
getUsersTimeline 14 params → 200default
GET
/2/users/{id}/tweets
X Get Posts
getUsersPosts 14 params → 200default

Schemas 118

The contract defines 118 schemas that model the data the API accepts and returns. The most detailed are Tweet (29 properties), User (21 properties), Metrics (19 properties), TweetCreateRequest (16 properties). Each schema is shown below with its type and property counts.

AddOrDeleteRulesRequest
PollId
string
Unique identifier of this poll.
Media
object
4 properties 1 required
AllProjectClientApps
array
Client App Rule Counts for all applications in the project
TweetHideResponse
object
1 property
Geo
object
4 properties 3 required
Get2UsersIdTweetsResponse
object
4 properties
PlaceId
string
The identifier for this place.
TweetCount
integer
The count for the bucket.
ContextAnnotationDomainFields
object
Represents the data for the context annotation domain.
3 properties 1 required
TweetCreateRequest
object
16 properties
PreviousToken
string
The previous token.
Get2TweetsSample10StreamResponse
object
3 properties
HashtagEntity
MentionFields
object
Represent the portion of text recognized as a User mention, and its start and end position within the text.
2 properties 1 required
ReplySettingsWithVerifiedUsers
string
Shows who can reply a Tweet. Fields returned are everyone, mentionedusers, subscribers, verified and following.
Get2UsersIdLikedTweetsResponse
object
4 properties
Topic
object
The topic of a Space, as selected by its creator.
3 properties 2 required
UsersLikesCreateRequest
object
1 property 1 required
TweetCreateResponse
object
2 properties
Get2SpacesIdBuyersResponse
object
4 properties
Place
object
8 properties 2 required
UserWithheld
object
Indicates withholding details for [withheld content](https://help.twitter.com/en/rules-and-policies/tweet-withheld-by-country).
2 properties 1 required
CountryCode
string
A two-letter ISO 3166-1 alpha-2 country code.
PollOption
object
Describes a choice in a Poll object.
3 properties 3 required
StreamingTweetResponse
object
3 properties
DeleteRulesRequest
object
A response from deleting user-specified stream filtering rules.
1 property 1 required
PaginationToken32
string
A base32 pagination token.
CashtagEntity
Get2TweetsIdRetweetedByResponse
object
4 properties
UsersRetweetsCreateResponse
object
2 properties
Get2Insights28hrResponse
object
2 properties
UsersLikesDeleteResponse
object
2 properties
ClientAppId
string
The ID of the client application
Analytics
object
2 properties
NoteTweetText
string
The note content of the Tweet.
RuleNoId
object
A user-provided stream filtering rule.
2 properties 1 required
OldestId
string
The oldest id in this response.
Point
object
A [GeoJson Point](https://tools.ietf.org/html/rfc7946section-3.1.2) geometry object.
2 properties 2 required
UserIdMatchesAuthenticatedUser
string
Unique identifier of this User. The value must be the same as the authenticated user.
Get2TweetsIdQuoteTweetsResponse
object
4 properties
PollOptionLabel
string
The text of a poll choice.
PlaceType
string
TweetDeleteResponse
object
2 properties
Metrics
object
19 properties
CommunityId
string
The unique identifier of this Community.
End
string
The end time of the bucket.
DisplayTextRange
array
Represent a boundary range (start and end zero-based indices) for the portion of text that is displayed for a post. start must be smaller than end. The start i…
User
object
The X User object.
21 properties 3 required
MentionEntity
FullTextEntities
object
5 properties
UrlFields
object
Represent the portion of text recognized as a URL.
9 properties 1 required
Tweet
object
29 properties
RuleId
string
Unique identifier of this rule.
RulesCount
object
A count of user-provided stream filtering rules at the application and project levels.
5 properties
Problem
object
An HTTP Problem Details object, as defined in IETF RFC 7807 (https://tools.ietf.org/html/rfc7807).
4 properties 2 required
RulesLookupResponse
object
2 properties 1 required
Get2SpacesIdTweetsResponse
object
4 properties
TweetWithheld
object
Indicates withholding details for [withheld content](https://help.twitter.com/en/rules-and-policies/tweet-withheld-by-country).
3 properties 2 required
Url
string
A validly formatted URL.
Expansions
object
6 properties
Aggregate
integer
The sum of results returned in this response.
RuleValue
string
The filterlang value of the rule.
Get2TweetsIdRetweetsResponse
object
4 properties
TweetText
string
The content of the Tweet.
EntityIndicesInclusiveInclusive
object
Represent a boundary range (start and end index) for a recognized entity (for example a hashtag or a mention). start must be smaller than end. The start index…
2 properties 2 required
Get2UsersIdTimelinesReverseChronologicalResponse
object
4 properties
Get2ListsIdTweetsResponse
object
4 properties
ContextAnnotationEntityFields
object
Represents the data for the context annotation entity.
3 properties 1 required
SearchCount
object
Represent a Search Count Result.
3 properties 3 required
Get2TweetsCountsAllResponse
object
3 properties
Engagement
object
An Engagement Api Response.
2 properties
UrlEntity
Represent the portion of text recognized as a URL, and its start and end position within the text.
ListId
string
The unique identifier of this List.
PaginationToken36
string
A base36 pagination token.
MediaId
string
The unique identifier of this Media.
TweetHideRequest
object
1 property 1 required
HttpStatusCode
integer
HTTP Status Code.
Get2TweetsIdLikingUsersResponse
object
4 properties
RuleTag
string
A tag meant for the labeling of user provided rules.
EntityIndicesInclusiveExclusive
object
Represent a boundary range (start and end index) for a recognized entity (for example a hashtag or a mention). start must be smaller than end. The start index…
2 properties 2 required
TweetId
string
Unique identifier of this Tweet. This is returned as a string in order to avoid complications with languages and tools that cannot handle large integers.
MediaKey
string
The Media Key identifier for this attachment.
Error
object
2 properties 2 required
Get2TweetsSearchRecentResponse
object
4 properties
CashtagFields
object
Represent the portion of text recognized as a Cashtag, and its start and end position within the text.
1 property 1 required
AppRulesCount
object
A count of user-provided stream filtering rules at the client application level.
2 properties
ResultCount
integer
The number of results returned in this response.
AddOrDeleteRulesResponse
object
A response from modifying user-specified stream filtering rules.
3 properties 1 required
AddRulesRequest
object
A request to add a user-specified stream filtering rule.
1 property 1 required
MediaWidth
integer
The width of the media in pixels.
Position
array
A [GeoJson Position](https://tools.ietf.org/html/rfc7946section-3.1.1) in the format [longitude,latitude].
Get2TweetsIdResponse
object
3 properties
UsersLikesCreateResponse
object
2 properties
UrlImage
object
Represent the information for the URL image.
3 properties
UserName
string
The X handle (screen name) of this user.
ContextAnnotation
object
Annotation inferred from the Tweet text.
2 properties 2 required
NextToken
string
The next token.
Get2TweetsCountsRecentResponse
object
3 properties
Get2TweetsSearchStreamRulesCountsResponse
object
2 properties
TimestampedMetrics
object
2 properties
Get2UsersIdMentionsResponse
object
4 properties
Poll
object
Represent a Poll attached to a Tweet.
5 properties 2 required
FilteredStreamingTweetResponse
object
A Tweet or error that can be returned by the streaming Tweet API. The values returned with a successful streamed Tweet includes the user provided rules that th…
4 properties
Rule
object
A user-provided stream filtering rule.
3 properties 1 required
HashtagFields
object
Represent the portion of text recognized as a Hashtag, and its start and end position within the text.
1 property 1 required
Get2InsightsHistoricalResponse
object
2 properties
MediaHeight
integer
The height of the media in pixels.
Start
string
The start time of the bucket.
UsersRetweetsCreateRequest
object
1 property 1 required
TopicId
string
Unique identifier of this Topic.
RulesResponseMetadata
object
4 properties 1 required
RulesRequestSummary
UsersRetweetsDeleteResponse
object
2 properties
Get2TweetsResponse
object
3 properties
Get2TweetsSearchAllResponse
object
4 properties
UserId
string
Unique identifier of this User. This is returned as a string in order to avoid complications with languages and tools that cannot handle large integers.
NewestId
string
The newest id in this response.

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

twitter-tweets-api-openapi.yml Raw ↑

Other APIs X (Twitter) publishes across the network.

X Ads API
X Activity API
X (Twitter) Account Activity API
X (Twitter) Activity API
X (Twitter) Bookmarks API
X (Twitter) Chat API
X (Twitter) Communities API
X (Twitter) Community Notes API
X (Twitter) Compliance API
X (Twitter) Connections API
X (Twitter) Direct Messages API
X (Twitter) General API