enrich_reddit_thread

enrich_reddit_thread MCP tool: trigger Bright Data scrape of a Reddit thread. Charges 50 credits on Agency or one slot from a monthly quota on Growth/Pro/Starter, idempotent on in-progress scrapes, async (1-3 min).

Updated 2026-05-08

enrich_reddit_thread

enrich_reddit_thread triggers a Bright Data scrape of a Reddit thread to pull the post body, top comments, upvotes and post date into the thread record. After the scrape lands, a follow-up get_reddit_thread (or list_reddit_threads) returns the full content so your agent can reason on it. Mentionable does not return a relevance score or suggested angle — the agent calling the MCP runs its own analysis.

When to use

Call it when list_reddit_threads returns a thread in NEW status and your agent decides it deserves a deeper read before engaging or dismissing. A typical loop: list threads with filters.status: ["NEW"], sort by score_desc, enrich the top N, poll get_reddit_thread until ENRICHED, then read content.postBody and content.topComments to draft a reply.

Requires member role minimum, customer role rejected.

Plan limits

Reddit enrichment is gated by plan. Two billing modes coexist:

Plan Mode Allowance
Starter (legacy) Quota 2 enrichments / month
Growth Quota 4 enrichments / month
Pro Quota 16 enrichments / month
Agency Credits Unlimited, 50 credits per enrichment

The monthly quota counts each thread that finished enriching (enrichedAt within the current billing period) plus any in-flight enrichment (status: "ENRICHING" triggered this period). The counter resets at the next renewal of the workspace's billing period.

When a workspace is over quota or under budget, the call returns success: false with a reason field — see "Error" cases below — and no scrape is triggered. The check is bypassed in development (NODE_ENV=development).

Idempotency

If the thread is already in ENRICHING status, the call is a no-op: it returns success: true, alreadyInProgress: true and does not re-charge or count against the quota. This makes it safe to retry on transient errors. If the thread is ENRICHED or DELETED, the call will charge again and re-trigger — call get_reddit_thread first if you want to avoid that.

Async

The scrape is asynchronous and typically lands in 1 to 3 minutes. Poll get_reddit_thread with a 30-second interval until status: "ENRICHED" (or "DELETED" if the post is gone on Reddit).

Input

Field Type Description
projectId string (CUID) Project the thread belongs to.
redditPostId string (CUID) Thread to enrich.

Response

Success — quota plan (Growth/Pro/Starter)

{
  "success": true,
  "alreadyInProgress": false,
  "thread": {
    "id": "clxred001",
    "url": "https://reddit.com/r/SEO/comments/abc123",
    "status": "ENRICHING"
  },
  "enrichment": {
    "mode": "quota",
    "quotaPerMonth": 4,
    "remainingThisMonth": 2
  },
  "message": "Enrichment started. Poll get_reddit_thread to watch for status: ENRICHED (typically 1-3 minutes)."
}

Success — credit plan (Agency)

{
  "success": true,
  "alreadyInProgress": false,
  "thread": {
    "id": "clxred001",
    "url": "https://reddit.com/r/SEO/comments/abc123",
    "status": "ENRICHING"
  },
  "enrichment": {
    "mode": "credits",
    "charged": 50,
    "remaining": 1240
  },
  "message": "Enrichment started. Poll get_reddit_thread to watch for status: ENRICHED (typically 1-3 minutes)."
}

Success — already in progress (no charge, no quota debit)

{
  "success": true,
  "alreadyInProgress": true,
  "thread": {
    "id": "clxred001",
    "url": "https://reddit.com/r/SEO/comments/abc123",
    "status": "ENRICHING"
  },
  "message": "Enrichment already in progress. Poll get_reddit_thread to watch for status: ENRICHED."
}

Error — quota reached (Growth/Pro/Starter)

{
  "success": false,
  "error": "Reddit enrichment quota reached (4/mo). Upgrade your plan to enrich more.",
  "reason": "quota_reached",
  "plan": "GROWTH",
  "quotaPerMonth": 4,
  "enrichmentsThisPeriod": 4,
  "upgradeUrl": "/settings?tab=billing"
}

Error — insufficient credits (Agency)

{
  "success": false,
  "error": "Not enough credits (12 remaining, need 50). Raise your monthly overage cap or wait for the next renewal.",
  "reason": "insufficient_credits",
  "plan": "AGENCY",
  "credits": {
    "required": 50,
    "remaining": 12,
    "tier": "AGENCY"
  }
}

Error — feature disabled

{
  "success": false,
  "error": "Reddit enrichment is not included in your plan. Upgrade to Growth or higher.",
  "reason": "disabled",
  "plan": "STARTER",
  "upgradeUrl": "/settings?tab=billing"
}

Error — thread not found or cross-project

{
  "success": false,
  "error": "Reddit thread not found or does not belong to this project"
}

Tips and patterns

  • Always check success first, then alreadyInProgress to know whether you spent quota or credits.
  • Inspect enrichment.mode to know whether the workspace is on a quota plan or paying with credits — agents on Growth/Pro should respect the small monthly budget and avoid burning all 4–16 enrichments in one run.
  • Cap your enrichment loop. Burning the whole monthly allowance on Reddit threads when the user wanted competitor research is a real failure mode — set an upper bound per agent run.
  • After enrichment, check content.isDeletedOnReddit. Dead leads should be marked SKIPPED via bulk_update_reddit_thread_status.
  • In development, enrichment returns { mode: "dev_bypass" } so you know no real budget was touched.
  • The quota / credit check reads the same counters as the in-app feature: an MCP-driven enrichment loop will consume from the dashboard budget visible at Settings → Billing.

Related tools