v0.1.0
The first public release. tt is a single pure-Go binary that reads public
TikTok data and prints clean, pipeable records. No API key, no login. It reads
the same public surface a logged-out browser sees: the universal-data blob each
page ships, and the www.tiktok.com/api/* endpoints the page's own JavaScript
calls, signed the way the web client signs them.
What you get
- Read one thing.
tt videoandtt userpull a single video or profile
record from the page's own JSON, with author, sound, hashtags, urls, and every
counter. - Page a feed.
tt posts,tt comments,tt replies, andtt trending. - Search.
tt searchfor mixed video and user hits,tt usersfor accounts. - Hashtags and sounds.
tt hashtagandtt sound, with--videosfor the
list under each. - Discover.
tt discoverwalks the public graph from seeds and ranks the
hottest users, videos, hashtags, and sounds it reaches. - See the raw page.
tt rawprints a page's whole universal-data blob.
Records come out as table, JSON, JSONL, CSV, TSV, url, or raw. --fields picks
columns, --template runs a Go template per record, -o url gives a link
stream.
Two planes
The SSR plane reads the JSON a page already ships and answers from anywhere. The
API plane is signed and sits behind a firewall that scores the caller's IP, so
from a datacenter IP it is often gated. When that happens tt exits 4 with a
clear message instead of pretending it found nothing. tt discover crosses both
planes and stays honest about which edges it could not reach.
Install
go install github.com/tamnd/tiktok-cli/cmd/tt@latest
docker run --rm ghcr.io/tamnd/tiktok:0.1.0 --helpPrebuilt archives (Linux, macOS, Windows, FreeBSD), Linux packages (deb, rpm,
apk), a multi-arch GHCR image, checksums, SBOMs, and a cosign signature are
attached below. Full notes: https://tiktok-cli.tamnd.com/release-notes/v0-1-0/