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.
| 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"const res = await fetch(
"https://api.threadsnoop.com/v1/users/spez",
{ headers: { "x-api-key": "ts_live_YOUR_KEY" } },
);
const data = await res.json();
console.log(data.data.user);type RedditUser = {
author: string;
id: string;
_meta: {
num_posts: number;
num_comments: number;
post_karma: number;
comment_karma: number;
total_karma: number;
earliest_post_at: number;
earliest_comment_at: number;
last_post_at: number;
last_comment_at: number;
};
} | null;
type UserResponse = {
data: { user: RedditUser };
_threadsnoop: { credits_used: number; credits_remaining: number };
};
const res = await fetch(
"https://api.threadsnoop.com/v1/users/spez",
{ headers: { "x-api-key": "ts_live_YOUR_KEY" } },
);
const data: UserResponse = await res.json();
console.log(data.data.user);import requests
r = requests.get(
"https://api.threadsnoop.com/v1/users/spez",
headers={"x-api-key": "ts_live_YOUR_KEY"},
)
data = r.json()
print(data["data"]["user"]){
"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 }
}