Twitter/X Media Downloader

Rate Limit: 20 requests per minute. Exceeding this limit will block your IP for 5 minutes.

Auto
Video
GIF
Image



API Documentation

Rate Limits:
- 20 requests per minute per IP
- Exceeding limit blocks IP for 5 minutes
- Rate limit headers included in responses:
  * X-RateLimit-Limit: Maximum requests allowed
  * X-RateLimit-Remaining: Remaining requests in current window
  * X-RateLimit-Reset: Unix timestamp when limit resets

Endpoints:

1. /api/download
   Method: GET or POST
   Description: Download media from a Twitter/X post
   Parameters:
     - url: Tweet URL (required)
     - type: Media type (optional): video, gif, or image
       If not specified, auto-detects best available
       If gif not found, falls back to video
     - download: Set to "1" to force download (optional)

   Example GET:
   /api/download?url=https://x.com/username/status/1234567890

   Example with type:
   /api/download?url=https://x.com/username/status/1234567890&type=gif&download=1

   Example POST:
   POST /api/download
   Content-Type: application/json
   {
     "url": "https://x.com/username/status/1234567890",
     "type": "video",
     "download": true
   }

2. /api/info
   Method: GET or POST
   Description: Get media information without downloading
   Parameters:
     - url: Tweet URL (required)

   Example GET:
   /api/info?url=https://x.com/username/status/1234567890

   Response format:
   {
     "success": true,
     "data": {
       "images": [...],
       "videos": [...],
       "gifs": [...],
       "tweetInfo": {
         "id": "1234567890",
         "text": "Tweet text",
         "created_at": "...",
         "user": {
           "name": "User Name",
           "screen_name": "username"
         }
       }
     }
   }

Rate Limit Error Response (429):
{
  "success": false,
  "error": "Rate limit exceeded. Please try again in X seconds.",
  "blocked": true,
  "remainingTime": 300
}
        
Note: This service uses server-side authentication. No tokens required from users!