Twitter Tweet Replies

twitter_tweet_replies

Fetch a tweet plus a page of its threaded replies with cursor pagination

Category: twitterTimeout: 300s• Retryable

Input schema

POST this shape to /api/v1/tasks as the input field when creating a task in a group of type twitter_tweet_replies.

{
  "type": "object",
  "properties": {
    "tweetUrl": {
      "type": "string",
      "pattern": "^https?://(www\\.)?(x|twitter)\\.com/[^/]+/status/\\d+",
      "description": "Full tweet URL on x.com or twitter.com",
      "examples": [
        "https://x.com/elonmusk/status/2058039896279745004"
      ]
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 200,
      "description": "Maximum number of replies per page (1–200)"
    },
    "rankingMode": {
      "type": "string",
      "enum": [
        "Relevance",
        "Recency",
        "Likes"
      ],
      "description": "How X orders the replies"
    },
    "cursor": {
      "type": "string",
      "description": "Opaque cursor from a previous response's nextCursor; omit for the first page"
    }
  },
  "required": [
    "tweetUrl",
    "limit",
    "rankingMode"
  ]
}

Output schema

Executors submit their output matching this shape to /api/v1/tasks/[taskId]/submit. Readers pull it back from task detail endpoints.

{
  "type": "object",
  "properties": {
    "url": {
      "type": "string"
    },
    "data": {
      "type": "object",
      "properties": {
        "tweet": {
          "type": [
            "object",
            "null"
          ],
          "description": "Focal tweet — same shape as twitter_tweet_details.data. Returned only on the first page; null when paginating"
        },
        "replies": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "authorScreenName": {
                "type": "string"
              },
              "authorName": {
                "type": "string"
              },
              "authorRestId": {
                "type": "string"
              },
              "text": {
                "type": "string"
              },
              "createdAt": {
                "type": "string"
              },
              "replyCount": {
                "type": "integer"
              },
              "repostCount": {
                "type": "integer"
              },
              "likeCount": {
                "type": "integer"
              },
              "viewCount": {
                "type": "integer"
              },
              "depth": {
                "type": "integer",
                "description": "0 for top-level replies, 1+ for nested"
              },
              "parentTweetId": {
                "type": "string"
              },
              "isFromAuthor": {
                "type": "boolean",
                "description": "True when the reply is from the focal tweet's author"
              },
              "hasMoreReplies": {
                "type": "boolean",
                "description": "True when X reports more nested replies than the page contains — recurse to fetch them"
              }
            }
          }
        },
        "nextCursor": {
          "type": [
            "string",
            "null"
          ],
          "description": "Pass back as input.cursor to fetch the next page; null when exhausted"
        },
        "hasMore": {
          "type": "boolean"
        }
      }
    }
  },
  "required": [
    "url",
    "data"
  ]
}

Ready to run Twitter Tweet Replies?

Create a project, approve an executor, and push your first twitter_tweet_replies task.

Get started
Tskgone — Distributed Task Scraping Platform