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

Twitter/X Tweets API

Endpoints related to retrieving, searching, and modifying Tweets

Twitter/X Tweets API is one of 22 APIs that Twitter/X 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, and an API reference.

This API exposes 38 operations across 35 paths, and defines 119 schemas. It is described by OpenAPI 3.2.0, at version 2.166.

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

38 operations 35 paths 119 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.166
Base URL
https://api.x.com
Authentication
HTTP Bearer, OAuth 2.0, HTTP Oauth
Terms of Service
Resource Areas
1

Authentication & Security 3

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

Schemas 119

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

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

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

twitter-x-tweets-api-openapi.yml Raw ↑

Other APIs Twitter/X publishes across the network.

Twitter/X Account Activity API
Twitter/X Activity API
Twitter/X Articles API
Twitter/X Bookmarks API
Twitter/X Chat API
Twitter/X Communities API
Twitter/X Community Notes API
Twitter/X Compliance API
Twitter/X Connections API
Twitter/X Direct Messages API
Twitter/X General API
Twitter/X Likes API
Where this information came from

This is an independent, third-party profile of Twitter/X 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.