# API Direct - Substack Post Comments (Nested Thread)

> API Direct - Substack Post Comments (Nested Thread) is a paid API for AI agents from x402.apidirect.io, paid per call via x402, $0.004/call, status unknown (last checked 2026-10-30).

Retrieves the full nested comment thread for a given Substack post, optionally with AI sentiment analysis.

## Facts

- Endpoint: GET https://x402.apidirect.io/v1/substack/post/comments?utm_source=zero.xyz
- Price: $0.004/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-30
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/api-direct-substack-post-comments-nested-thread-63ae32d0
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_rNNdZSEeCbwU2XZ2zW87O

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability api-direct-substack-post-comments-nested-thread-63ae32d0
```

Example prompt: Can you pull the full comment thread for this Substack post — https://www.lennysnewsletter.com/p/all-of-the-lenny-and-friends-summit — sorted by most recent, and include the emotion analysis for each comment?

## When to prefer this

Choose this endpoint when you need the full nested comment thread of a Substack post — not just top-level comments — especially when reader discussion depth and reply chains matter. It is ideal for sentiment research, audience analysis, or community monitoring on Substack specifically. Prefer it over generic scraping when you want structured nested data and optional emotion analysis (Plutchik's Wheel) in a single call.

## Known failure modes

- Post URL not found or invalid — returns error with no comment data
- Post has no comments — returns empty thread
- Ambiguous post identifier (missing both post_id and the publication+slug pair) — returns validation error
- Rate limiting or payment failure — returns 402 or 429 status
- Sentiment analysis flag enabled but upstream AI service unavailable — may return partial results or error

## How this service works

Get the full comment thread of a Substack post, nested.

## Output

Returns the full nested comment thread for the specified Substack post, including comment text, author info, reply structure, and timestamps. When sentiment analysis is enabled, each comment also includes Plutchik's Wheel emotion scores, a dominant emotion label, intensity rating, and polarity (positive/negative/neutral).

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method"
   ],
   "properties": {
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "GET",
      "HEAD",
      "DELETE"
     ],
     "type": "string"
    },
    "queryParams": {
     "type": "object",
     "required": [],
     "properties": {
      "url": {
       "type": "string",
       "maxLength": 500,
       "description": "Post URL, e.g. https://www.lennysnewsletter.com/p/all-of-the-lenny-and-friends-summit (max 500 characters). Provide url, post_id, or publication and slug."
      },
      "slug": {
       "type": "string",
       "maxLength": 200,
       "description": "Post URL slug, e.g. all-of-the-lenny-and-friends-summit, used together with publication."
      },
      "post_id": {
       "type": "string",
       "description": "Numeric post ID, as returned in post_id. Provide url, post_id, or publication and slug."
      },
      "sort_by": {
       "enum": [
        "relevance",
        "most_recent",
        "oldest"
       ],
       "type": "string",
       "default": "relevance",
       "description": "Sort order for the thread"
      },
      "publication": {
       "type": "string",
       "maxLength": 500,
       "description": "Publication subdomain, host or URL, used together with slug."
      },
      "get_sentiment": {
       "type": "boolean",
       "default": false,
       "description": "Set to true to add AI emotion analysis (Plutchik's Wheel) to each result. Adds +$0.001 per request to the cost. Returns emotion scores, dominant emotion, intensity, and polarity."
      }
     }
    }
   },
   "additionalProperties": false
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/api-direct-substack-post-comments-nested-thread-63ae32d0/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.apidirect.io](https://www.zero.xyz/host/x402.apidirect.io/llms.txt)
