RedCrawler API
Posting V2

Create Image Post V2

Create an image post on a subreddit from a public image URL. Supports PNG, JPG, and GIF. Requires bearer token.

POST /api/v2/posting/image

Create an image post on a subreddit from a public image URL. Supports PNG, JPG, and GIF. Requires bearer token.

Body parameters

NameTypeRequiredDescription
subredditstringYesTarget subreddit (name, r/name, or URL).
titlestringYesPost title (max 300 chars).
image_urlstringYesPublic image URL to upload (jpg/png/gif/webp).
bodystringNoOptional markdown body.
bearerstringNoReddit bearer token (token_v2). Optional if stored in Token Vault for your key.
nsfwstringNoMark NSFW (true/false, default: false).
flair_idstringNoFlair template ID.
spoilerstringNoMark spoiler (true/false, default: false).
flair_textstringNoFlair display text.
proxystringNoProxy ip:port:user:pass. Optional if stored in Token Vault.
brand_affiliatestringNoBrand affiliate disclosure (true/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/v2/posting/image" \
  -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>", "image_url": "<image_url>", "body": "<body>", "bearer": "<bearer>", "nsfw": "<nsfw>", "flair_id": "<flair_id>", "spoiler": "<spoiler>", "flair_text": "<flair_text>", "proxy": "<proxy>", "brand_affiliate": "<brand_affiliate>"}'

JavaScript

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

Python

import requests

url = "https://red-crawler1.p.rapidapi.com/api/v2/posting/image"
headers = {
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com",
    "Content-Type": "application/json"
}
payload = {
  "subreddit": "test",
  "title": "<title>",
  "image_url": "<image_url>",
  "body": "<body>",
  "bearer": "<bearer>",
  "nsfw": "<nsfw>",
  "flair_id": "<flair_id>",
  "spoiler": "<spoiler>",
  "flair_text": "<flair_text>",
  "proxy": "<proxy>",
  "brand_affiliate": "<brand_affiliate>"
}
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_1sz4mcy",
        "title": "Image Post",
        "languageCode": null,
        "isNsfw": false,
        "domain": "i.redd.it",
        "createdAt": "2026-04-29T16:56:58.100000+0000",
        "url": "https://i.redd.it/pb0mai31u5yg1",
        "authorInfo": {
          "id": "t2_29onm7dc32"
        },
        "subreddit": {
          "id": "t5_hmeujo",
          "name": "RedCrawlerAPI"
        },
        "postEventInfo": null
      },
      "websocketUrl": "wss://k8s-lb.wss.redditmedia.com:443/pb0mai31u5yg1?m=AQAAsjryaVy7haqZZKa-5KcMdDraW02QE_yrZYbarjeXn0vxEs1I",
      "ok": true,
      "errors": null,
      "fieldErrors": null
    }
  },
  "error": null,
  "meta": {
    "vault_expires_at": "2026-04-30T07:47:21.906002+00:00",
    "vault_remaining": "14h 50m"
  },
  "timestamp": "2026-04-29T16:56:58.331104+00:00"
}

On this page