TikTok · Guide

How to get TikTok channel posts

TL;DR
To get TikTok channel posts, sign up for a free Captapi key, then send one GET request to /v1/tiktok/channel-posts with your input. You get clean JSON back in seconds for 14 credits per call — no OAuth, scraping or platform SDKs. Bulk-list TikTok content with full metadata for each item.

How to get TikTok channel posts (step by step)

  1. 1

    Get a free API key

    Create a free Captapi account (100 credits, no card) and generate an API key from the dashboard.

  2. 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. 3

    Read the JSON response

    Parse the clean JSON response. Results are cached for 24 hours, so repeat calls are free.

Code example

curl "https://api.captapi.com/v1/tiktok/channel-posts?url=https%3A%2F%2Fwww.tiktok.com%2F%40khaby.lame" \
  -H "Authorization: Bearer capt_live_..."

What the response looks like

{
  "success": true,
  "cached": false,
  "creditsUsed": 14,
  "data": {
    "url": "https://www.tiktok.com/@khaby.lame",
    "totalReturned": 5,
    "posts": [
      {
        "platform": "tiktok",
        "url": "https://www.tiktok.com/@khaby.lame/video/7657944906748398879",
        "id": "7657944906748398879",
        "caption": "You can keep the keys bro ✌🏾#learnfromkhaby #comedy",
        "description": "You can keep the keys bro ✌🏾#learnfromkhaby #comedy",
        "publishedAt": "2026-07-02T14:57:33.000Z",
        "durationSeconds": 40,
        "thumbnailUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oEQfFAAOUCI8BbNMEoLIAiG3IjAjBtAQIteeqP~tplv-tiktokx-origin.image?dr=9636&x-expires=1783263600&x-signature=dMpsrXfAW3E7gxcvXPzH5GeAAYo%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8",
        "videoUrl": null,
        "author": {
          "username": "khaby.lame",
          "displayName": "Khabane lame",
          "url": "https://www.tiktok.com/@khaby.lame",
          "followers": 162300000,
          "verified": true,
          "profileImage": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/08987e23b94057953fd4f1738694bf5f~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=828dd685&x-expires=1783263600&x-signature=uG12wEuTZOcKwj9%2BCpq6wCtqNe8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=f20df69d&idc=useast8"
        },
        "engagement": {
          "views": 1000000,
          "likes": 105500,
          "comments": 2663,
          "shares": 1371,
          "saves": 4270
        },
        "hashtags": [
          "learnfromkhaby",
          "comedy"
        ],
        "musicName": "original sound"
      },
      {
        "platform": "tiktok",
        "url": "https://www.tiktok.com/@khaby.lame/video/7657202490991054110",
        "id": "7657202490991054110",
        "caption": "We never ever gonna play again 🤕@jbastys #learnfromkhaby #comedy",
        "description": "We never ever gonna play again 🤕@jbastys #learnfromkhaby #comedy",
        "publishedAt": "2026-06-30T14:56:38.000Z",
        "durationSeconds": 18,
        "thumbnailUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oEfqGfRdEODQNDAEp2FkYIaSEhhOIABm9NDVuA~tplv-tiktokx-origin.image?dr=9636&x-expires=1783263600&x-signature=Jebkb8lxemF2yY%2BMbA5iitEAbD0%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8",
        "videoUrl": null,
        "author": {
          "username": "khaby.lame",
          "displayName": "Khabane lame",
          "url": "https://www.tiktok.com/@khaby.lame",
          "followers": 162300000,
          "verified": true,
          "profileImage": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/08987e23b94057953fd4f1738694bf5f~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=828dd685&x-expires=1783263600&x-signature=uG12wEuTZOcKwj9%2BCpq6wCtqNe8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=f20df69d&idc=useast8"
        },
        "engagement": {
          "views": 1500000,
          "likes": 150000,
          "comments": 3298,
          "shares": 4687,
          "saves": 6639
        },
        "hashtags": [
          "",
          "learnfromkhaby",
          "comedy"
        ],
        "musicName": "original sound"
      },
      {
        "platform": "tiktok",
        "url": "https://www.tiktok.com/@khaby.lame/video/7655371363988884766",
        "id": "7655371363988884766",
        "caption": "The sign's right there James!! @007 First Light  #earnthenumber  #007firstlight #ad",
        "description": "The sign's right there James!! @007 First Light  #earnthenumber  #007firstlight #ad",
        "publishedAt": "2026-06-25T16:30:53.000Z",
        "durationSeconds": 42,
        "thumbnailUrl": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oElBAAa9AhHK7z8PRAiBBjXXEiAAV1BIEPiBv~tplv-tiktokx-origin.image?dr=9636&x-expires=1783263600&x-signature=xov5Ov5O0AV8qY%2F2hXXe6agFdL0%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8",
        "videoUrl": null,
        "author": {
          "username": "khaby.lame",
          "displayName": "Khabane lame",
          "url": "https://www.tiktok.com/@khaby.lame",
          "followers": 162300000,
          "verified": true,
          "profileImage": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/08987e23b94057953fd4f1738694bf5f~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=828dd685&x-expires=1783263600&x-signature=uG12wEuTZOcKwj9%2BCpq6wCtqNe8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=f20df69d&idc=useast8"
        },
        "engagement": {
          "views": 1800000,
          "likes": 173600,
          "comments": 3321,
          "shares": 3207,
          "saves": 8725
        },
        "hashtags": [
          "",
          "earnthenumber",
          "007firstlight",
          "ad"
        ],
        "musicName": "original sound"
      },
      {
        "platform": "tiktok",
        "url": "https://www.tiktok.com/@khaby.lame/video/7653138980535340318",
        "id": "7653138980535340318",
        "caption": "Ok so it's a little harder than it looks... ⚽️ #doordashpartner #learnfromkhaby #comedy",
        "description": "Ok so it's a little harder than it looks... ⚽️ #doordashpartner #learnfromkhaby #comedy",
        "publishedAt": "2026-06-19T16:08:15.000Z",
        "durationSeconds": 14,
        "thumbnailUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oAaiaWPeDIIXj10cAkFHVhRuiBfCqLEIEyADEN~tplv-tiktokx-origin.image?dr=9636&x-expires=1783263600&x-signature=xwAz2O0n%2FXRXH%2FNieXwJJzt1XEY%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8",
        "videoUrl": null,
        "author": {
          "username": "khaby.lame",
          "displayName": "Khabane lame",
          "url": "https://www.tiktok.com/@khaby.lame",
          "followers": 162300000,
          "verified": true,
          "profileImage": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/08987e23b94057953fd4f1738694bf5f~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=828dd685&x-expires=1783263600&x-signature=uG12wEuTZOcKwj9%2BCpq6wCtqNe8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=f20df69d&idc=useast8"
        },
        "engagement": {
          "views": 14500000,
          "likes": 1300000,
          "comments": 11200,
          "shares": 7356,
          "saves": 57833
        },
        "hashtags": [
          "doordashpartner",
          "learnfromkhaby",
          "comedy"
        ],
        "musicName": "original sound"
      },
      {
        "platform": "tiktok",
        "url": "https://www.tiktok.com/@khaby.lame/video/7652012587009215774",
        "id": "7652012587009215774",
        "caption": "Bro…. Where is the rest of my rice? 🍚🤨#learnfromkhaby #comedy",
        "description": "Bro…. Where is the rest of my rice? 🍚🤨#learnfromkhaby #comedy",
        "publishedAt": "2026-06-16T15:17:17.000Z",
        "durationSeconds": 30,
        "thumbnailUrl": "https://p19-common-sign.tiktokcdn-us.com/tos-useast8-p-0068-tx2/oMCUBOFruAxeDj4qAILfYaqGVewvlQtIIIC0xI~tplv-tiktokx-origin.image?dr=9636&x-expires=1783263600&x-signature=%2FKeMIO65MvgAaCE1uDsSCE7MVOU%3D&t=4d5b0474&ps=13740610&shp=81f88b70&shcp=43f4a2f9&idc=useast8",
        "videoUrl": null,
        "author": {
          "username": "khaby.lame",
          "displayName": "Khabane lame",
          "url": "https://www.tiktok.com/@khaby.lame",
          "followers": 162300000,
          "verified": true,
          "profileImage": "https://p16-common-sign.tiktokcdn-us.com/tos-useast8-avt-0068-tx2/08987e23b94057953fd4f1738694bf5f~tplv-tiktokx-cropcenter:720:720.jpeg?dr=9640&refresh_token=828dd685&x-expires=1783263600&x-signature=uG12wEuTZOcKwj9%2BCpq6wCtqNe8%3D&t=4d5b0474&ps=13740610&shp=a5d48078&shcp=f20df69d&idc=useast8"
        },
        "engagement": {
          "views": 27000000,
          "likes": 1400000,
          "comments": 26700,
          "shares": 89500,
          "saves": 62561
        },
        "hashtags": [
          "learnfromkhaby",
          "comedy"
        ],
        "musicName": "original sound"
      }
    ]
  }
}

Request parameters

NameTypeRequiredDescription
urlstring YesTikTok 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.
limitintegerNoMax items to return (default 20, max 200). Billed per result.

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 video using one GET request to /v1/tiktok/channel-posts. It returns clean JSON — no OAuth or scraping setup required.

How many credits does the TikTok Channel Posts API cost?

Each successful call costs 14 credits. Responses are cached for 24 hours, and cached results cost 0 credits. 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, and Rumble. 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, automatic retries, and a shared 24-hour cache. Use it for RAG pipelines, 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