TikTok Channel Posts API
Latest videos from a TikTok profile, cursor-paginated.
Send a profile URL, @handle, or username and the TikTok Channel Posts API returns that creator's most recent videos as clean, structured JSON. When TikTok blocks the post list the call is 502 UPSTREAM_UNAVAILABLE (0 credits) with timings{path,nativeMs,…} — retry shortly. views / likes / comments / shares / saves each carry *IsApproximate from the same display-rounding ladder as top-search (rounded → true, exact → false). Each post includes the TikTok page URL and video ID, caption, publish date, duration, thumbnail, playable videoUrl plus downloadUrl / downloadUrlNoWatermark when TikTok exposes them (CDN-signed — check mediaUrlsExpireAt before archiving), hashtags, sound/music, isAd / isPaidPartnership / shopProductUrl when present, and the author's profile (id, secUid, username, display name, followers, verified badge, avatar). Fetch up to 200 posts per call with the limit parameter. Cursor pagination via nextCursor / hasMore. A cursor TikTok rejects comes back as 400 INVALID_CURSOR. Flat 2 credits per successful call; failures stay 0 credits.
Request
- Base URL: https://api.captapi.com
- URL: https://api.captapi.com/v1/tiktok/channel-posts
- Auth: one of:
- HTTP bearer
- API key in header X-API-Key
Query parameters
TikTok profile URL, @handle, or username, e.g. https://tiktok.com/@username. Not a YouTube channel URL. The URL platform must match this endpoint's platform. Do not pass cross-platform URLs, e.g. YouTube to TikTok, Instagram to Facebook, LinkedIn to X/Twitter, or Pinterest to Rumble.
How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per successful call.
Pagination cursor. Leave empty for the first page; then pass the nextCursor value returned in the previous response (TikTok's max_cursor timestamp, e.g. 1783614676000). A null nextCursor means the end of the list.
Set true to serve from the 24h response cache (0 credits on hit). Default false — always fetch fresh.
Response
Success. The data object for this endpoint.
Changes
No recorded changes to this operation across all 3 revisions of this API.