RedCrawler API
Posting V2

Create Gallery Post V2

Create a gallery post containing 2-20 images on a subreddit from a list of public image URLs. Requires bearer token.

POST /api/v2/posting/gallery

Create a gallery post containing 2-20 images on a subreddit from a list of public image URLs. Requires bearer token.

Body parameters

NameTypeRequiredDescription
subredditstringYesTarget subreddit (name, r/name, or URL).
image_urlsstringYesImage URLs — JSON array or comma-separated list. Min 2, max 20.
titlestringYesPost title (max 300 chars).
bearerstringNoReddit bearer token (token_v2). Optional if stored in Token Vault for your key.
flair_idstringNoFlair template ID.
brand_affiliatestringNoBrand affiliate disclosure (true/false).
captionsstringNoCaptions — JSON array or comma-separated list, aligned with image_urls.
bodystringNoOptional markdown body.
spoilerstringNoMark spoiler (true/false).
nsfwstringNoMark NSFW (true/false).
flair_textstringNoFlair display text.
proxystringNoProxy ip:port:user:pass. 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/v2/posting/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", "image_urls": "<image_urls>", "title": "<title>", "bearer": "<bearer>", "flair_id": "<flair_id>", "brand_affiliate": "<brand_affiliate>", "captions": "<captions>", "body": "<body>", "spoiler": "<spoiler>", "nsfw": "<nsfw>", "flair_text": "<flair_text>", "proxy": "<proxy>"}'

JavaScript

const res = await fetch("https://red-crawler1.p.rapidapi.com/api/v2/posting/gallery", {
  method: "POST",
  headers: {
      "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com"
    },
    body: JSON.stringify({
  "subreddit": "test",
  "image_urls": "<image_urls>",
  "title": "<title>",
  "bearer": "<bearer>",
  "flair_id": "<flair_id>",
  "brand_affiliate": "<brand_affiliate>",
  "captions": "<captions>",
  "body": "<body>",
  "spoiler": "<spoiler>",
  "nsfw": "<nsfw>",
  "flair_text": "<flair_text>",
  "proxy": "<proxy>"
})
});
const data = await res.json();
console.log(data);

Python

import requests

url = "https://red-crawler1.p.rapidapi.com/api/v2/posting/gallery"
headers = {
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com",
    "Content-Type": "application/json"
}
payload = {
  "subreddit": "test",
  "image_urls": "<image_urls>",
  "title": "<title>",
  "bearer": "<bearer>",
  "flair_id": "<flair_id>",
  "brand_affiliate": "<brand_affiliate>",
  "captions": "<captions>",
  "body": "<body>",
  "spoiler": "<spoiler>",
  "nsfw": "<nsfw>",
  "flair_text": "<flair_text>",
  "proxy": "<proxy>"
}
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": {
    "success": true,
    "post": {
      "post": {
        "id": "t3_1sz4lj1",
        "title": "Gallery Post",
        "languageCode": null,
        "isNsfw": false,
        "domain": "reddit.com",
        "createdAt": "2026-04-29T16:56:08.784000+0000",
        "url": "https://www.reddit.com/gallery/1sz4lj1",
        "authorInfo": {
          "id": "t2_29onm7dc32"
        },
        "subreddit": {
          "id": "t5_hmeujo",
          "name": "RedCrawlerAPI"
        },
        "postEventInfo": null
      },
      "websocketUrl": null,
      "ok": true,
      "errors": null,
      "fieldErrors": null
    }
  },
  "error": null,
  "meta": {
    "vault_expires_at": "2026-04-30T07:47:21.906002+00:00",
    "vault_remaining": "14h 51m"
  },
  "timestamp": "2026-04-29T16:56:09.264893+00:00"
}

On this page