RedCrawler API
Posting V1

Create Gallery Post V1

Create a gallery post with 2-20 images. Pass media_urls (array of image URLs) or items (array with base64_data). Requires bearer token.

POST /api/v1/publishing/gallery

Create a gallery post with 2-20 images. Pass media_urls (array of image URLs) or items (array with base64_data). Requires bearer token.

Body parameters

NameTypeRequiredDescription
subredditstringYesTarget subreddit (name, r/name, or URL).
titlestringYesPost title (max 300 chars).
bearerstringNoBearer token. Optional if stored in Token Vault.
media_urlsstringNoJSON array of image URLs (2-20). E.g. ["https://i.imgur.com/abc.jpg", "https://i.imgur.com/def.jpg"]
textstringNoOptional post body text — plain text or Reddit markdown both work.
flair_idstringNoFlair template ID.
sendrepliesstringNoSend reply notifications (true/false, default: true).
flair_textstringNoFlair display text.
is_nsfwstringNoMark as NSFW (true/false, default: false).
proxystringNoProxy. Optional if stored in Token Vault.
itemsstringNoJSON array of items with base64_data, caption, outbound_url. Alternative to media_urls.
is_spoilerstringNoMark as spoiler (true/false, default: false).

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/gallery" \
  -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>", "bearer": "<bearer>", "media_urls": "<media_urls>", "text": "<text>", "flair_id": "<flair_id>", "sendreplies": "<sendreplies>", "flair_text": "<flair_text>", "is_nsfw": "<is_nsfw>", "proxy": "<proxy>", "items": "<items>", "is_spoiler": "<is_spoiler>"}'

JavaScript

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

Python

import requests

url = "https://red-crawler1.p.rapidapi.com/api/v1/publishing/gallery"
headers = {
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com",
    "Content-Type": "application/json"
}
payload = {
  "subreddit": "test",
  "title": "<title>",
  "bearer": "<bearer>",
  "media_urls": "<media_urls>",
  "text": "<text>",
  "flair_id": "<flair_id>",
  "sendreplies": "<sendreplies>",
  "flair_text": "<flair_text>",
  "is_nsfw": "<is_nsfw>",
  "proxy": "<proxy>",
  "items": "<items>",
  "is_spoiler": "<is_spoiler>"
}
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": {
        "url": "https://www.reddit.com/r/RedCrawlerAPI/comments/1sz3nmv/gallery_post/",
        "id": "t3_1sz3nmv"
      }
    }
  },
  "error": null,
  "timestamp": "2026-04-29T16:22:01.990614+00:00"
}

On this page