All questionsReddit

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

GET /v1/reddit/search/posts?q=…&sort=new
curl "https://api.openhandle.dev/v1/reddit/search/posts?q=synthetic&sort=new&t=day" \
  -H "Authorization: Bearer $OPENHANDLE_API_KEY"
TypeScript SDK
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);
}
200 OK
{
  "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.

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.

SituationStatusCode
No public posts match200empty data
The subreddit is private, quarantined, or banned403PROFILE_PRIVATE
The cursor came from another query, sort, or window400CURSOR_MISMATCH
400 Bad Request
{
  "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.

For agents