Get a Reddit account's public profile

GET /v1/reddit/users/{username}

Karma, account age, moderator and Premium status, and the profile's bio and follower count — the facts that tell a real, established account from a throwaway. A suspended account is returned with isSuspended: true and its counters null, because that is all Reddit shows; an account that does not exist is a 404.

Price: 1 credit per call, plus 1 credit per Reddit user returned. Failed and refused calls cost nothing.

Rate limit: Counts as 1 request against your per-minute rate limit.

MCP tool: get_reddit_user, on every MCP connection.

Requires an API key, sent as Authorization: Bearer <key>.

Request

curl --request GET \
  --url https://api.weirapp.io/v1/reddit/users/USERNAME \
  --header "Authorization: Bearer $WEIR_API_KEY"

Path parameters

Field Type Required Notes
username string yes Username without the u/ prefix. · matches ^[A-Za-z0-9_-]{1,20}$

Response

The profile, in Reddit's own field names.

200

Field Type Required Notes
data object yes
data.id string or null yes Base-36 account id without t2_. Null for a suspended account.
data.name string yes Username without the u/ prefix.
data.url string yes Absolute URL of the profile.
data.isSuspended boolean yes Suspended by Reddit: the profile shows nothing else.
data.createdUtc number or null yes When the account was created, in epoch seconds.
data.createdAt string or null yes
data.linkKarma integer or null yes Karma from posts.
data.commentKarma integer or null yes Karma from comments.
data.totalKarma integer or null yes
data.isEmployee boolean or null yes A Reddit employee.
data.isMod boolean or null yes Moderates at least one community.
data.isGold boolean or null yes Has Reddit Premium.
data.verified boolean or null yes
data.hasVerifiedEmail boolean or null yes
data.iconImg string or null yes URL of the avatar.
data.snoovatarImg string or null yes URL of the full-body avatar, if one is set.
data.acceptFollowers boolean or null yes
data.subreddit object or null yes The profile page itself, which Reddit models as a community named u_<name>. Null for a suspended account.
data.subreddit.title string yes
data.subreddit.publicDescription string or null yes The profile's bio.
data.subreddit.over18 boolean yes The account marked its profile NSFW.
data.subreddit.bannerImg string or null yes
data.subreddit.subscribers integer yes Followers. 0 when the account hides the count. · min 0
meta object yes
meta.requestId string yes
meta.nextCursor string or null no

Errors

Status Meaning What to do
400 The request failed validation. The request was malformed. The details object names the field.
401 The API key is missing, malformed, expired, or revoked. The key is missing, malformed, revoked, or expired.
402 The account is out of credit. Not retryable: this cannot clear until the billing period resets or the plan changes. Out of credits. Never retry. Only a person can clear it, by adding credits at https://weirapp.io/dashboard/billing. Retrying never will.
403 The API key does not carry the scope this route requires. The key is valid but lacks the scope this operation needs.
404 The requested resource does not exist. No such resource, or it is not public.
429 The per-minute rate limit is exhausted. Retryable: wait for Retry-After and try again. Rate limited. Retryable: wait for Retry-After, then try again.
500 An unexpected error occurred. Something failed on our side. Retryable with backoff.
503 The source is temporarily unavailable. The request is safe to retry. A source was unreachable. Retryable with backoff.

View this page as Markdown