# Comment threads: YouTube, Instagram, TikTok, Reddit, X

2026-08-11

> Replies under a video, post, or tweet as JSON. Not app-store reviews. Not Maps ratings.

- Index: https://fetcher.sh/blog.md
- This page (HTML): https://fetcher.sh/blog/comment-threads-youtube-instagram-tiktok-reddit-x

![Two people talking across a table](https://images.unsplash.com/photo-1577563908411-5077b6dc7624?auto=format&fit=crop&w=1600&q=80)

Photo by Headway on [Unsplash](https://unsplash.com/?utm_source=fetcher_sh&utm_medium=referral).

A comment thread is the replies under a piece of social content: YouTube video comments, Instagram post comments, TikTok comments and nested replies, Reddit comment trees, X tweet replies. Five hosts, one object.

They are not [app-store reviews](/blog/app-store-reviews-as-product-research), not Google Maps ratings, and not GitHub issues. Place reviews are a local-SEO object. Software ratings are a store object. Threads live here.

Reddit’s tree is the distinctive nested shape. TikTok has nested replies too. YouTube and Instagram are flatter. X replies hang off a tweet and also appear as a user’s replies timeline. Read the path. Do not assume one JSON shape.

## Threads, not ratings

YouTube: comments on a video id. Instagram: comments on a post id. TikTok: comments and nested replies. Reddit: comments and replies — the distinctive nested tree. X: replies on a tweet and a user’s replies timeline.

`curl -H 'Authorization: Bearer bby_live_…' 'https://youtube.fetcher.sh/api/video/VIDEO_ID/comments'`

Together they are a sentiment surface for [market research](/blog/market-research-reddit-app-reviews-youtube-comments). Each host still has its access note ([YouTube](/blog/youtube-public-data-without-google-cloud), [Instagram](/blog/instagram-public-profiles-reels-without-graph-api), [TikTok](/blog/tiktok-public-posts-without-official-api), [Reddit](/blog/reddit-posts-comment-trees-without-api-approval), [X](/blog/twitter-x-public-data-without-developer-platform)).

A Shorts id is not a Reels shortcode. A tweet id is not a Reddit post id. If you wanted star ratings on software or a restaurant, you are on the wrong object.

## How to read threads without mixing corpora

Grep, then read, same as store reviews. The difference is context: a YouTube comment is under a *video*. A Reddit comment is under a *post* in a *subreddit*. An X reply is under a *tweet*. Do not dump them into one “sentiment” number.

OSINT uses threads to reconstruct a public fight. Market research uses them to hear product talk. Newsrooms use them to see what attached to a story. Same GETs, different frames. Keep the frame in the filename of the spreadsheet.

## A case: one product question, three threads

A PM shipped a habit-tracker and wants unfiltered public talk, not a survey panel. They pick a YouTube review video, a Reddit post with a long tree, and a TikTok that used the app’s name.

They fetch YouTube comments on the video id, the Reddit tree on the post id, and TikTok comments plus nested replies. They keep Maps and Play Store reviews out of this pass so a restaurant rating does not land in the same spreadsheet as “the reminder is too loud.”

That is the thread object. App-store stars are a different corpus. Place reviews are a different corpus. The [market-research](/blog/market-research-reddit-app-reviews-youtube-comments) note is when they add the stores on purpose.

## A case: a tweet that is not the story

A reporter has a tweet. The interesting material is in the replies: a correction, a link, a named public official.

They pull replies on the tweet id. They do not treat the parent as the whole record. If a reply is itself a thread, they fetch that tweet too. They still do not pull DMs. Public replies, JSON, stop.

Instagram comments hang off a post shortcode or post id, depending on the path — read the docs for the host instead of guessing from YouTube. TikTok nested replies are easy to flatten by accident in a spreadsheet; keep a parent id column or you will attribute a joke to the wrong person. Reddit trees can be deep; grep first so you do not “read” 2,000 lines of jokes about a side topic.

GitHub issues look like threads and are not in this catalog. If the interesting argument moved to GitHub, that is a [SERP](/blog/google-search-results-json-site-filetype) with `site:github.com`, or the GitHub UI, not a YouTube comments path.

A research cadence: pick the content ids on Monday (a video, a Reddit post, a tweet), fetch threads once, grep, store comment ids. Do not refetch the same tree hourly unless you are in a crisis. Pay per call will educate you. Maps and Play reviews stay out unless you opened those articles on purpose.

If the PM wanted stars, they wanted store reviews. If they wanted a cafe, they wanted Maps. Threads are people talking under a piece of social content. Keep that sentence at the top of the sheet.

## Ids are not interchangeable

A Shorts id is not a Reels shortcode. A tweet id is not a Reddit post id. Read the path. If you wanted star ratings on software or a restaurant, you are on the wrong object. Docs on each host; 402 or a key. Threads are replies under social content. Everything else is a different article. Store parent ids. Flattening a TikTok nest or a Reddit tree without them is how quotes get misattributed in the doc you send upstairs.
