Profile
Update a Reddit Account Bio (publicDescription)
Update the logged-in Reddit account's profile bio (publicDescription) via HTTP — plain text up to 200 characters, no browser automation needed.
POST
/api/reddit/profile/description$0.012 / callUpdate the profile bio (publicDescription) of the logged-in account. Plain text, up to 200 characters.
Request Body
Cookies are passed as flat top-level fields (same shape as /comment, /vote, /dm).
| Field | Type | Required | Description |
|---|---|---|---|
description | string | yes | New bio — plain text, ≤ 200 chars |
reddit_session | string | yes | Session cookie from /api/reddit/login |
csrf_token | string | yes | Anti-CSRF cookie |
loid | string | no | Account loid cookie (recommended) |
token_v2, edgebucket, csv, session_tracker | string | no | Extra Reddit cookies |
proxy | object | string | no | Sticky IP for this account — match the proxy you used for /api/reddit/login. { server, username?, password? } or "http://user:pass@host:port" |
max_attempts | number | no | Retry budget (default 3) |
Example
curl -X POST -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{
"description": "lurker, occasional contributor",
"reddit_session": "eyJhbGc...",
"loid": "000000...",
"csrf_token": "689ea9..."
}' \
"https://api.redditapis.com/api/reddit/profile/description"const response = await fetch("https://api.redditapis.com/api/reddit/profile/description", {
method: "POST",
headers: {
Authorization: "Bearer TOKEN",
"Content-Type": "application/json",
},
body: JSON.stringify({
description: "lurker, occasional contributor",
reddit_session: "eyJhbGc...",
loid: "000000...",
csrf_token: "689ea9...",
}),
});
const data = await response.json();import requests
response = requests.post(
"https://api.redditapis.com/api/reddit/profile/description",
json={
"description": "lurker, occasional contributor",
"reddit_session": "eyJhbGc...",
"loid": "000000...",
"csrf_token": "689ea9...",
},
headers={"Authorization": "Bearer TOKEN"},
)
data = response.json()Success Response
{
"success": true,
"username": "your_reddit_username",
"subreddit_id": "t5_xxxxxxxx",
"description": "lurker, occasional contributor"
}Errors
| Status | Meaning |
|---|---|
400 | Missing description, description > 200 chars, or required cookies missing |
401 | Missing Bearer token |
403 | Invalid Bearer token |
502 | Upstream rejected (cookies expired, account flagged) |
500 | Unexpected server error |
Fetch MessagesNew
Fetch the complete message history of a single Reddit DM thread with cursor-based pagination — every message, sender, timestamp, and redaction state.
Set Display NameNew
Set the display name on a Reddit profile — the human-readable name shown above the username. Up to 90 characters. The username itself is not changed.
