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

Endpoints related to Media

Twitter/X Media 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 Media. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 11 operations across 9 paths, and defines 47 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.

11 operations 9 paths 47 schemas 1 DELETE4 GET6 POST

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 Media 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 11

Across 9 paths, the API surfaces 11 operations — 1 DELETE, 4 GET, 6 POST. Each is listed below with its method, path, parameters, and response codes.

Media 11

Endpoints related to Media

GET
/2/media
Get Media by media keys
getMediaByMediaKeys 2 params → 200default
GET
/2/media/analytics
Get Media analytics
getMediaAnalytics 5 params → 200default
POST
/2/media/metadata
Create Media metadata
createMediaMetadata body → 200default
DELETE
/2/media/subtitles
Delete Media subtitles
deleteMediaSubtitles body → 200default
POST
/2/media/subtitles
Create Media subtitles
createMediaSubtitles body → 200default
GET
/2/media/upload
Get Media upload status
getMediaUploadStatus 2 params → 200default
POST
/2/media/upload
Upload media
mediaUpload body → 200default
POST
/2/media/upload/initialize
Initialize media upload
initializeMediaUpload body → 200default
POST
/2/media/upload/{id}/append
Append Media upload
appendMediaUpload 1 param body → 200default
POST
/2/media/upload/{id}/finalize
Finalize Media upload
finalizeMediaUpload 1 param → 200default
GET
/2/media/{media_key}
Get Media by media key
getMediaByMediaKey 2 params → 200default

Schemas 47

The contract defines 47 schemas that model the data the API accepts and returns. The most detailed are MediaMetrics (10 properties), Sticker (10 properties), MediaUploadConfigRequest (5 properties), MediaUploadRequestOneShot (5 properties). Each schema is shown below with its type and property counts.

MediaCategory
string
A string enum value which identifies a media use-case. This identifier is used to enforce use-case specific constraints (e.g. file size, video duration) and en…
Get2MediaResponse
object
2 properties
MediaKey
string
The Media Key identifier for this attachment.
Media
object
4 properties 1 required
AudiencePolicy
object
2 properties
SubtitlesCreateRequest
object
3 properties
PreviewImage
object
1 property 1 required
UploadSource
object
1 property 1 required
SubtitlesDeleteRequest
object
3 properties
AllowDownloadStatus
object
1 property
ProcessingInfo
object
3 properties 1 required
Error
object
2 properties 2 required
MediaPayloadBinary
string
The file to upload.
AltText
object
1 property 1 required
Get2MediaMediaKeyResponse
object
2 properties
Subtitles
object
3 properties
MediaWidth
integer
The width of the media in pixels.
MediaPayloadByte
string
The file to upload.
MediaTimestampedMetrics
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
SharedInfo
object
1 property 1 required
MediaUploadResponse
object
A response from getting a media upload request status.
2 properties 1 required
ContentExpiration
object
1 property 1 required
MediaUploadRequestOneShot
object
5 properties 2 required
MediaId
string
The unique identifier of this Media.
MediaSegments
Sticker
object
10 properties
SubtitlesCreateResponse
object
2 properties
MetadataCreateResponse
object
2 properties
MetadataCreateRequest
object
2 properties 1 required
SensitiveMediaWarning
object
3 properties
MediaUploadAppendRequest
ManagementInfo
object
1 property 1 required
MediaHeight
integer
The height of the media in pixels.
MediaCategorySubtitles
string
The media category of uploaded media to which subtitles should be added/deleted
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.
FoundMediaOrigin
object
2 properties 2 required
StickerInfo
object
1 property 1 required
MediaMetrics
object
10 properties
MediaCategoryOneShot
string
A string enum value which identifies a media use-case. This identifier is used to enforce use-case specific constraints (e.g. file size) and enable advanced fe…
SubtitleLanguageCode
string
The language code should be a BCP47 code (e.g. 'EN", "SP")
SubtitlesDeleteResponse
object
2 properties
MediaAnalytics
object
2 properties
MediaUploadAppendResponse
object
A response from getting a media upload request status.
2 properties 1 required
MediaUploadConfigRequest
object
5 properties
DomainRestrictions
object
1 property 1 required
GeoRestrictions

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

twitter-x-media-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 Media 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.