How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

X (Twitter) Tweets API

Endpoints related to retrieving, searching, and modifying Tweets

This API exposes 38 operations across 35 paths, and defines 118 schemas. It is described by OpenAPI 3.2.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.2.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.

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

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

twitter-tweets-api-openapi.yml Raw ↑
Where this information came from

This is an independent, third-party profile of X (Twitter) Tweets API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.