RedGifs Video Downloader REST API
Integrate reliable, ultra-fast RedGifs video extraction directly into your applications, bots, scripts, or content pipelines with simple HTTP requests.
Sub-second Speed
Direct high-speed parsingHD MP4 Quality
Highest available resolution99.9% Uptime
Redundant proxy networkBatch Processing
Up to 100 links per call1. Authentication
Secure all your API requests using your unique developer API Key.
All requests to the media extraction endpoints require authentication. You can pass your API key as either a query parameter or inside a form-encoded POST body.
| Parameter | Type | Location | Description |
|---|---|---|---|
key |
string | Query or Body | Your 40-character API key generated in the Developer Dashboard. |
# Authentication Query Example
GET https://redgifsdownloader.net/api/download-posts?key=YOUR_API_KEY&urls=https://www.redgifs.com/watch/example
2. Rate Limits & Tiers
Fair usage policies and request allocation per account level.
Free Tier
Default240 req / day
Ideal for personal scripts, tests, small discord bots and open-source integrations.
PRO & Enterprise
UnlimitedUnlimited requests
Designed for commercial scrapers, web apps, and automated bulk video processors.
/api/status
Check the operational status of the API service and your client connectivity.
This endpoint does not consume API credits and can be used for automated liveness probes.
GET https://redgifsdownloader.net/api/status
Sample JSON Response:
{
"request": {
"status": "online",
"message": "This is the API provided by RedGifs Downloader.",
"url": "https://redgifsdownloader.net",
"your_ip": "127.0.0.1"
}
}
/api/download-posts
Parse RedGifs URLs and extract direct MP4 video URLs, thumbnails, and metadata.
Request Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
key |
string | Yes | Your API key. |
urls |
string | Yes | Single URL or multiple URLs separated by semicolon (;) or line breaks (\r\n). Max 100 URLs per call. |
Response Schema:
{
"authentication": {
"status": "success",
"message": "API key successfully authenticated.",
"key": {
"status": "enabled",
"permission": "user",
"message": "The api key is enabled and usable."
}
},
"posts": [
{
"status": "success",
"link": "https://media.redgifs.com/sample-hd.mp4",
"thumbnail": "https://thumbs2.redgifs.com/sample-poster.jpg",
"caption": "Hot and stunning video clip",
"keywords": "redgifs, hd, model, viral",
"author": {
"name": "SuperCreator",
"link": "https://www.redgifs.com/users/supercreator"
},
"publication_date": "2024-05-10T14:32:00Z",
"content": "Video description details..."
}
]
}
5. Multi-Language Code Examples
Copy-paste ready snippets in cURL, Python, Node.js (JavaScript), and PHP.
curl -X POST "https://redgifsdownloader.net/api/download-posts" \
-d "key=YOUR_API_KEY" \
-d "urls=https://www.redgifs.com/watch/hotcutegirl"
import requests
API_URL = "https://redgifsdownloader.net/api/download-posts"
API_KEY = "YOUR_API_KEY"
TARGET_URL = "https://www.redgifs.com/watch/hotcutegirl"
payload = {
"key": API_KEY,
"urls": TARGET_URL
}
response = requests.post(API_URL, data=payload)
data = response.json()
if data.get("posts"):
for post in data["posts"]:
if post.get("status") == "success":
print(f"🎬 Video Direct Link: {post['link']}")
print(f"🖼️ Thumbnail: {post['thumbnail']}")
print(f"👤 Creator: {post['author']['name']}")
else:
print(f"❌ Error: {post.get('message')}")
const axios = require('axios');
async function fetchRedGifsVideo() {
const apiUrl = 'https://redgifsdownloader.net/api/download-posts';
const params = new URLSearchParams();
params.append('key', 'YOUR_API_KEY');
params.append('urls', 'https://www.redgifs.com/watch/hotcutegirl');
try {
const res = await axios.post(apiUrl, params);
console.log('API Response:', res.data);
} catch (err) {
console.error('Error fetching video:', err.message);
}
}
fetchRedGifsVideo();
<?php
$apiKey = 'YOUR_API_KEY';
$url = 'https://www.redgifs.com/watch/hotcutegirl';
$ch = curl_init('https://redgifsdownloader.net/api/download-posts');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query([
'key' => $apiKey,
'urls' => $url
]));
$response = curl_exec($ch);
curl_close($ch);
$result = json_decode($response, true);
print_r($result);
6. Frequently Asked Questions
Common questions regarding API keys, limits, and integration.
;) or line break in the urls parameter.