reddit_get_post 4 credits

Fetch full post content for up to 100 Reddit posts by their t3_ ids in one call -- the follow-up loop after reddit_search or reddit_get_subreddit_posts. Costs 4 credits for up to 10 ids, +1 credit per further 10 ids; every post comes back with its full body text. With exactly ONE id you may set detail to 'full' for +4 credits to also get the discussion tree (comments flattened in tree order with depth, about 200 per page, with a comments_cursor to continue), or pass comment_id (a t1_ id, also +4 credits) to fetch one specific comment in its post context. Post ids come from the other Reddit tools or from reddit_resolve_url on a post URL. Not for discovering posts; search first, then batch-fetch here.

Part of the Reddit toolset: /docs/reddit.

Parameters#

ParamRequiredTypeDescription
post_idsyesarray1 to 100 post ids with the t3_ prefix, e.g. ["t3_1tbups6"].
detailnostring'full' adds the discussion tree; only valid with exactly one id, +4 credits.
comment_idnostringA t1_ comment id to fetch in context; only valid with exactly one post id, +4 credits like detail 'full'.
sortnostringDiscussion-tree order; only with detail 'full'.
cursornostringcomments_cursor from a previous detail='full' page.
freshnessnostringrecent (default) serves cached data from the last few hours when available; realtime forces a live fetch for +2 credits (refunded if we fall back to cached data). Trial keys are cached-only and reject realtime with TRIAL_CAP_EXCEEDED; paying upgrades this same key to unlock it.
max_creditsnointegerSpend ceiling for this one call. The call is rejected (nothing charged) if its quote exceeds this. Only the quote is ever reserved, never this ceiling.

REST#

GET /v1/reddit/posts · auth: required · metered: true

Request
curl "https://api.veezee.io/v1/reddit/posts?post_ids=t3_1tbups6%2Ct3_1tbuneg" \
  -H "Authorization: Bearer $VEEZEE_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)"

MCP#

tools/call
{
  "method": "tools/call",
  "params": {
    "name": "reddit_get_post",
    "arguments": {
      "post_ids": [
        "t3_1tbups6",
        "t3_1tbuneg"
      ]
    }
  }
}

Input examples#

Batch-fetch bodies for search hits

{
  "post_ids": [
    "t3_1tbups6",
    "t3_1tbuneg"
  ]
}

One post with its discussion

{
  "post_ids": [
    "t3_1tbups6"
  ],
  "detail": "full",
  "sort": "top"
}

Output#

Returns a reddit_thread envelope. Full field list: /docs/fields#reddit_thread.

Errors#

REST returns application/problem+json; MCP returns the same content as an error result. message is written as the next-turn instruction.

CodeHTTP statusRetriableMeaning
INVALID_INPUT400noA parameter failed validation. Check param and message for what to fix.
NOT_FOUND404noNothing matches the given identifier or URL.
UNAUTHORIZED401noInvalid, revoked, or unusable API key.
NOT_ENTITLED403noThis account is not enabled for the platform you called.
INSUFFICIENT_CREDITS402noYour balance can't cover this call's quote. Check get_usage or add credits.
QUOTE_EXCEEDS_MAX_CREDITS402noThe call's quote is higher than the max_credits you set. Nothing was charged.
IDEMPOTENCY_KEY_REQUIRED400noThis is a metered call; send an Idempotency-Key header.
IDEMPOTENCY_KEY_REUSED409noThat Idempotency-Key was already used with different arguments. Use a new key for a new call.
CONCURRENCY_LIMIT429yesToo many calls in flight for this key's plan. Wait for one to finish.
RATE_LIMITED429yesToo many calls per minute for this key's plan. Back off and retry.
TRIAL_CAP_EXCEEDED403noA trial-only limit was hit (concurrency, rate, search size, or realtime fetches).
BUDGET_EXHAUSTED503noA configured spend budget has been used up.
UPSTREAM_UNAVAILABLE502yesLinkedIn data wasn't reachable. Safe to retry.
PAYLOAD_TOO_LARGE413noThe request or response exceeded the size limit.
INTERNAL500yesSomething failed on our side. Safe to retry.
AUTH_REQUIRED401no
KEY_REQUIRED401noNo API key was sent. Mint one free at POST /v1/keys/mint and retry.
Errors a payment can fix: the offer fields

Errors a payment can fix add fields to the base error shape. INSUFFICIENT_CREDITS, TRIAL_CAP_EXCEEDED, and BUDGET_EXHAUSTED carry upgrade_url (a link to hand to your human) and offer, its machine-readable twin. RATE_LIMITED and CONCURRENCY_LIMIT carry both on trial accounts only, where a paid plan raises the limit.

Fields inside offer:

After payment, follow resume: INSUFFICIENT_CREDITS retries the same call with the same Idempotency-Key; TRIAL_CAP_EXCEEDED and BUDGET_EXHAUSTED retry with a fresh key; the two limit codes clear on their own with back-off, payment only raises the limit. INSUFFICIENT_CREDITS also sets credits_required: the credits the failed call needed. The failed attempt charged nothing.