Built on TikTok's official API

One dashboard for every TikTok account you own.

Connect any number of your TikTok accounts through the official OAuth consent flow. Post comments, schedule them for the perfect time, and stop juggling browser tabs.

Features

Everything you need to run multiple TikTok accounts

A focused tool, not a sprawling SaaS. Every feature exists because switching tabs to comment on the same video three times in a row was slowing you down.

Official OAuth 2.0

Each account authenticates through TikTok's own Login Kit. Tokens never touch a third-party server.

AES-256 token vault

Access and refresh tokens are AES-256-GCM encrypted at rest with per-record IVs. Stored in a local JSON file, never plaintext.

Schedule comments

Pick any future date and time. node-cron polls every minute and posts at the right moment, even after restarts.

Auto-refresh tokens

Five minutes before any TikTok call we refresh the access token if it's about to expire. You never see a 401.

Queue & history

See every pending, succeeded, failed, and cancelled comment in chronological order. Cancel anything that hasn't run yet.

Multi-user, isolated

Sign up with email + password. Each user's TikTok accounts and comment history are scoped to them only.

How it works

Up and running in three steps

No databases to spin up, no cron daemons to babysit, no complex deploys. Self-host on your laptop in minutes.

  1. 1

    Create your TikTok Dev App

    Add the Login Kit and Content Posting API products at developers.tiktok.com. Request the four scopes: user.info.basic, video.list, comment.list.manage, comment.publish.

  2. 2

    Sign up & connect

    Create your account in the dashboard, then click Connect TikTok Account. TikTok's official consent screen handles login and scope approval. Repeat for every account you own.

  3. 3

    Comment & schedule

    Paste a video URL, pick an account, write your comment, and either post immediately or pick a future time. Watch the queue and history update live.

Demo

What the dashboard looks like

Dark, focused, and built around the four things you actually do: connect accounts, post comments, watch the queue, and review history.

Pricing

Free to self-host. Always.

The whole thing is open source and runs on your own machine. The paid tiers below describe a hosted version we are exploring — they are not active yet.

Pro (hosted)
$9/ month

Hosted by us. Backups, monitoring, no setup.

  • Everything in Self-hosted
  • Daily off-site backups
  • Status alerts on token failures
  • Priority email support
Coming soon
Team
$29/ month

For small social media teams.

  • Everything in Pro
  • Up to 10 seats
  • Per-seat audit log
  • Role-based access
Coming soon
FAQ

Frequently asked

Is this allowed by TikTok?

Yes — every API call goes through TikTok's official Login Kit and v2 Content APIs at open.tiktokapis.com. You can only comment as accounts that have explicitly granted the comment.publish scope to your app.

Where are my tokens stored?

In a local JSON file inside the data/ folder of your install. Both access_token and refresh_token are AES-256-GCM encrypted with a key from your ENCRYPTION_KEY env var. The file is created with 0600 permissions.

Can I manage someone else's TikTok?

Only with their consent — they have to log in through TikTok's own OAuth screen on your install. There's no way to attach an account without going through TikTok itself.

What if my access token expires?

We refresh it automatically. Before any TikTok API call we check tokenExpiresAt - now > 5 minutes; if not, we hit POST /v2/oauth/token/ with the refresh token and persist the new tokens before continuing.

Do you store my password?

Only as a salted scrypt hash (N=32768, r=8, p=1). The plaintext password never touches disk. Sessions are HttpOnly cookies signed with HS256 JWTs.

Can I run multiple accounts on one machine?

Yes. Each user signs up separately, and TikTok accounts are scoped per user — you can't see or post from another user's TikTok.

Stop tab-juggling. Start managing.

Two minutes from git clone to your first scheduled comment.