SurfSense/surfsense_backend/app/proprietary/platforms/tiktok/extraction
CREDO23 7723b5b8b6 feat(tiktok): add tiktok.comments verb for public comment scraping
Comments load over a signed /api/comment/list XHR that TikTok serves to
anonymous sessions once the comments panel is opened (unlike profile-video and
general-search feeds), so this is a reliable verb. Given video URLs it returns
CommentItems (text, author, likes, reply counts; replies carry repliesToId),
deduped per video, capped, and degraded to an ErrorItem for empty/withheld
videos or a bad_url ErrorItem for non-video inputs.

Generalizes the browser capture over a pluggable interaction step so the
comments flow (open panel, scroll the panel to paginate) reuses the same
warm+capture scaffolding as listing/user-search. Billed per comment on a new
TIKTOK_COMMENT meter (TIKTOK_MICROS_PER_COMMENT, matching the per-comment
market), surfaced on the chat subagent alongside tiktok.scrape/user_search.
2026-07-09 18:35:26 +02:00
..
__init__.py feat(tiktok): add tiktok.comments verb for public comment scraping 2026-07-09 18:35:26 +02:00
author.py feat(tiktok): return profile metadata even when video listing is gated 2026-07-09 17:48:19 +02:00
comments.py feat(tiktok): add tiktok.comments verb for public comment scraping 2026-07-09 18:35:26 +02:00
hydration.py feat(tiktok): rehydration blob extractor 2026-07-08 15:40:21 +02:00
item_list.py feat(tiktok): browser-driven signed listings 2026-07-08 16:37:36 +02:00
scopes.py feat(tiktok): blob-first orchestrator + video flow 2026-07-08 16:07:07 +02:00
timestamps.py feat(tiktok): video normalizer and parser tests 2026-07-08 15:40:50 +02:00
user_search.py feat(tiktok): add tiktok.user_search verb for account discovery 2026-07-09 18:00:40 +02:00
video.py feat(tiktok): video normalizer and parser tests 2026-07-08 15:40:50 +02:00