Write
Upvote or Downvote Reddit Posts and Comments
Upvote, downvote, or clear your vote on any Reddit post or comment via a single HTTP call — auto-detects whether the target is a post or comment for you.
POST
/api/reddit/vote$0.005 / callUpvote, downvote, or remove your vote on a Reddit post or comment. Automatically detects whether the target is a post or a comment from the thing_id prefix.
Request Body
Cookies are passed as flat top-level fields (same as /comment).
| Field | Type | Required | Description |
|---|---|---|---|
thing_id | string | yes | t3_xxx for a post, t1_xxx for a comment |
direction | string | yes | up, down, or none (clear existing vote) |
reddit_session | string | yes | Session cookie from /api/reddit/login |
loid | string | yes | Long-lived account identifier cookie |
csrf_token | string | yes | Anti-CSRF cookie |
token_v2, edgebucket, csv, session_tracker, pc | string | no | Extra Reddit cookies |
Example
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{
"thing_id": "t3_1spdhgt",
"direction": "up",
"reddit_session": "eyJhbGc...",
"loid": "000000...",
"token_v2": "eyJhbGc...",
"csrf_token": "689ea9..."
}' \
"https://api.redditapis.com/api/reddit/vote"const response = await fetch("https://api.redditapis.com/api/reddit/vote", {
method: "POST",
headers: {
Authorization: "Bearer TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
thing_id: "t3_1spdhgt",
direction: "up",
reddit_session: "eyJhbGc...",
loid: "000000...",
token_v2: "eyJhbGc...",
csrf_token: "689ea9...",
}),
});import requests
response = requests.post(
"https://api.redditapis.com/api/reddit/vote",
json={
"thing_id": "t3_1spdhgt",
"direction": "up",
"reddit_session": "eyJhbGc...",
"loid": "000000...",
"token_v2": "eyJhbGc...",
"csrf_token": "689ea9...",
},
headers={"Authorization": "Bearer TOKEN"},
)Success Response
{
"success": true,
"thing_id": "t3_1spdhgt",
"direction": "UP"
}Direction Values
| Input | Meaning |
|---|---|
up, 1, upvote | Upvote |
down, -1, downvote | Downvote |
none, 0, clear, unvote | Remove existing vote |
Errors
| Status | Meaning |
|---|---|
400 | Missing thing_id / direction or required cookies; or thing_id doesn't start with t3_ or t1_ |
401 | Missing Bearer token |
403 | Invalid Bearer token |
502 | Could not register the vote (for example, the target post or comment was deleted) |
500 | Unexpected server error |
Comment v2New
Post Reddit comments ~2x faster than v1 with the v2 endpoint. Same request shape, same response — just lower latency for higher-volume use cases.
Send DMNew
Send a direct message to any Reddit user via a single HTTP call. No browser automation, no captcha at send time — just paste cookies and the message body.
