Read a community's newest comments, across every post

GET /v1/reddit/subreddits/{name}/comments

Every new comment in a community, newest first, each with the post it belongs to (linkTitle, linkPermalink). This is the way to find mentions inside comments: Reddit's search does not search comment text at all.

Busy communities produce comments faster than anyone pages through them; to watch one continuously, create a subreddit_comments monitor, which also filters by keyword. name takes several communities joined with +. NSFW is judged by the comment's post and is left out unless includeNsfw=true.

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

Rate limit: Counts as 2 requests against your per-minute rate limit.

MCP tool: get_subreddit_comments, on every MCP connection.

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

Request

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

Path parameters

Field Type Required Notes
name string yes A community name without r/; popular or all for the site-wide listings; or up to 25 communities joined with + (saas+startups+entrepreneur) to read them as one listing in a single call. · matches ^(?:[A-Za-z0-9][A-Za-z0-9_]{2,20}|[A-Za-z]{2})(?:\+(?:[A-Za-z0-9][A-Za-z0-9_]{2,20}|[A-Za-z]{2})){0,24}$

Query parameters

Field Type Required Notes
includeNsfw string no Include posts marked NSFW. Off by default; what it removes is reported in meta.omittedNsfw, so a short or empty page is never mistaken for a quiet one. · true, false, default "false"
limit integer no Comments per page. · 1–100, default 50
cursor string no meta.nextCursor from the previous page, unchanged. Opaque, signed, and bound to the other parameters: change any of them and start again without a cursor. · 1–4096 chars

Response

Comments, newest first, in Reddit's own field names.

200

Field Type Required Notes
data array of object yes
data[].id string yes Reddit's base-36 comment id, without the t1_ prefix.
data[].postId string yes The post this comment belongs to, without t3_.
data[].parentId string yes The comment or post this replies to.
data[].author string yes Username without the u/ prefix. [deleted] if removed.
data[].body string yes Markdown. [removed] or [deleted] once taken down.
data[].score integer yes
data[].permalink string yes Absolute URL of the comment.
data[].createdUtc number yes
data[].createdAt string (date-time) yes
data[].subreddit string yes Community name without the r/ prefix.
data[].isSubmitter boolean yes The commenter is the post's author (OP).
data[].edited number or null yes When the comment was last edited, in epoch seconds. Null if it never was.
data[].distinguished string or null yes moderator or admin when posted in an official capacity; otherwise null.
data[].stickied boolean yes Pinned under the post by a moderator.
data[].scoreHidden boolean yes Reddit is hiding this comment's score for now; score means nothing while true.
data[].linkTitle string yes Title of the post the comment belongs to.
data[].linkAuthor string yes Author of that post.
data[].linkPermalink string yes Absolute URL of that post.
data[].numComments integer yes Comments on that post. · min 0
data[].over18 boolean yes That post is marked NSFW.
meta object yes
meta.requestId string yes
meta.nextCursor string or null no
meta.omittedNsfw integer no Items removed from this page because they are marked NSFW and includeNsfw is false. Absent when nothing was removed. A page can be short, or even empty with a non-null nextCursor, because of it. · min 0

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