GET/v1/users/{name}
A Reddit user's profile aggregate — karma, post/comment counts, first/last activity. Roughly Reddit's own /user/{name}/about. Exact username match, not prefix/fuzzy search.
A username with no matching account is still 1 credit — the lookup made a real upstream call either way — and comes back as a normal 200 with data.user: null rather than a 404. See Errors for what actually returns non-200.
That same null also covers a second case with no way to tell it apart from a nonexistent username in the response alone: a real, active account that has enabled Reddit's own profile privacy setting to hide its posts and comments. This endpoint reads from an archive of publicly visible Reddit content, so a fully-hidden profile has nothing to aggregate even though the account itself exists.
| Param | Type | Default | Notes |
|---|---|---|---|
| name * | string (path) | — | 3–64 chars, letters/digits/underscore/hyphen. A name with no matching account is still charged — see above. |
curl "https://api.threadsnoop.com/v1/users/spez" \
-H "x-api-key: ts_live_YOUR_KEY"{
"data": {
"user": {
"author": "spez",
"id": "1w72",
"_meta": {
"num_posts": 549,
"num_comments": 2568,
"post_karma": 832984,
"comment_karma": 666948,
"total_karma": 1499932,
"earliest_post_at": 1119552314,
"earliest_comment_at": 1134392748,
"last_post_at": 1751475161,
"last_comment_at": 1729645028
}
}
},
"_threadsnoop": { "credits_used": 1, "credits_remaining": 327 }
}{
"data": { "user": null },
"_threadsnoop": { "credits_used": 1, "credits_remaining": 326 }
}