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

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

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

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