---
title: "Deep Comment Search"
method: GET
path: "/api/reddit/search/comments/deep"
tags: ["Listings & Search"]
---

# Deep Comment Search

`GET /api/reddit/search/comments/deep`

## Request

- Base URL: `https://api.redditapis.com`
- URL: `https://api.redditapis.com/api/reddit/search/comments/deep`
- Auth: HTTP bearer

Genuine comment search. Takes the parent posts from comment search, fetches each post's comment tree, and returns the ACTUAL comments whose body matches your query, with body, score, author, a comment-deep permalink, and the parent post. Premium: one comment-search read plus up to `limit` comment-tree reads. Best-effort: a deleted or deep-tree comment may be missed (meta.truncated flags a depth-limited tree). Cost: $0.02 per call.

## Query parameters

- `q` string, required
- `sort` string
- `t` string
- `limit` string
- `max_comments` string
- `nsfw` boolean
- `after` string
- `group_by` string
- `max_authors` string

## Response `200`

Successful response.

- object
  - `comments` object[]
  - `authors` object[]
  - `meta` object
  - `after` string, nullable: Opaque pagination cursor; null when no next page is offered.
  - `exhausted_reason` string, nullable: Present only when `after` is null: why the listing stopped.
  - `listing_status` string, nullable: complete | truncated | unknown. Only `complete` means you have every item.
  - `items_returned` integer, nullable: Running item count across the pages walked so far.
  - `final_page_items` integer, nullable: Items on the last page served.
  - `hint` string, nullable: Human-readable next step for this exhausted_reason.

## Other responses

- `400`: Bad request — missing or invalid parameters.
- `401`: Missing Bearer token.
- `402`: Your account balance does not cover this call, so nothing was charged and the request was not served. The response body is {"error":"Insufficient credits","top_up_url":"https://www.redditapis.com/dashboard/buy-credits","message":"..."}; error keeps that exact wording. This is a billing state, not a bad request: the same call succeeds once the balance is topped up, and retrying without topping up returns 402 again, which is why it carries Retry-After: 3600. Top up at the top_up_url, then call again at once; the header does not apply after a top-up. Read the remaining balance any time from GET /account/me, which is free and never returns this error. Distinct from the 402 on the monitoring endpoints, which is about plan entitlements rather than credits.
- `403`: Invalid Bearer token.
- `429`: Rate limit exceeded.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/redditapis/apis/redditapis-api.md) · [All operations](https://skmtc.dev/redditapis/apis/redditapis-api/llms.txt) · [OpenAPI document](https://skmtc.dev/redditapis/apis/redditapis-api/revisions/f93b643b51b6?raw)
