How do I track brand mentions across subreddits?
Call GET /v1/reddit/search/posts?q=brand&sort=new on a schedule. Each run returns the newest public posts that mention the name, across every public subreddit. Store each post id and skip the ones you have. Add subreddit= to watch one community, or t=day to bound the window.
For the conversation under a post, call GET /v1/reddit/posts/{id}/comments. Mentions inside comments do not surface in post search, so read the threads of posts about your category too.
Checked September 2026 · request and response run against the API · no affiliate links
curl "https://api.openhandle.dev/v1/reddit/search/posts?q=synthetic&sort=new&t=day" \
-H "Authorization: Bearer $OPENHANDLE_API_KEY"import { OpenHandle } from '@openhandle/sdk';
const openhandle = new OpenHandle({ apiKey: process.env.OPENHANDLE_API_KEY! });
// Run every hour.
const page = await openhandle.reddit.search.posts.list({ q: 'synthetic', sort: 'new', t: 'day' });
for (const post of page.data) {
if (await seen(post.id)) continue;
await onMention(post);
}{
"platform": "reddit",
"resource": "post",
"capturedAt": "2026-09-18T12:41:30Z",
"source": "live",
"data": [
{
"id": "t3_reddit1",
"title": "Synthetic Reddit post",
"text": "Deterministic test content.",
"community": { "handle": "synthetic", "displayHandle": "r/synthetic" },
"createdAt": "2026-08-09T15:30:00Z",
"metrics": { "score": 0, "upvoteRatio": 0.5, "comments": 0 }
}
],
"meta": { "cursors": { "next": "b3BhcXVlLWN1cnNvcg" } }
}Trimmed to one post. Reddit endpoints are in beta. The example is a Test fixture, so you can run it on a free Test key.
Tune the search
- —sort.
newfor monitoring.toporcommentswitht=weekfor a weekly digest of what got traction. - —subreddit. Restrict to one community. Run separate searches for the three or four subreddits that matter most, plus one open search.
- —t. Time window:
hour,day,week,month,year,all. Keep it one step wider than your poll interval so nothing slips between runs. - —Quoted names. Reddit search treats words loosely. Quote a multi-word brand name in
q.
Score the mention
A post’s score and comments keep moving for a day or two. Re-read a post with GET /v1/reddit/posts/{id} after 24 hours to get the settled numbers. upvoteRatio tells you whether the room agreed. Store capturedAt with every read so the report can show when the number was true.
Comments are where the opinions are
Most brand mentions on Reddit are replies, not posts. Search finds the posts. Read the comment threads of posts about your category, not only posts that name you, and match the brand name in comment text yourself.
When this does not work
Empty is an answer. A cursor from another request is a mistake.
| Situation | Status | Code |
|---|---|---|
| No public posts match | 200 | empty data |
| The subreddit is private, quarantined, or banned | 403 | PROFILE_PRIVATE |
| The cursor came from another query, sort, or window | 400 | CURSOR_MISMATCH |
{
"error": {
"code": "CURSOR_MISMATCH",
"message": "The cursor does not belong to this request.",
"requestId": "req_01j8…",
"retryable": false
}
}An empty page bills as an answered request. Reddit endpoints are in beta. The shape is stable, coverage is still growing.
Read next
More Reddit questions
Send your agent ahead.
Paste the prompt into your agent and it sets everything up. Or come yourself, it takes five minutes.