YouTube Comments Scraper
top comments as data
Send a video or Shorts link and get its first 40 top comments: the text, who wrote it, likes as a number, the reply count, when it was posted, and whether the creator pinned or hearted it. The video's own details come in the same response.
www.youtube.com/watch?v=aircAruvnKk{"title": "But what is a neural network? | Deep learning chapter 1","commentsCount": 9418,"comments": [{"author": {"name": "[redacted]","handle": "[redacted]","channelId": "[redacted]","avatar": "[redacted]","isVerified": false,"isChannelOwner": false,"isArtist": false},"text": "8 years ago and im learning this nowππππππ","likes": 255,"replyCount": 18,"publishedText": "1 month ago"},"β¦ 39 more"]}
top comments per video, in YouTube's order
for 1,000 comments, 40 at a time
per video, with its details and transcript too
for a page that can't be delivered
Which links return comments
Any link to a single video. Spidra works out what kind of link it is.
Videos
The standard watch link returns the first 40 top comments and the video's total comment count.
youtube.com/watch?v=aircAruvnKkShorts
Shorts have their own comment panel on YouTube. Spidra reads it the same way, 40 top comments per Short.
youtube.com/shorts/R6yNUnRXZ64Share and embed links
youtu.be links and embed links resolve to the video and return its comments.
youtu.be/aircAruvnKkPast live streams
Streams that have ended keep their comments. Streams live right now show a chat instead, which isn't read.
youtube.com/live/49-rK7SAfQkA link per comment
Every comment comes with its own permalink, which opens the video with that comment highlighted.
watch?v=aircAruvnKk&lc=UgwTjSjSb3QH_WW4EiB4AaABAgA whole channel
Scrape a channel's Videos tab for about 60 links, then send them in one batch for their comments.
youtube.com/@3blue1brown/videosOne call, every field
Point the scrape call at a YouTube link. With JSON output and no prompt, the data comes back as it is, for 1 credit and no AI cost.
Ask for markdown instead and you get the readable page as text. The structured data still comes back, in its own structuredData field next to the markdown.
What comes back
Real responses from Spidra, trimmed for length. Nothing here is mocked up.
https://www.youtube.com/watch?v=aircAruvnKkEvery video page includes the first 40 top comments.
{"id": "aircAruvnKk","title": "But what is a neural network? | Deep learning chapter 1","commentsCount": 9418,"commentsSort": "top","comments": [{"id": "Ugxg7Exz-c2PBBDv28p4AaABAg","url": "https://www.youtube.com/watch?v=aircAruvnKk&lc=Ugxg7Exz-c2PBBDv28p4AaABAg","text": "8 years ago and im learning this nowππππππ","author": {"name": "[redacted]","handle": "[redacted]","channelId": "[redacted]","avatar": "[redacted]","isVerified": false,"isChannelOwner": false,"isArtist": false},"likes": 255,"likesText": "255 likes","replyCount": 18,"publishedText": "1 month ago","isEdited": false,"isPinned": false,"isHearted": false},{"id": "Ugwedfi--9yZVC0eefl4AaABAg","url": "https://www.youtube.com/watch?v=aircAruvnKk&lc=Ugwedfi--9yZVC0eefl4AaABAg","text": "I study mathematics, physics and architecture. By definition this man is an ORACLE in the strict meaning of the word. \n\nWith all honesty I never imagined someone explaining complex topics with the dexβ¦","author": {"name": "[redacted]","handle": "[redacted]","channelId": "[redacted]","avatar": "[redacted]","isVerified": false,"isChannelOwner": false,"isArtist": false},"likes": 13000,"likesText": "13K likes","replyCount": 173,"publishedText": "7 years ago","isEdited": true,"isPinned": false,"isHearted": false},{"id": "UgwTjSjSb3QH_WW4EiB4AaABAg","url": "https://www.youtube.com/watch?v=aircAruvnKk&lc=UgwTjSjSb3QH_WW4EiB4AaABAg","text": "Wait... it's all math?","author": {"name": "[redacted]","handle": "[redacted]","channelId": "[redacted]","avatar": "[redacted]","isVerified": false,"isChannelOwner": false,"isArtist": false},"likes": 1600,"likesText": "1.6K likes","replyCount": 61,"publishedText": "2 years ago","isEdited": false,"isPinned": false,"isHearted": false},"β¦ 37 more"]}
Likes you can sort, links you can open
YouTube shows likes as "1.6K". Spidra returns the number and keeps the text next to it, so you can rank comments, filter out the quiet ones, or chart engagement without parsing.
Every comment also has a permalink. Open it and YouTube shows the video with that comment at the top, which makes a spreadsheet of comments easy to check by hand.
{"id": "UgwTjSjSb3QH_WW4EiB4AaABAg","url": "https://www.youtube.com/watch?v=aircAruvnKk&lc=UgwTjSjSb3QH_WW4EiB4AaABAg","text": "Wait... it's all math?","author": {"name": "[redacted]","handle": "[redacted]","channelId": "[redacted]","isVerified": false,"isChannelOwner": false,"isArtist": false},"likes": 1600,"likesText": "1.6K likes","replyCount": 61,"publishedText": "2 years ago","isEdited": false,"isPinned": false,"isHearted": false}
See what the creator noticed
Creators pin the comments they want people to read first and heart the ones they liked. Spidra returns both as true or false on every comment, and marks comments written by the channel itself with isChannelOwner.
On the sample video, 1 of the 40 top comments carried the creator's heart: a long note from a viewer about learning from the series. Filter on isHearted and isPinned to find the comments a creator chose to highlight.
{"id": "Ugz_PYpSmiZz5JTzlRR4AaABAg","author": {"name": "[redacted]","isVerified": false,"isChannelOwner": false},"likes": 8200,"replyCount": 40,"publishedText": "9 years ago","isEdited": true,"isPinned": false,"isHearted": true}
No comments is an answer, not an error
When a video has no comments, you need to know why. Spidra still returns the video, and commentsNote says what happened, so an empty list never looks like a failed scrape.
- Comments turned off: commentsCount is 0 and the note says comments are off
- Live right now: the note says the stream shows a live chat, which isn't read
- Age-restricted: the video's details come back, and the note says YouTube shows comments only to signed-in viewers
Ask for the columns you want
Describe the answer as a prompt, a JSON schema or both, and it comes back in that shape. The AI reads a compact copy of the data Spidra already read, not the whole page.
{"sentiment": "positive","themes": ["clear and intuitive explanations of complex topics","high-quality animations and visual aids","appreciation for educational value and teaching style"]}
This request cost 7 credits on October 18, 2026: 1 for the page plus the AI tokens. For the data as it is, use JSON output with no prompt for 1 credit.
What teams build with it
Comments are what an audience says in its own words.
Audience research
Read what viewers ask, praise and complain about on your videos or a competitor's, and find topics for the next one.
Sentiment and feedback
Track reactions to a launch, a trailer or a brand video, and send the comments to a model for themes and sentiment.
See the use caseCreator vetting
Before a sponsorship, check how much real conversation a creator's recent videos get, next to their views and likes.
How Spidra compares
Dedicated comment scrapers are cheap per comment and can export every comment on a video. Here is how they differ.
| YouTube Data API | Apify comments actor | SerpApi | Spidra | |
|---|---|---|---|---|
| 1,000 comments | Free within 10,000 quota units a day | From $0.90 | About 20 per search, at $25 down to $1.96 per 1,000 searches | 25 credits (40 per page): $0.10 down to $0.05 |
| Per video | Comment threads and replies | Set a maximum, sort and oldest date | One page per call, with tokens for more | First 40 top comments |
| Replies | Yes | Yes, linked to the parent comment | Through reply tokens | Reply count only |
| Same call | Separate calls for video details | Comments only; videos in a separate actor | Video details and related videos in the video engine | Video details, transcript and related videos in the same response |
Choose Apify or the API if
You need every comment on a video, the reply threads, or the newest comments rather than the top ones.
Choose Spidra if
You want the top of the conversation for many videos, cheaply, with exact likes and creator signals, next to each video's details and transcript.
Competitor prices and features are as published on their own pages on October 18, 2026 and may have changed. Spidra prices use 1 credit per page on each plan. Sources: YouTube Data API, Apify, SerpApi.
What to know before you build
We would rather you hear the limits from us than find them in production.
- Each video returns its first 40 top comments, in YouTube's Top order. Paging past 40 and the Newest sort aren't available.
- Replies come back as a count. The reply text isn't returned.
- Dates are what YouTube shows, such as "2 years ago", not exact timestamps.
- Spidra reads YouTube as a visitor who isn't signed in. Age-restricted videos return their details but no comments, and live chat isn't read.
- Comments include the commenter's public name, handle, channel ID and avatar, as YouTube shows them. Handle personal data according to the privacy laws that apply to you.
What it costs
1 credit per page. Pages that can't be delivered are free. Work out your monthly volume below.
Example: 250 videos a day is 10,000 comments and about 7,500 credits a month. Plain JSON output uses no AI tokens.
| Plan | Price | YouTube pages a month |
|---|---|---|
| Free | $0 | up to 300 (one time) |
| Starter | $19/mo | up to 5,000 |
| BuilderPopular | $79/mo | up to 25,000 |
| Pro | $249/mo | up to 125,000 |
Related scrapers
Same API key, same credits. See every scraper.
Questions, answered
YouTube
The first 40 top comments, in the order YouTube shows them under Top, plus the video's total comment count. That costs 1 credit, and the video's details and transcript come in the same response.
Send a video link and read its comments as data.
Get 300 free credits, no card, and pull your first comments from the dashboard or the API.
Spidra is not affiliated with, endorsed by, or sponsored by YouTube or Google. YouTube is a trademark of Google LLC. Check YouTube's terms of service and the laws that apply to you before you collect data, and use the data responsibly.