Skip to content
Eden Engine

Reddit Community Keyword Search (Relevance, All Time, No NSFW) or Post Thread by URL

omnial/reddit-community-search-or-post-thread

Two ways in: search one subreddit for up to three keywords (relevance order, all time, NSFW excluded, posts and comments), or give one post's link to get the post and its comments. Each row has its ID, type, link, author handle, community, text and time; a post from a link adds title, upvotes, upvote ratio, comment count and content type, and its comments add upvotes, depth, parent, post ID and reply count. Up to 20 rows; the tested keyword search returned only comments.

activeper resultv1

Price

Up to $0.0546 base + $0.00819 per result; you pay what the call used

The price shown is the price you pay. No monthly minimum. Top-ups start at $5.

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.

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

// 2. inspect: price and input schema
omnial_inspect({ tool: "omnial/reddit-community-search-or-post-thread" })

// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "omnial/reddit-community-search-or-post-thread" })

// 4. run: price the exact call first, then run it
omnial_execute({ tool: "omnial/reddit-community-search-or-post-thread", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "omnial/reddit-community-search-or-post-thread", 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
Base price
Charged once per request
$0.0546
Per result
Charged for every result returned
$0.00819
Updated
Oct 15, 2026

Input and output schemas

Input schema
input_schema.json
{
  "type": "object",
  "oneOf": [
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "startUrls"
            ]
          },
          {
            "required": [
              "skipComments"
            ]
          },
          {
            "required": [
              "includeMediaLinks"
            ]
          }
        ]
      },
      "required": [
        "searches",
        "searchCommunityName",
        "searchPosts",
        "searchComments",
        "sort",
        "time",
        "includeNSFW"
      ]
    },
    {
      "not": {
        "anyOf": [
          {
            "required": [
              "searches"
            ]
          },
          {
            "required": [
              "searchCommunityName"
            ]
          },
          {
            "required": [
              "searchPosts"
            ]
          },
          {
            "required": [
              "searchComments"
            ]
          },
          {
            "required": [
              "sort"
            ]
          },
          {
            "required": [
              "time"
            ]
          },
          {
            "required": [
              "includeNSFW"
            ]
          }
        ]
      },
      "required": [
        "startUrls",
        "skipComments",
        "includeMediaLinks"
      ]
    }
  ],
  "properties": {
    "sort": {
      "enum": [
        "relevance"
      ],
      "type": "string",
      "description": "Keyword search: must be \"relevance\" (results by relevance)."
    },
    "time": {
      "enum": [
        "all"
      ],
      "type": "string",
      "description": "Keyword search: must be \"all\" (no date filter)."
    },
    "maxItems": {
      "type": "integer",
      "default": 10,
      "maximum": 20,
      "minimum": 1,
      "description": "The most rows to return in all, from 1 to 20."
    },
    "searches": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "maxItems": 3,
      "minItems": 1,
      "description": "Keyword search: one to three search terms, matched inside the community."
    },
    "startUrls": {
      "type": "array",
      "items": {
        "type": "object",
        "required": [
          "url"
        ],
        "properties": {
          "url": {
            "type": "string",
            "pattern": "^https://www\\.reddit\\.com/r/[A-Za-z0-9_]+/comments/[a-z0-9]+/[A-Za-z0-9_]*/?$"
          }
        },
        "additionalProperties": false
      },
      "maxItems": 1,
      "minItems": 1,
      "description": "Post thread: a list holding one object whose url is a post's link of the form https://www.reddit.com/r/<community>/comments/<id>/<slug>/."
    },
    "includeNSFW": {
      "enum": [
        false
      ],
      "type": "boolean",
      "description": "Keyword search: must be false (NSFW content excluded)."
    },
    "maxComments": {
      "type": "integer",
      "default": 10,
      "maximum": 20,
      "minimum": 1,
      "description": "The most comments to read on each post page, from 1 to 20."
    },
    "searchPosts": {
      "enum": [
        true
      ],
      "type": "boolean",
      "description": "Keyword search: must be true (search posts)."
    },
    "skipComments": {
      "enum": [
        false
      ],
      "type": "boolean",
      "description": "Post thread: must be false (the post's comments are included)."
    },
    "searchComments": {
      "enum": [
        true
      ],
      "type": "boolean",
      "description": "Keyword search: must be true (search comments)."
    },
    "includeMediaLinks": {
      "enum": [
        true
      ],
      "type": "boolean",
      "description": "Post thread: must be true (adds the post's upvotes and comment count)."
    },
    "searchCommunityName": {
      "type": "string",
      "pattern": "^[A-Za-z0-9_]+$",
      "description": "Keyword search: the subreddit to search in, without the r/ prefix."
    }
  },
  "additionalProperties": false
}
Output schema
output_schema.json
{
  "type": "object",
  "properties": {
    "results": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The row's full ID (t3_ post, t1_ comment)."
          },
          "url": {
            "type": [
              "string",
              "null"
            ],
            "description": "The row's own reddit.com link."
          },
          "body": {
            "type": [
              "string",
              "null"
            ],
            "description": "The text, links and markup removed."
          },
          "depth": {
            "type": "number",
            "description": "Thread comments: nesting depth, 0 top."
          },
          "title": {
            "type": [
              "string",
              "null"
            ],
            "description": "Post rows: the title."
          },
          "postId": {
            "type": "string",
            "description": "Thread comments: the post's ID."
          },
          "upVotes": {
            "type": "number",
            "description": "Post thread rows: upvotes."
          },
          "dataType": {
            "type": "string",
            "description": "post or comment."
          },
          "parentId": {
            "type": [
              "string",
              "null"
            ],
            "description": "Thread comments: the parent comment's ID, null at the top."
          },
          "parsedId": {
            "type": "string",
            "description": "The ID without its prefix."
          },
          "username": {
            "type": "string",
            "description": "The author's handle; [deleted] for a deleted account."
          },
          "createdAt": {
            "type": "string",
            "description": "When it was posted (ISO 8601)."
          },
          "contentType": {
            "type": "string",
            "description": "Post rows: the content type."
          },
          "upVoteRatio": {
            "type": "number",
            "description": "Post rows: the upvote ratio."
          },
          "communityName": {
            "type": "string",
            "description": "The community, with r/."
          },
          "numberOfReplies": {
            "type": "number",
            "description": "Thread comments: replies."
          },
          "numberOfComments": {
            "type": "number",
            "description": "Post rows: comment count."
          },
          "parsedCommunityName": {
            "type": "string",
            "description": "The community, without r/."
          }
        }
      },
      "description": "Posts and comments; each row's dataType says which."
    }
  },
  "description": "The rows, as a list."
}