How to get TikTok channel posts
GET request to /v1/tiktok/channel-posts with your input. You get clean JSON back in seconds for 2 credits per call — no OAuth, scraping or platform SDKs. Get the latest videos from any public TikTok profile — caption, view / like / comment counts, thumbnail, sound, and hashtags for each post, with cursor pagination to page through them all.How to get TikTok channel posts (step by step)
- 1
Get a free API key
Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.
- 2
Call the TikTok Channel Posts API
Send an authenticated GET request to /v1/tiktok/channel-posts with your input. No OAuth, no scraping setup.
- 3
Read the JSON response
Parse the clean JSON response. Pass cache=true for a free 24h cache hit; default is always fresh.
Code example
curl "https://api.captapi.com/v1/tiktok/channel-posts?url=https%3A%2F%2Fwww.tiktok.com%2F%40paw.dreams0" \
-H "Authorization: Bearer capt_live_..."
# or: -H "x-api-key: capt_live_..."What the response looks like
{
"success": true,
"data": {
"url": "https://www.tiktok.com/@paw.dreams0",
"totalReturned": 3,
"posts": [
{
"platform": "tiktok",
"url": "https://www.tiktok.com/@paw.dreams0/video/7662021590825061654",
"id": "7662021590825061654",
"caption": "kitten was teased for playing with a cardboard Motorbike #catfunnyvideos #catcartoon #catcute #catstory #kitten",
"description": "kitten was teased for playing with a cardboard Motorbike #catfunnyvideos #catcartoon #catcute #catstory #kitten",
"publishedAt": "2026-07-13T15:00:00.000Z",
"durationSeconds": 79.97,
"thumbnailUrl": "https://p16-common-sign.tiktokcdn.com/tos-no1a-p-0037-no/o8GAEB3hAPfJ9hQpWX4KWY5eeIgRQALTAFAUeG~tplv-tiktokx-cropcenter-q:300:400:q70.webp",
"author": {
"username": "paw.dreams0",
"displayName": "Paw Dreams",
"url": "https://www.tiktok.com/@paw.dreams0",
"followers": 117886,
"verified": false,
"profileImage": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/14e5b5dbddf91912237e342a048afb2c~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
},
"engagement": {
"views": 253340,
"likes": 4607,
"comments": 116,
"shares": 327,
"saves": 949
},
"hashtags": [
"catfunnyvideos",
"catcartoon",
"catcute",
"catstory",
"kitten"
],
"musicName": "original sound - paw.dreams0"
},
{
"platform": "tiktok",
"url": "https://www.tiktok.com/@paw.dreams0/video/7661626147322547478",
"id": "7661626147322547478",
"caption": "The kitten was teased for playing with a cardboard Spoon shaped car #catfunnyvideos #catcartoon #catcute #catstory #kitten",
"description": "The kitten was teased for playing with a cardboard Spoon shaped car #catfunnyvideos #catcartoon #catcute #catstory #kitten",
"publishedAt": "2026-07-12T16:00:00.000Z",
"durationSeconds": 65.969,
"thumbnailUrl": "https://p16-common-sign.tiktokcdn.com/tos-no1a-p-0037-no/okepsDWBJhGTfTpIXjLeLEA8WMALIAKTjRAQeA~tplv-tiktokx-cropcenter-q:300:400:q70.webp",
"author": {
"username": "paw.dreams0",
"displayName": "Paw Dreams",
"url": "https://www.tiktok.com/@paw.dreams0",
"followers": 117886,
"verified": false,
"profileImage": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/14e5b5dbddf91912237e342a048afb2c~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
},
"engagement": {
"views": 78897,
"likes": 1386,
"comments": 51,
"shares": 74,
"saves": 280
},
"hashtags": [
"catfunnyvideos",
"catcartoon",
"catcute",
"catstory",
"kitten"
],
"musicName": "original sound - paw.dreams0"
},
{
"platform": "tiktok",
"url": "https://www.tiktok.com/@paw.dreams0/video/7661284651968859414",
"id": "7661284651968859414",
"caption": "Kitten Mocked For Playing With The Carboard Tortle Car #catfunnyvideos #catcartoon #catcute #catstory #kitten",
"description": "Kitten Mocked For Playing With The Carboard Tortle Car #catfunnyvideos #catcartoon #catcute #catstory #kitten",
"publishedAt": "2026-07-11T15:30:00.000Z",
"durationSeconds": 81.688,
"thumbnailUrl": "https://p16-common-sign.tiktokcdn.com/tos-no1a-p-0037-no/oYhfP5AcQI3DfUAWWYpJJGfKSgN1QuAeAA1LFW~tplv-tiktokx-cropcenter-q:300:400:q70.webp",
"author": {
"username": "paw.dreams0",
"displayName": "Paw Dreams",
"url": "https://www.tiktok.com/@paw.dreams0",
"followers": 117886,
"verified": false,
"profileImage": "https://p16-common-sign.tiktokcdn.com/tos-maliva-avt-0068/14e5b5dbddf91912237e342a048afb2c~tplv-tiktokx-cropcenter-q:1080:1080:q70.webp"
},
"engagement": {
"views": 110306,
"likes": 1890,
"comments": 112,
"shares": 134,
"saves": 388
},
"hashtags": [
"catfunnyvideos",
"catcartoon",
"catcute",
"catstory",
"kitten"
],
"musicName": "original sound - paw.dreams0"
}
],
"nextCursor": "1781971200001",
"hasMore": true
}
}Billing metadata (credits charged, cache hit/miss) is returned in the X-Captapi-Credits and X-Captapi-Cache response headers.
Request parameters
| Name | Type | Required | Description |
|---|---|---|---|
| url | string | Yes | 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. |
| limit | integer | No | How many of the creator's latest videos to return on this page (default 20, max 200). Newest first. Flat 2 credits per call. |
| cursor | string | No | 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. |
| cache | boolean | No | Set true to serve from the 24h response cache. Default false — always fetch fresh data. |
Frequently asked questions
What does the TikTok Channel Posts API do?
The TikTok Channel Posts API lets you list items in bulk with metadata from a public TikTok post using one GET request to /v1/tiktok/channel-posts. It returns clean JSON — no OAuth or infrastructure setup required.
How many credits does the TikTok Channel Posts API cost?
Each successful call costs 2 credits. Pass cache=true to serve from the 24h shared cache (0 credits on hit); default is always fresh. Failed or empty results are never charged.
Do I need a TikTok API key or OAuth?
No. A single Captapi key works across every platform Captapi supports — YouTube, TikTok, Instagram, Facebook, Twitter/X, Reddit, Threads, Bluesky, Pinterest, LinkedIn, Rumble, Spotify, Kwai, and more. We handle proxies, rate limits, retries, and authentication for you.
Is the TikTok Channel Posts API suitable for production use?
Yes. It is a stable REST endpoint with predictable JSON and automatic retries. Pass cache=true to serve from the 24h shared cache (0 credits on hit); default is always fresh. Use it for analytics, monitoring, and content automation.
Ready to get TikTok channel posts?
Start free with 100 credits — no credit card required.
Get your free API key