Skip to content
Eden Engine

Reddit Post Comments (by Post ID)

omnial/reddit-app-fetch-post-comments

Given a Reddit post ID, returns that post's title and subreddit plus its comment tree: each comment's text, author username, score, timestamps, and reply nesting (depth/parent), along with pagination markers for loading additional or deeper comments. Returns an empty object `{}` when the post ID does not exist.

activeper callv3

Price

Up to $0.00205 per call; you pay what the call used

You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $0.50.

Data source

Reddit

Data from Reddit.

Use it

Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.

Connect once and your AI can find and run this tool, and any other it needs.

agent
// 1. search: find the tool
omnial_search({ query: "what you need" })

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/reddit-app-fetch-post-comments" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/reddit-app-fetch-post-comments" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/reddit-app-fetch-post-comments", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/reddit-app-fetch-post-comments", input: { /* ... */ } })

// 5. settle: the call is charged when it finishes, nothing to do

Not connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.

Pricing

Every charge this tool can incur.

ChargePrice
Per call
$0.00205
Updated
Oct 25, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "required": [
    "post_id"
  ],
  "properties": {
    "after": {
      "type": "string",
      "maxLength": 4096,
      "description": "Pagination parameter for fetching next page"
    },
    "post_id": {
      "type": "string",
      "pattern": "^t3_[a-z0-9]{1,17}$",
      "examples": [
        "t3_1ojnvca"
      ],
      "maxLength": 20,
      "minLength": 4,
      "description": "Post ID"
    },
    "language": {
      "type": "string",
      "default": "en-US",
      "pattern": "^[A-Za-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$",
      "maxLength": 16,
      "minLength": 2,
      "description": "Preferred response language as an IETF language tag; default: en-US"
    },
    "sort_type": {
      "enum": [
        "CONFIDENCE",
        "NEW",
        "TOP",
        "HOT",
        "CONTROVERSIAL",
        "OLD",
        "RANDOM"
      ],
      "type": "string",
      "default": "CONFIDENCE",
      "examples": [
        "CONFIDENCE"
      ],
      "description": "Sort method: CONFIDENCE, NEW, TOP, HOT, CONTROVERSIAL, OLD, RANDOM"
    },
    "need_format": {
      "type": "boolean",
      "default": false,
      "description": "Whether to clean and format the data"
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Echoes the queried post_id, e.g. 't3_1ojnvca'."
    },
    "title": {
      "type": "string"
    },
    "subreddit": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "description": "Reddit's internal subreddit id, e.g. 't5_2qh0u'."
        },
        "name": {
          "type": "string",
          "description": "The subreddit's own name, e.g. 'pics'."
        },
        "prefixedName": {
          "type": "string",
          "description": "e.g. 'r/pics'."
        },
        "isQuarantined": {
          "type": "boolean"
        },
        "allowedMediaInComments": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "description": "Media types this subreddit permits inside comments, e.g. 'GIPHY', 'STATIC', 'EXPRESSION', 'VIDEO'."
        }
      },
      "additionalProperties": true
    },
    "commentCount": {
      "type": "number",
      "description": "Reddit's own headline total comment count for the post as a whole -- can exceed `commentForest.pageInfo.commentCount` and the number of comment entries actually returned in `commentForest.trees`, since not every comment is loaded in one call."
    },
    "commentForest": {
      "type": "object",
      "properties": {
        "trees": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "more": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "count": {
                    "type": "number"
                  },
                  "cursor": {
                    "type": "string",
                    "description": "An opaque continuation token for this collapsed branch. Its exact use with this tool's own `after` input parameter is not documented, so treat it as opaque rather than assume it is directly interchangeable with `after`."
                  },
                  "isTooDeepForCount": {
                    "type": "boolean"
                  }
                },
                "description": "Present instead of a real comment when this entry represents additional, not-yet-loaded replies.",
                "additionalProperties": true
              },
              "node": {
                "type": [
                  "object",
                  "null"
                ],
                "properties": {
                  "id": {
                    "type": "string"
                  },
                  "score": {
                    "type": "number"
                  },
                  "content": {
                    "type": "object",
                    "properties": {
                      "preview": {
                        "type": "string",
                        "description": "Plain-text rendering with markdown/links stripped."
                      },
                      "markdown": {
                        "type": "string",
                        "description": "Raw Reddit markdown source."
                      },
                      "typeHint": {
                        "type": "string",
                        "description": "e.g. 'TEXT' for plain text, or 'RTJSON' for rich content such as an embedded gif (see `richtextMedia`)."
                      },
                      "richtextMedia": {
                        "type": "array",
                        "items": {
                          "type": "object",
                          "properties": {
                            "id": {
                              "type": "string"
                            },
                            "url": {
                              "type": "null",
                              "description": "URL withheld -- always returned as null in this tool's output even though the endpoint returns a real address; only whether media is attached is observable, not its location."
                            },
                            "large": {
                              "type": [
                                "object",
                                "null"
                              ],
                              "properties": {
                                "url": {
                                  "type": "null",
                                  "description": "Withheld, same as `url` above."
                                },
                                "dimensions": {
                                  "type": "object",
                                  "properties": {
                                    "width": {
                                      "type": "number"
                                    },
                                    "height": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": true
                                }
                              },
                              "description": "Null on some media entries (only small/medium populated); otherwise an object with the same shape as `small`/`medium`.",
                              "additionalProperties": true
                            },
                            "small": {
                              "type": [
                                "object",
                                "null"
                              ],
                              "properties": {
                                "url": {
                                  "type": "null",
                                  "description": "Withheld, same as `url` above."
                                },
                                "dimensions": {
                                  "type": "object",
                                  "properties": {
                                    "width": {
                                      "type": "number"
                                    },
                                    "height": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": true
                                }
                              },
                              "additionalProperties": true
                            },
                            "width": {
                              "type": "number"
                            },
                            "height": {
                              "type": "number"
                            },
                            "medium": {
                              "type": [
                                "object",
                                "null"
                              ],
                              "properties": {
                                "url": {
                                  "type": "null",
                                  "description": "Withheld, same as `url` above."
                                },
                                "dimensions": {
                                  "type": "object",
                                  "properties": {
                                    "width": {
                                      "type": "number"
                                    },
                                    "height": {
                                      "type": "number"
                                    }
                                  },
                                  "additionalProperties": true
                                }
                              },
                              "additionalProperties": true
                            },
                            "status": {
                              "type": "string",
                              "description": "e.g. 'VALID'."
                            },
                            "userId": {
                              "type": [
                                "string",
                                "null"
                              ],
                              "description": "Usually null; the shape of a populated value is not documented."
                            },
                            "mimetype": {
                              "type": "string",
                              "description": "e.g. 'image/gif'."
                            }
                          },
                          "additionalProperties": true
                        },
                        "description": "Populated only for RTJSON comments that embed media (e.g. a gif); an empty array otherwise."
                      },
                      "translationInfo": {
                        "type": "object",
                        "properties": {
                          "isTranslated": {
                            "type": "boolean"
                          },
                          "translatedLanguage": {
                            "type": [
                              "string",
                              "null"
                            ],
                            "description": "Usually null -- no translated comment has been observed."
                          }
                        },
                        "additionalProperties": true
                      }
                    },
                    "additionalProperties": true
                  },
                  "isSaved": {
                    "type": "boolean"
                  },
                  "editedAt": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "ISO 8601 timestamp of the comment's last edit; null when it has never been edited."
                  },
                  "isLocked": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "string",
                    "description": "ISO 8601 with UTC offset."
                  },
                  "isRemoved": {
                    "type": "boolean"
                  },
                  "permalink": {
                    "type": "string",
                    "description": "Path only, no host, e.g. '/r/pics/comments/1ojnvca/.../nm4jkk6/' -- prefix with 'https://www.reddit.com' for a browsable link."
                  },
                  "voteState": {
                    "type": "string",
                    "description": "e.g. 'NONE' -- the calling account's own vote state on this comment, not the comment's net score."
                  },
                  "authorInfo": {
                    "type": "object",
                    "properties": {
                      "id": {
                        "type": "string",
                        "description": "Reddit's internal account id for the commenter, e.g. 't2_z1uiu'."
                      },
                      "name": {
                        "type": "string",
                        "description": "The commenter's public Reddit username, exactly as displayed on the public comment page itself."
                      },
                      "newIcon": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "null",
                            "description": "Withheld, same as `iconSmall.url`."
                          },
                          "dimensions": {
                            "type": "object",
                            "properties": {
                              "width": {
                                "type": "number"
                              },
                              "height": {
                                "type": "number"
                              }
                            },
                            "additionalProperties": true
                          }
                        },
                        "additionalProperties": true
                      },
                      "profile": {
                        "type": "object",
                        "properties": {
                          "isNsfw": {
                            "type": "boolean"
                          }
                        },
                        "additionalProperties": true
                      },
                      "iconSmall": {
                        "type": "object",
                        "properties": {
                          "url": {
                            "type": "null",
                            "description": "Withheld, same as the media `url` fields above."
                          },
                          "dimensions": {
                            "type": "object",
                            "properties": {
                              "width": {
                                "type": "number"
                              },
                              "height": {
                                "type": "number"
                              }
                            },
                            "additionalProperties": true
                          }
                        },
                        "additionalProperties": true
                      },
                      "isBlocked": {
                        "type": "boolean"
                      },
                      "accountType": {
                        "type": "string",
                        "description": "e.g. 'USER'."
                      },
                      "isCakeDayNow": {
                        "type": "boolean"
                      },
                      "snoovatarIcon": {
                        "type": [
                          "object",
                          "null"
                        ],
                        "properties": {
                          "url": {
                            "type": "null",
                            "description": "Withheld, same as `iconSmall.url`."
                          },
                          "dimensions": {
                            "type": "object",
                            "properties": {
                              "width": {
                                "type": "number"
                              },
                              "height": {
                                "type": "number"
                              }
                            },
                            "additionalProperties": true
                          }
                        },
                        "description": "Null when the account has not set a custom snoovatar.",
                        "additionalProperties": true
                      },
                      "isPremiumAvatarTreatment": {
                        "type": "boolean"
                      }
                    },
                    "additionalProperties": true
                  },
                  "isArchived": {
                    "type": "boolean"
                  },
                  "isGildable": {
                    "type": "boolean"
                  },
                  "isStickied": {
                    "type": "boolean"
                  },
                  "languageCode": {
                    "type": "string",
                    "description": "e.g. 'en', or 'und' when undetermined."
                  },
                  "isScoreHidden": {
                    "type": "boolean"
                  },
                  "isTranslatable": {
                    "type": "boolean"
                  },
                  "distinguishedAs": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "e.g. 'MODERATOR' when the author posted with special standing; null otherwise."
                  },
                  "isAdminTakedown": {
                    "type": "boolean"
                  },
                  "removedByCategory": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "Usually null; the shape of a populated value (an actually-removed comment) is not documented."
                  },
                  "isInitiallyCollapsed": {
                    "type": "boolean"
                  },
                  "initiallyCollapsedReason": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "description": "e.g. 'STICKY_AUTOMOD' for an auto-collapsed sticky bot comment; null otherwise."
                  },
                  "isCommercialCommunication": {
                    "type": "boolean"
                  }
                },
                "description": "The comment itself; null when this tree entry is a 'more' placeholder instead (see `more`).",
                "additionalProperties": true
              },
              "depth": {
                "type": "number",
                "description": "0 for a top-level comment."
              },
              "parentId": {
                "type": [
                  "string",
                  "null"
                ],
                "description": "The parent comment's id; null for a top-level comment."
              },
              "childCount": {
                "type": "number"
              }
            },
            "additionalProperties": true
          },
          "description": "A flat list of comment-tree entries, not a nested object tree -- `depth` and `parentId` describe reply nesting. An entry with `more` populated and `node` null is a 'load more comments' placeholder rather than an actual comment, confirmed against several entries in a real thread."
        },
        "pageInfo": {
          "type": "object",
          "properties": {
            "hasNextPage": {
              "type": "boolean"
            },
            "commentCount": {
              "type": "number",
              "description": "Comment count for the current page/thread state -- distinct from the post-level `commentCount` above, and observed as a different (smaller) number in testing."
            }
          },
          "additionalProperties": true
        }
      },
      "additionalProperties": true
    }
  },
  "description": "The post-and-comments record, returned directly (not wrapped in a `postInfoById` key). `{}` (no keys at all) when `post_id` does not resolve to an existing post -- never `{ postInfoById: null }`.",
  "additionalProperties": true
}