RedCrawler API
Scheduling Posts V2

Schedule Gallery Post V2

Schedule a gallery post (2-20 images). Images downloaded at publish time. Requires bearer token stored in Token Vault. The background scheduler publishes at the

POST /api/v2/schedule/gallery

Schedule a gallery post (2-20 images). Images downloaded at publish time. Requires bearer token stored in Token Vault. The background scheduler publishes at the specified time using your stored bearer and proxy. Max 20 pending per user.

Body parameters

NameTypeRequiredDescription
gallery_urlsstringYesComma-separated image URLs (min 2, max 20)
subredditstringYesTarget subreddit (name, r/name, or URL)
titlestringYesPost title
publish_atstringYesWhen to publish (ISO-8601 UTC, e.g. 2026-04-11T15:00:00Z)
gallery_captionsstringNoComma-separated captions for gallery images (optional)
flair_textstringNoFlair text
delete_afterstringNoAuto-delete post after N seconds (optional)
bearerstringNoBearer token. Optional if stored in Token Vault.
brand_affiliatestringNoMark as brand affiliate / commercial (true/false)
spoilerstringNoMark as spoiler (true/false)
proxystringNoProxy. Optional if stored in Token Vault.
bodystringNoPost body — plain text or Reddit markdown both work
nsfwstringNoMark as NSFW (true/false)
flair_idstringNoFlair template ID

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/schedule/gallery" \
  -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: red-crawler1.p.rapidapi.com" \
  -H "Content-Type: application/json" \
  --data '{"gallery_urls": "<gallery_urls>", "subreddit": "test", "title": "<title>", "publish_at": "<publish_at>", "gallery_captions": "<gallery_captions>", "flair_text": "<flair_text>", "delete_after": "<delete_after>", "bearer": "<bearer>", "brand_affiliate": "<brand_affiliate>", "spoiler": "<spoiler>", "proxy": "<proxy>", "body": "<body>", "nsfw": "<nsfw>", "flair_id": "<flair_id>"}'

JavaScript

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

Python

import requests

url = "https://red-crawler1.p.rapidapi.com/api/v2/schedule/gallery"
headers = {
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com",
    "Content-Type": "application/json"
}
payload = {
  "gallery_urls": "<gallery_urls>",
  "subreddit": "test",
  "title": "<title>",
  "publish_at": "<publish_at>",
  "gallery_captions": "<gallery_captions>",
  "flair_text": "<flair_text>",
  "delete_after": "<delete_after>",
  "bearer": "<bearer>",
  "brand_affiliate": "<brand_affiliate>",
  "spoiler": "<spoiler>",
  "proxy": "<proxy>",
  "body": "<body>",
  "nsfw": "<nsfw>",
  "flair_id": "<flair_id>"
}
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": {
    "scheduled": true,
    "id": 116,
    "subreddit": "RedCrawlerAPI",
    "title": "Same galaxy, different perspective.",
    "type": "gallery",
    "publish_at": "2026-05-11T15:00:00+00:00",
    "delete_after": null,
    "delete_at": null,
    "status": "pending"
  },
  "error": null,
  "timestamp": "2026-04-29T17:29:33.606419+00:00"
}

On this page