Keyword search finally works through a vendored signer, alongside first-party creator feeds, best-time analysis, benchmarking and trending searches.
4f4e3cf · cb24724
- Signed keyword search: vendored Node signer
vendor/signer/sign.js,app/scraper/signer.py,app/scraper/search.py;GET /api/searchandGET /api/search/usersnow answer with X-Bogus + X-Gnarly. app/insights.py— benchmark rows, hashtag velocity, comment intelligence and duration curves.GET /api/profile/{username}/videos— a creator's most recent public videos.GET /api/profile/{username}/best-time— engagement by weekday/hour and video duration.GET /api/benchmark?users=a,b,c&videos=4— compare up to four creators.GET /api/tiktok/trending-searches?region=US— TikTok trending search terms.GET /api/video/transcript— native description plus subtitle translation.- Sound metadata on
GET /api/sound/{music_id}: title, author, duration and audio URL. GET /api/douyin/profile/{sec_uid};/api/discoveris now typed (sounds vs hashtags).- Netlify proxies
/api/*to the Coolify backend for host parity; the Dockerfile installs Node.js for the signer.
- Comment summaries moved to
insights.comment_intelligence; languages are read from the summary. GET /api/hashtag/{name}falls back tochallenge_lightwhen the signed challenge call fails.- Performance:
creator_recent_videosfetches in parallel; benchmark defaults lightened to 4 creators × 4 videos. - Docs updated for search, best-time, benchmark, trending searches and transcript.
/api/video/reflowstats/duration bug fixed (item_info.item_stats);repostCountadded.- Benchmark no longer serializes creator fetches or over-fetches upstream.
- The legacy tracking/alerts surface was retired:
/api/track,/api/track/history,/api/track/snapshot,/api/alerts,/api/alerts/evaluate, the tracking dashboard view, and the hourly snapshot/alert scheduler work. - Superseded by the first-party creator feeds, best-time and benchmark analytics in this release.