Recipe: transcribe a channel
Goal: the full transcript set of a creator’s recent videos, ready for search or an
LLM. Two endpoints: channel-videos to enumerate, transcript per video.
The loop
import httpx
BASE = "https://api.scrapersocial.com/v1"H = {"Authorization": "Bearer sk_live_..."}
def channel_videos(handle: str, max_items: int = 100): params = {"handle": handle, "limit": 50} while max_items > 0: r = httpx.get(f"{BASE}/tiktok/channel-videos", params=params, headers=H, timeout=120).json() for v in r["data"][:max_items]: yield v max_items -= len(r["data"]) if not r["meta"]["has_more"]: return params["cursor"] = r["meta"]["cursor"]
transcripts = {}for video in channel_videos("tiktok", max_items=50): t = httpx.get(f"{BASE}/tiktok/transcript", params={"url": video["url"]}, headers=H, timeout=120) if t.status_code == 422: # image post / no speech continue t.raise_for_status() transcripts[video["id"]] = t.json()["data"]["text"]Credit math
50 videos listed (3 credits each) + 50 transcripts (8 credits each) = 550 credits — about $2.75 at the monthly rate, $2.48 on annual.
Notes
- Transcripts are cached forever, so re-running the loop is fast for already-seen videos (same credits, millisecond responses).
- Prefer
format=textif you’re piping straight into a prompt. - For Instagram, swap
tiktok/channel-videosforinstagram/channel-reelsand expect higher transcript pricing (audio pipeline).
Related: Pagination · Content repurposing use case