RedCrawler API
Posting V1

Create Video Post V1

Create a video post. Pass media_url (video URL) or base64_data. Requires bearer token.

POST /api/v1/publishing/video

Create a video post. Pass media_url (video URL) or base64_data. Requires bearer token.

Body parameters

NameTypeRequiredDescription
subredditstringYesTarget subreddit (name, r/name, or URL).
titlestringYesPost title (max 300 chars).
flair_idstringNoFlair template ID.
sendrepliesstringNoSend reply notifications (true/false, default: true).
base64_datastringNoBase64-encoded video data. Either this or media_url is required.
proxystringNoProxy. Optional if stored in Token Vault.
media_urlstringNoVideo URL to upload. Either this or base64_data is required.
textstringNoOptional post body text — plain text or Reddit markdown both work.
is_spoilerstringNoMark as spoiler (true/false, default: false).
flair_textstringNoFlair display text.
is_nsfwstringNoMark as NSFW (true/false, default: false).
bearerstringNoBearer token. Optional if stored in Token Vault.

Authentication

HeaderValue
X-RapidAPI-KeyYour RapidAPI key
X-RapidAPI-Hostred-crawler1.p.rapidapi.com

Example request

cURL

curl -X POST "https://red-crawler1.p.rapidapi.com/api/v1/publishing/video" \
  -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: red-crawler1.p.rapidapi.com" \
  -H "Content-Type: application/json" \
  --data '{"subreddit": "test", "title": "<title>", "flair_id": "<flair_id>", "sendreplies": "<sendreplies>", "base64_data": "<base64_data>", "proxy": "<proxy>", "media_url": "<media_url>", "text": "<text>", "is_spoiler": "<is_spoiler>", "flair_text": "<flair_text>", "is_nsfw": "<is_nsfw>", "bearer": "<bearer>"}'

JavaScript

const res = await fetch("https://red-crawler1.p.rapidapi.com/api/v1/publishing/video", {
  method: "POST",
  headers: {
      "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com"
    },
    body: JSON.stringify({
  "subreddit": "test",
  "title": "<title>",
  "flair_id": "<flair_id>",
  "sendreplies": "<sendreplies>",
  "base64_data": "<base64_data>",
  "proxy": "<proxy>",
  "media_url": "<media_url>",
  "text": "<text>",
  "is_spoiler": "<is_spoiler>",
  "flair_text": "<flair_text>",
  "is_nsfw": "<is_nsfw>",
  "bearer": "<bearer>"
})
});
const data = await res.json();
console.log(data);

Python

import requests

url = "https://red-crawler1.p.rapidapi.com/api/v1/publishing/video"
headers = {
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com",
    "Content-Type": "application/json"
}
payload = {
  "subreddit": "test",
  "title": "<title>",
  "flair_id": "<flair_id>",
  "sendreplies": "<sendreplies>",
  "base64_data": "<base64_data>",
  "proxy": "<proxy>",
  "media_url": "<media_url>",
  "text": "<text>",
  "is_spoiler": "<is_spoiler>",
  "flair_text": "<flair_text>",
  "is_nsfw": "<is_nsfw>",
  "bearer": "<bearer>"
}
resp = requests.post(url, headers=headers, json=payload)
print(resp.json())

Example response

HTTP 200 — captured from a live call to the gateway.

{
  "success": true,
  "data": {
    "json": {
      "errors": [],
      "data": {
        "user_submitted_page": "https://www.reddit.com/user/Motor_Tip8865/submitted/",
        "websocket_url": "wss://k8s-lb.wss.redditmedia.com/cnskeusbt5yg1?m=AQAAxznyaUU8vk2xztgU2HEU2lueHLBcKPHpobhJ8whq05KSFHTK"
      }
    }
  },
  "error": null,
  "meta": {
    "websocket_url": "wss://k8s-lb.wss.redditmedia.com/cnskeusbt5yg1?m=AQAAxTnyaZqBkgFDUsMd6deRT_aR_f6hKkKb9MmOIKmvNSBPM_7_"
  },
  "timestamp": "2026-04-29T16:53:03.747873+00:00"
}

On this page