RedCrawler API
Posts & Feeds V2

Post State Controls V2

Execute a post state action: save, unsave, follow, unfollow, hide, unhide, nsfw, unnsfw, spoiler, unspoiler, brand, unbrand, pin, unpin, reminder, no_reminder,

POST /api/v2/content/state

Execute a post state action: save, unsave, follow, unfollow, hide, unhide, nsfw, unnsfw, spoiler, unspoiler, brand, unbrand, pin, unpin, reminder, no_reminder, send_replies, no_replies, delete, update. Requires bearer token.

Query parameters

NameTypeRequiredDescription
actionstringYesAction: save, unsave, follow, unfollow, hide, unhide, nsfw, unnsfw, spoiler, unspoiler, brand, unbrand, pin, unpin, reminder, no_reminder, send_replies, no_replies, delete, update
post_idstringYesPost URL, t3_ID, or raw ID (e.g. https://www.reddit.com/r/IAmA/comments/z1c9z2, t3_z1c9z2, or z1c9z2)
proxystringNoYour proxy as ip:port:user:pass. Skip if stored in Token Vault.
contentstringNoNew post content — plain text or Reddit markdown both work. Only used with action=update
bearerstringNoReddit bearer token. Auto-resolves from Token Vault if stored.

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/content/state?action=<action>&post_id=1sys4r2&proxy=<proxy>&content=<content>&bearer=<bearer>" \
  -H "X-RapidAPI-Key: YOUR_RAPIDAPI_KEY" \
  -H "X-RapidAPI-Host: red-crawler1.p.rapidapi.com"

JavaScript

const res = await fetch("https://red-crawler1.p.rapidapi.com/api/v2/content/state?action=<action>&post_id=1sys4r2&proxy=<proxy>&content=<content>&bearer=<bearer>", {
  method: "POST",
  headers: {
      "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com"
    }
});
const data = await res.json();
console.log(data);

Python

import requests

url = "https://red-crawler1.p.rapidapi.com/api/v2/content/state?action=<action>&post_id=1sys4r2&proxy=<proxy>&content=<content>&bearer=<bearer>"
headers = {
    "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
    "X-RapidAPI-Host": "red-crawler1.p.rapidapi.com"
}
resp = requests.post(url, headers=headers)
print(resp.json())

Example response

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

{
  "success": true,
  "data": {
    "success": true,
    "action": "save",
    "post_id": "t3_1sz4qu8",
    "result": {
      "updatePostSaveState": {
        "ok": true,
        "errors": null
      }
    }
  },
  "error": null,
  "meta": {
    "vault_expires_at": "2026-04-30T07:47:21.906002+00:00",
    "vault_remaining": "14h 44m"
  },
  "timestamp": "2026-04-29T17:02:25.594371+00:00"
}

On this page