Skip to main content
POST
https://xquik.com/api/v1
/
x
/
media
/
download
Download Media
curl --request POST \
  --url https://xquik.com/api/v1/x/media/download \
  --header 'Content-Type: <content-type>' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "tweetId": "<string>",
  "tweetUrl": "<string>"
}
'
curl -X POST https://xquik.com/api/v1/x/media/download \
  -H "x-api-key: xq_a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4e5f6a1b2" \
  -H "Content-Type: application/json" \
  -d '{
    "tweetId": "1893456789012345678"
  }' | jq

Headers

x-api-key
string
required
Your API key. Session cookie authentication is also supported.
Content-Type
string
required
Must be application/json.

Body

Provide either tweetId or tweetUrl. At least 1 is required.
tweetId
string
Numeric tweet ID (e.g. "1893456789012345678").
tweetUrl
string
Full tweet URL. Accepts x.com and twitter.com formats (e.g. https://x.com/user/status/1893456789012345678).

Response

tweetId
string
Resolved tweet ID.
media
object[]
Array of downloaded media items.
{
  "tweetId": "1893456789012345678",
  "media": [
    {
      "url": "https://media.xquik.com/dl/abc123/video.mp4",
      "type": "video",
      "index": 0,
      "fileSize": "4821000"
    },
    {
      "url": "https://media.xquik.com/dl/def456/photo.jpg",
      "type": "photo",
      "index": 1,
      "fileSize": "245000"
    }
  ]
}
First download is metered and counts toward your monthly usage quota. Subsequent requests for the same tweet return cached URLs at no cost. Downloads are saved to your gallery at https://xquik.com/gallery.
This endpoint supports dual authentication: API key (x-api-key header) or session cookie from the dashboard.Related: Get Tweet to look up tweet details and metrics, or use the download-media MCP tool for AI agent access.