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 Posts API

Endpoints related to retrieving, searching, and modifying Posts — 14 operation(s) in the X-published contract.

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

Tagged areas include Posts. The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 19 operations across 16 paths, and defines 82 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against 2 base URLs: https://api.x.com, https://api.x.com/2.

19 operations 16 paths 82 schemas 1 DELETE14 GET3 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://api.x.com
Authentication
HTTP Bearer, OAuth 2.0, HTTP Oauth, HTTP Bearer
Resource Areas
1

Authentication & Security 4

X Posts API declares 4 security schemes for authenticating requests. It accepts HTTP bearer tokens (BearerToken). It supports OAuth 2.0 (OAuth2UserToken) using the authorizationCode flow, exposing 26 scopes. It uses HTTP oauth authentication (UserToken). It accepts HTTP bearer tokens (JWT) (BearerAuth).

  • BearerAuth — App-only authentication using an OAuth 2.0 Bearer Token issued by the X Developer Platform, passed via the Authorization header.

Paths & Operations 19

Across 16 paths, the API surfaces 19 operations — 1 DELETE, 14 GET, 3 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Posts 19

Endpoints related to retrieving, searching, and modifying Posts

GET
/2/tweets
Get Posts by IDs
getPostsByIds 7 params → 200default
POST
/2/tweets
Create Posts
createPosts body → 201default
GET
/2/tweets/analytics
Get Posts Analytics
getPostsAnalytics 5 params → 200default
GET
/2/tweets/counts/all
Get Posts Counts All
getPostsCountsAll 9 params → 200default
GET
/2/tweets/counts/recent
Get Posts Counts Recent
getPostsCountsRecent 9 params → 200default
GET
/2/tweets/search/all
Search Posts All
searchPostsAll 15 params → 200default
GET
/2/tweets/search/recent
Search Posts Recent
searchPostsRecent 15 params → 200default
DELETE
/2/tweets/{id}
Delete Posts
deletePosts 1 param → 200default
GET
/2/tweets/{id}
Get Posts by ID
getPostsById 7 params → 200default
GET
/2/tweets/{id}/liking_users
Get Posts Liking Users
getPostsLikingUsers 6 params → 200default
GET
/2/tweets/{id}/quote_tweets
Get Posts Quoted Posts
getPostsQuotedPosts 10 params → 200default
GET
/2/tweets/{id}/retweeted_by
Get Posts Reposted by
getPostsRepostedBy 6 params → 200default
GET
/2/tweets/{id}/retweets
Get Posts Reposts
getPostsReposts 9 params → 200default
PUT
/2/tweets/{tweet_id}/hidden
Hide reply
hidePostsReply 1 param body → 200default
POST
/tweets
Create a new post
createTweet → 201
GET
/tweets/search/all
Full-archive search of posts
searchAllTweets 1 param → 200
GET
/tweets/search/stream
Near real-time filtered stream of posts
getFilteredStream → 200
POST
/tweets/search/stream/rules
Add or delete rules for the filtered stream
updateFilteredStreamRules → 201
GET
/tweets/search/stream/rules
List the active rules for the filtered stream
getFilteredStreamRules → 200

Schemas 82

The contract defines 82 schemas that model the data the API accepts and returns. The most detailed are Post (36 properties), User (28 properties), Analytics (23 properties), CreatePostsRequest (16 properties). Each schema is shown below with its type and property counts.

CreatePostsResponseData
object
3 properties 2 required
AnalyticsTimestampedMetrics
array
Time-bucketed engagement metrics for the Post, one entry per granularity bucket.
FieldHydrationFailureProblem
object
7 properties 4 required
CreatePostsMediaCallToActionsVisitSite
object
1 property 1 required
Poll
object
5 properties
CreatePostsPoll
object
3 properties 2 required
UserWithheld
object
Withholding details for withheld content.
2 properties
Error
object
2 properties 2 required
ResourceUnavailableProblem
object
6 properties 4 required
HidePostsReplyResponseData
object
1 property
AnalyticsId
string
Unique identifier of a Analytics
UserEntities
object
A list of metadata found in the User's profile description.
2 properties
PostMediaMetadata
array
Metadata for media attached to this Post.
InternalErrorProblem
object
4 properties 3 required
CreatePostsReply
object
3 properties 1 required
PostEditControls
object
Indicates how much longer (if at all) this Post can be edited.
3 properties
UserAffiliation
object
Metadata about a user's affiliation.
4 properties
Problem
DeletePostsResponseData
object
1 property 1 required
GetPostsQuotedPostsResponse
object
4 properties
CreatePostsRequest
object
16 properties
UserSubscription
object
The subscription relationship between this User and you.
1 property 1 required
CreatePostsResponse
object
2 properties
CreatePostsMedia
object
7 properties 1 required
GetPostsByIdsResponse
object
4 properties
HidePostsReplyRequest
object
1 property 1 required
PostReferencedPosts
array
A list of Posts this Post refers to. If the Post is a Retweet, Quote or Reply, it includes the referenced Post's type and ID.
GetPostsCountsAllResponseData
object
3 properties 3 required
GetPostsRepostedByResponse
object
4 properties
SearchPostsRecentResponse
object
4 properties
PostNotePost
object
The full content of the Post, including text beyond 280 characters.
2 properties 1 required
PostScopes
object
The scopes for this Post.
1 property 1 required
DisallowedResourceProblem
object
7 properties 3 required
PostSuggestedSourceLinksWithCounts
array
Suggested source URLs for this Post, each with the number of times it was suggested.
HidePostsReplyResponse
object
2 properties
Topic
object
3 properties
GetPostsByIdResponse
object
3 properties
PlaceContainedWithin
array
A list of unique identifiers of the Places that contain this place.
DeletePostsResponse
object
2 properties
MediaPublicMetrics
object
Public engagement metrics for the media at the time of the request.
1 property 1 required
Analytics
object
23 properties
PostDisplayTextRange
array
The inclusive start and exclusive end indices of the displayable content of the Post.
Expansions
object
6 properties
GetPostsLikingUsersResponse
object
4 properties
PostGeo
object
The location tagged on the Post, if the user provided one.
2 properties
CreatePostsMediaCallToActions
object
3 properties
PostEntities
object
A list of metadata entities (hashtags, mentions, URLs) found in the Post text.
4 properties
MediaVariants
array
Each media object may have multiple display or playback variants, with different resolutions or formats.
NotAuthorizedForFieldProblem
object
10 properties 4 required
PostNoteRequestSuggestions
array
Community-Notes request suggestions for this Post.
MediaPromotedMetrics
object
Promoted nonpublic engagement metrics for the media at the time of the request.
6 properties
CreatePostsEditOptions
object
1 property 1 required
User
object
28 properties
UserPublicMetrics
object
A list of metrics for this User.
6 properties 4 required
GetPostsRepostsResponse
object
4 properties
Place
object
8 properties
GetPostsCountsAllResponse
object
3 properties
GetPostsCountsRecentResponseData
object
3 properties 3 required
PostPublicMetrics
object
Engagement metrics for the Post at the time of the request.
6 properties 6 required
Media
object
13 properties
PostId
string
Unique identifier of a Post
GetPostsAnalyticsResponse
object
2 properties
GetPostsCountsRecentResponse
object
3 properties
PostSuggestedSourceLinks
array
URLs suggested as sources for this Post.
NotAuthorizedForResourceProblem
object
9 properties 4 required
CreatePostsGeo
object
1 property 1 required
MediaNonPublicMetrics
object
Nonpublic engagement metrics for the media at the time of the request.
5 properties
UserConnectionStatus
array
Returns detailed information about the relationship between two users.
Post
object
36 properties
InvalidRequestProblem
object
6 properties 3 required
PostAttachments
object
Specifies the type of attachments (if any) present in this Post.
3 properties
PostContextAnnotations
array
Annotations inferred about the Post (domain and entity context).
PollOptions
array
The list of options (choices) available in this poll.
SearchPostsAllResponse
object
4 properties
PlaceGeo
object
The geographic location of this place, expressed as a GeoJSON Feature.
3 properties 3 required
CreatePostsMediaCallToActionsWatchNow
object
1 property 1 required
PostWithheld
object
Withholding details for withheld content.
3 properties 2 required
MediaOrganicMetrics
object
Organic nonpublic engagement metrics for the media at the time of the request.
6 properties
ResourceNotFoundProblem
object
8 properties 4 required
CreatePostsMediaCallToActionsAppInstall
object
3 properties
PostMatchedMediaNotes
array
Community-Notes media matches for this Post.
FieldUnauthorizedProblem
object
7 properties 4 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

x-posts-api-openapi.yml Raw ↑

Other APIs X publishes across the network.

X Account Activity API
X Account API
X Activity API
X Articles API
X Bots API
X Broadcasts API
X Chat API
X Communities API
X Community Notes API
X Compliance API
X Connections API
X Direct Messages API
Where this information came from

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