---
title: "Set Display Name"
method: POST
path: "/api/reddit/profile/display-name"
tags: ["Profile"]
---

# Set Display Name

`POST /api/reddit/profile/display-name`

## Request

- Base URL: `https://api.redditapis.com`
- URL: `https://api.redditapis.com/api/reddit/profile/display-name`
- Auth: HTTP bearer

Set the profile display name (the human-readable name shown above the username). Does not change the username. Up to 90 characters. Session cookies are optional when a Reddit session is connected through POST /api/reddit/session: a call that sends none acts as the stored session, and cookies you do send always win. Cost: $0.012 per call.

## Request body

- object
  - `display_name` string, required: New display name, <= 90 chars
  - `reddit_session` string: Account session cookie (from /api/reddit/login)
  - `csrf_token` string: Reddit CSRF token cookie
  - `loid` string: Account loid cookie (from /api/reddit/login)
  - `proxy` union: Sticky IP for this account — match the proxy used for /api/reddit/login, and send it on every call for that account. Object { server, username?, password? } or a proxy URL string. A bare host:port is accepted and treated as http. Schemes: http, https, socks4, socks5, socks5h (browser-backed endpoints support http, https, socks5). Pinned across internal retries; omit to use our shared pool.
    - object
      - `server` string, required
      - `username` string
      - `password` string
    - string
  - `max_attempts` integer: Retry budget (default 3)

## Response `200`

Successful response.

- object

## Other responses

- `400`: Bad request — missing or invalid parameters.
- `401`: Missing Bearer token.
- `402`: Your account balance does not cover this call, so nothing was charged and the request was not served. The response body is {"error":"Insufficient credits","top_up_url":"https://www.redditapis.com/dashboard/buy-credits","message":"..."}; error keeps that exact wording. This is a billing state, not a bad request: the same call succeeds once the balance is topped up, and retrying without topping up returns 402 again, which is why it carries Retry-After: 3600. Top up at the top_up_url, then call again at once; the header does not apply after a top-up. Read the remaining balance any time from GET /account/me, which is free and never returns this error. Distinct from the 402 on the monitoring endpoints, which is about plan entitlements rather than credits.
- `403`: Invalid Bearer token.
- `429`: Rate limit exceeded.
- `500`: Unexpected server error.
- `502`: Upstream (Reddit) rejected the request — cookies expired or account flagged.

---

[API](https://skmtc.dev/redditapis/apis/redditapis-api.md) · [All operations](https://skmtc.dev/redditapis/apis/redditapis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/redditapis/apis/redditapis-api/revisions/9696482dfe9b?raw)
