{"name":"tiktok-video-comments","id":"sfoln/tiktok-video-comments","title":"TikTok Comments Scraper","description":"Scrape comments from public TikTok videos and photo posts: text, date, likes, reply count, pinned flag and commenter handle, one JSON record per comment. Paste video URLs, short links or IDs. $0.30 per 1,000 comments + $0.003 per page of ~20. No login or cookies needed.","version":"0.1","status":"ready","family":{"id":"social-media-data","name":"Social media data","description":"Profiles, posts, comments, followers and account audits from X, Instagram, TikTok, YouTube, Reddit, Threads, LinkedIn, Facebook, Bluesky, Telegram, Hacker News and Substack.","actors":31},"categories":["SOCIAL_MEDIA","VIDEOS","AUTOMATION"],"availability":"on_request","seoTitle":"TikTok Comments Scraper API – $0.30 per 1,000 comments","seoDescription":"TikTok comments scraper API: export comments of any public video with text, author, likes, replies and date to JSON. $0.30 per 1,000 comments. No login.","summary":"TikTok Comments Scraper gets comments from public TikTok videos and photo posts, one normalized record per comment: comment ID, text, date, likes, reply count, pinned flag, language, and the commenter's handle, nickname and IDs. The video summary also reports TikTok's total comment count. It's built for audience and sentiment research, community management, giveaway draws, product feedback mining and AI agents.","pricing":{"model":"pay-per-event","currency":"USD","billedBy":"Apify","freePlanMaxItemsPerRun":10,"events":[{"name":"tiktok-comment","title":"TikTok comment","description":"Charged once per comment delivered as a dataset record. Video summary records are never charged.","priceUsd":0.0003},{"name":"tiktok-comments-query","title":"TikTok comments page","description":"Charged once per page of comments (about 20) that delivered at least one new comment. Covers the per-request upstream fee. Also charged for an empty page the upstream billed (when the budget covers it).","priceUsd":0.003}]},"input":{"description":"Enter TikTok video URLs. Each video produces one dataset record per comment plus one summary record per video.","required":["videos"],"fields":[{"name":"videos","title":"Video URLs","type":"array","required":true,"description":"TikTok video or photo URLs (https://www.tiktok.com/@user/video/…), vm.tiktok.com short links, or numeric video IDs. Full URLs work best. Duplicates are removed. Accounts on the Apify free plan can process up to 10 videos per run.","prefill":["https://www.tiktok.com/@randomspamvideos25/video/7251387037834595630"],"editor":"stringList"},{"name":"maxCommentsPerVideo","title":"Max comments per video","type":"integer","required":false,"description":"How many comments to return per video (1–500). Each delivered comment is one charged event, plus one page event per page of about 20.","default":50,"prefill":20,"minimum":1,"maximum":500},{"name":"maxVideos","title":"Max videos","type":"integer","required":false,"description":"Safety cap on the number of videos processed in this run.","default":100,"minimum":1,"maximum":1000},{"name":"concurrency","title":"Concurrency","type":"integer","required":false,"description":"How many videos are fetched in parallel (1–8).","default":4,"minimum":1,"maximum":8},{"name":"itemTimeoutSecs","title":"Time limit per input (seconds)","type":"integer","required":false,"description":"Pagination for one video stops cleanly shortly before this limit (60–3600). Raise it for very large per-input limits.","default":600,"minimum":60,"maximum":3600},{"name":"includeRaw","title":"Include raw upstream response","type":"boolean","required":false,"description":"Attach the unmodified provider object to each result record.","default":false}]},"exampleInput":{"videos":["https://www.tiktok.com/@randomspamvideos25/video/7251387037834595630"],"maxCommentsPerVideo":20},"outputFields":[{"name":"input","type":"string | object","title":"Input","description":"The video URL or ID as provided."},{"name":"recordType","type":"string","title":"Record type","description":"comment (one per delivered comment, charged) | video (one summary per video, never charged)","example":"comment"},{"name":"position","type":"integer","title":"Position","description":"1-based position of the comment within its input"},{"name":"videoId","type":"string | null","title":"Video ID"},{"name":"videoUrl","type":"string | null","title":"Video URL","description":"URL sent upstream"},{"name":"totalComments","type":"number | null","title":"Total comments","description":"Summary records only: TikTok's reported comment count."},{"name":"commentId","type":"string | null","title":"Comment ID"},{"name":"text","type":"string | null","title":"Text"},{"name":"createdAt","type":"string | null","title":"Created at","description":"ISO 8601 UTC"},{"name":"likes","type":"number | null","title":"Likes"},{"name":"repliesCount","type":"number | null","title":"Replies"},{"name":"isPinned","type":"boolean | null","title":"Pinned"},{"name":"isLikedByCreator","type":"boolean | null","title":"Liked by creator"},{"name":"language","type":"string | null","title":"Language"},{"name":"authorHandle","type":"string | null","title":"Author handle"},{"name":"authorNickname","type":"string | null","title":"Author nickname"},{"name":"authorId","type":"string | null","title":"Author ID"},{"name":"authorSecUid","type":"string | null","title":"Author secUid"},{"name":"rowsDelivered","type":"integer","title":"Comments delivered","description":"Summary records only."},{"name":"pagesFetched","type":"integer","title":"Pages fetched","description":"Summary records only."},{"name":"pagesCharged","type":"integer","title":"Pages charged","description":"Summary records only."},{"name":"reachedEnd","type":"boolean","title":"Reached end","description":"Summary records only: the upstream reported no further pages."},{"name":"stopReason","type":"string","title":"Stop reason","description":"Summary records only: limit | end | budget | max_pages | deadline | empty_pages | error"},{"name":"status","type":"string","title":"Status","description":"ok | not_found | error | skipped_invalid | skipped_budget | skipped_free_plan","example":"ok"},{"name":"charged","type":"boolean","title":"Charged"},{"name":"chargedEvent","type":"string","title":"Charged event"},{"name":"error","type":"object","title":"Error"},{"name":"warnings","type":"array","title":"Warnings"},{"name":"source","type":"string","title":"Source"},{"name":"fetchedAt","type":"string","title":"Fetched at"}],"outputExample":{"input":"https://www.tiktok.com/@stoolpresidente/video/7517114944362499342","recordType":"comment","position":1,"videoId":"7517114944362499342","videoUrl":"https://www.tiktok.com/@stoolpresidente/video/7517114944362499342","commentId":null,"text":"DAVE BUY A TEAM","createdAt":"2025-06-18T03:22:12.000Z","likes":3322,"repliesCount":14,"isPinned":null,"isLikedByCreator":null,"language":"en","authorHandle":"dimebag.duster","authorNickname":"Robert Lessner","authorId":"6958917445306926086","authorSecUid":"MS4wLjABAAAA9rB4k_Ei3NexA5p2lb8naaa4LTgNCOdY0W9NHVo63016XkdsuZgvjkgolBnUkG8W","status":"ok","charged":true,"chargedEvent":"tiktok-comment","source":"scrapecreators","fetchedAt":"2026-10-14T10:00:00.000Z"},"faq":[],"mcpExamplePrompt":"Get up to 100 comments of https://www.tiktok.com/@randomspamvideos25/video/7251387037834595630 and summarize what viewers like and dislike.","related":["tiktok-user-videos","tiktok-search","youtube-video-comments","instagram-post-comments"],"urls":{"site":"https://www.sfoln.com/actors/tiktok-video-comments/","siteJson":"https://www.sfoln.com/actors/tiktok-video-comments.json","siteMarkdown":"https://www.sfoln.com/actors/tiktok-video-comments.md","runSync":"https://api.apify.com/v2/actors/sfoln~tiktok-video-comments/run-sync-get-dataset-items","runAsync":"https://api.apify.com/v2/actors/sfoln~tiktok-video-comments/runs","mcp":"https://mcp.apify.com?tools=sfoln/tiktok-video-comments","requestAccess":"mailto:contact@sfoln.com?subject=Access%20request%3A%20TikTok%20Comments%20Scraper%20(sfoln%2Ftiktok-video-comments)&body=Please%20publish%20tiktok-video-comments.%20What%20we%20plan%20to%20use%20it%20for%3A"},"publisher":{"name":"SFOLN LLC","apifyUsername":"sfoln","url":"https://www.sfoln.com","apifyProfile":"https://apify.com/sfoln","email":"contact@sfoln.com"},"generatedAt":"2026-10-22T04:28:58.477Z"}