RedCrawler API
Voting V2

Vote on Post V2

Vote on a post (upvote, downvote, or remove vote). Requires bearer token.

POST /api/v2/post/vote

Vote on a post (upvote, downvote, or remove vote). Requires bearer token.

Query parameters

NameTypeRequiredDescription
post_idstringYesPost URL, t3_ID, or raw ID (e.g. t3_1sys4r2, or full reddit.com URL)
votestringYesVote action: upvote, downvote, or remove
bearerstringNoBearer token (auto-resolves from Token Vault if stored)
proxystringNoCustom proxy (host:port:user:pass)

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/post/vote?post_id=1sys4r2&vote=<vote>&bearer=<bearer>&proxy=<proxy>" \
  -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/post/vote?post_id=1sys4r2&vote=<vote>&bearer=<bearer>&proxy=<proxy>", {
  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/post/vote?post_id=1sys4r2&vote=<vote>&bearer=<bearer>&proxy=<proxy>"
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,
    "vote": "UP",
    "post_id": "t3_1s3f2fe",
    "result": {
      "updatePostVoteState": {
        "ok": true,
        "errors": null
      }
    }
  },
  "error": null,
  "meta": {
    "vault_expires_at": "2026-04-30T07:47:21.906002+00:00",
    "vault_remaining": "13h 35m"
  },
  "timestamp": "2026-04-29T18:12:07.406530+00:00"
}

On this page