Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 14 Jun 09:06
· 14 commits to main since this release
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 video and tt user pull 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, and tt trending.
  • Search. tt search for mixed video and user hits, tt users for accounts.
  • Hashtags and sounds. tt hashtag and tt sound, with --videos for the
    list under each.
  • Discover. tt discover walks the public graph from seeds and ranks the
    hottest users, videos, hashtags, and sounds it reaches.
  • See the raw page. tt raw prints 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 --help

Prebuilt 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/