TikTok Profile Monitor API

TikTok Profile Monitor API

Creates a monitor that checks a TikTok profile on a schedule and reports each new video, by a signed webhook POST or through the events endpoint. interval_minutes sets how often the profile is checked, and transcripts set to true attaches each new video's transcript: from its captions when it has them, otherwise transcribed from its audio.

Each check1 creditNew videos or not; plus 1 per caption transcript
Creating a monitor1 creditIts first check, which records what is already there
Audio transcripts1 / 5 minBilled on delivery, per started 5 minutes
Monitors & webhooks guide
POST/api/v2/monitorsidempotent

Body parameters

The YouTube channel (@handle, UC… id or URL) or the TikTok or Instagram profile URL, in any form the channel endpoint accepts. The platform is read from it. Fixed for the life of the monitor.

curl https://transcriptfetch.com/api/v2/monitors \
  -H "Authorization: Bearer $TRANSCRIPTFETCH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"target":"https://www.tiktok.com/@khanacademy","interval_minutes":60,"transcripts":true,"name":"Khan Academy TikToks"}'
CreatedExample response envelope
{
  "ok": true,
  "request_id": "req_…",
  "data": {
    "kind": "monitor",
    "id": "mon_mupg0wxey1ph2cn1",
    "type": "channel",
    "platform": "tiktok",
    "target": "https://www.tiktok.com/@khanacademy",
    "options": {},
    "name": "Khan Academy TikToks",
    "status": "active",
    "has_new": false,
    "last_event_id": null,
    "interval_minutes": 60,
    "transcripts": true,
    "webhook_url": null,
    "next_check_at": "2026-10-01T12:21:04.117Z",
    "last_checked_at": null,
    "last_error": null,
    "created_at": "2026-10-01T11:20:51.209Z",
    "updated_at": "2026-10-01T11:20:51.209Z",
    "webhook_secret": "whsec_…",
    "baseline_count": 30
  },
  "usage": {
    "credits_spent": 0,
    "balance": 655
  }
}

Every TikTok endpoint

Same call, other platforms:Instagram Profile Monitor APIYouTube Channel Monitor API

Frequently asked questions

How do I get each new TikTok a creator posts?

Create a monitor with the creator's profile URL as target. Each check that finds new videos raises a monitor.videos event, delivered to webhook_url if you set one and listed by the events endpoint either way.

What does a TikTok monitor cost?

Every check costs 1 credit, the price of one listing page, whether or not it finds new videos, plus 1 credit per caption transcript when transcripts is true; audio transcription is billed at the audio rate on delivery.

Does a TikTok monitor wait for captions?

No. A YouTube monitor retries captions for a grace period because brand-new uploads rarely have them yet. A TikTok that has no captions goes straight to audio transcription.

How do I verify a webhook came from TranscriptFetch?

Compute HMAC-SHA256 of the exact request bytes with the monitor's webhook_secret and compare it, in constant time, with the X-TranscriptFetch-Signature header (sha256= followed by the hex digest). X-TranscriptFetch-Delivery identifies the delivery across retries.