Rising on TikTokRisingSee all trendsAll trends

Source: TikTok Creator Search Insights via TokConnect, 28 October 2026. Search counts are TikTok's figure for the last 7 days; the arrow compares the latest reading with the average of the previous six days. TikTok Shop items: estimated revenue, TikTok Shop US, 30 days to 18 October 2026, growth against the 30 days before.

Research your niche
API reference

Videos

One video or photo post: counts, comments, transcript, similar videos and the sales it drove. Plus samples of TikTok's own feeds and a fair comment giveaway draw.

  • 16 routes
  • 1 credit per call
  • Base URL https://api.tokconnect.com/v1

One TikTok video

Everything about one video or photo post: detail, comments, replies, caption transcript, similar videos, and Shop Analytics; region picks the market the revenue it drove and the products it sold. Use the post id or link from any other tool. Examples: {"id":"https://vt.tiktok.com/...","method":"transcript"}, {"id":"7694...","method":"sales"}. method=comment_themes lists the keywords TikTok extracts from the comments, each with sample comments. Example: {"id":"7691388445251439924","method":"comment_themes"}.

GET/v1/videos/{id}

Counts, creator, hashtags, sound, place, linked products, caption tracks

  • 1 credit per call
  • 17 markets

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

2 more optional parameters
  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • regionstring

    Market as an ISO country code, default US. Shop Analytics methods: sales data for that market, amounts in its currency. Live methods that take it (search, video detail, creator posts, Shop pages): TikTok as seen in that market where TikTok serves it. Core: US, GB, DE, FR, ES, JP, TH, VN, ID, MY, PH, BR, MX. Extended: PL, IT, NL, IE. Other countries are refused. See shop_regions.

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: detail. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "detail",
    "id": "7691522530129022221"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7691522530129022221" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "caption": "the shiniest lips on the internet  @NOONI #noonipartner    #beauty #glitterlips #lipoil #kbeauty",
    "comments": 20,
    "creator": {
      "handle": "ingaterner",
      "id": "6915470077362865158",
      "nickname": "Inga Terner",
      "secUid": "MS4wLjABAAAAj3-0_ug3CN2zVQW1fOIuVgtFq37iFz2-aQNDN9VLKT0Xa1rcEfAAybaLMhLsXCIu"
    },
    "durationSec": 18,
    "hashtags": [
      {
        "id": "7305074851570516011",
        "name": "noonipartner"
      },
      {
        "id": "5393",
        "name": "beauty"
      },
      {
        "id": "206503",
        "name": "glitterlips"
      }
    ],
    "id": "7691522530129022221",
    "language": "en",
    "likes": 1049,
    "posted": "2026-10-01T02:36:03Z",
    "saves": 207,
    "shares": 39,
    "sound": {
      "author": "JERI",
      "id": "7139362230881094442",
      "original": true,
      "title": "ariana grande . ill do it"
    },
    "url": "https://www.tiktok.com/@ingaterner/video/7691522530129022221",
    "views": 22632
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.captionstring
  • data.commentsinteger
  • data.creatorobject
  • data.creator.handlestring
  • data.creator.idstring
  • data.creator.nicknamestring
  • data.creator.secUidstring
  • data.durationSecinteger
  • data.hashtagsarray
  • data.hashtags[].idstring
  • data.hashtags[].namestring
  • data.idstring
  • data.languagestring
  • data.likesinteger
  • data.postedstring
  • data.savesinteger
  • data.sharesinteger
  • data.soundobject
  • data.sound.authorstring
  • data.sound.idstring
  • data.sound.originalboolean
  • data.sound.titlestring
  • data.urlstring
  • data.viewsinteger
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (2)

GET/v1/videos/{id}/captions

One caption file as WebVTT (subtitle_url, or the video id: English track first)

  • 1 credit per call

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

2 more optional parameters
  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • subtitle_urlstring

    method=captions: a caption URL from method=detail (captions[].url).

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: captions. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "captions",
    "id": "7691388445251439924"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7691388445251439924/captions" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Every success comes back in the same envelope: the tool's JSON under data, next_cursor when there is another page, and meta with the credits charged. See pagination.

200 OK
{
  "data": { "...": "the tool's JSON" },
  "next_cursor": "eyJwYWdlIjoyfQ",
  "meta": { "credits_charged": 1, "request_id": "req_…" }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (2)

GET/v1/videos/{id}/comment-themes

Keywords TikTok extracts from the comments, with sample comments

  • 1 credit per call

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

1 more optional parameter
  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: comment_themes. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "comment_themes",
    "id": "7691522530129022221"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7691522530129022221/comment-themes" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "as_of": "2026-10-30T23:27:21Z",
    "count": 2,
    "has_more": false,
    "id": "7691522530129022221",
    "items": [
      {
        "keyword": "looks amazing",
        "sample_count": 1,
        "samples": [
          {
            "date": "2026-10-02",
            "id": "7692112068871275295",
            "likes": 1,
            "text": "Wow looks amazing"
          }
        ]
      },
      {
        "keyword": "blonde hair",
        "sample_count": 1,
        "samples": [
          {
            "date": "2026-10-01",
            "id": "7691593645211861782",
            "likes": 1,
            "text": "Hello There Inga i like very much how are You make-up and how lip-gloss you used in your make-up and she's stay very good and beautiful with your blonde hair Inga"
          }
        ]
      }
    ],
    "notes": [
      "Keywords are TikTok's own extraction from the comments, in TikTok's order; sample_count is how many sample comments TikTok attached, not a total."
    ],
    "see_also": [
      "video method=comments id=7691522530129022221"
    ],
    "source": "tiktok_live"
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.as_ofstring
  • data.countinteger
  • data.has_moreboolean
  • data.idstring
  • data.itemsarray
  • data.items[].keywordstring
  • data.items[].sample_countinteger
  • data.items[].samplesarray
  • data.items[].samples[].datestring
  • data.items[].samples[].idstring
  • data.items[].samples[].likesinteger
  • data.items[].samples[].textstring
  • data.notesarray
  • data.see_alsoarray
  • data.sourcestring
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (1)

GET/v1/videos/{id}/comments

Top-level comments

  • 1 credit per call
  • Paged

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

  • limitinteger

    Results per page. comments and replies max 50, similar max 30; Shop Analytics methods max 100. Values above a method's maximum are lowered and reported in notes.

3 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • sortstring

    method=comments: relevant (TikTok's order, default) or newest.

    One ofrelevantnewest

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: comments. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "comments",
    "id": "7691522530129022221",
    "limit": "3"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7691522530129022221/comments?limit=3" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "comments": [
      {
        "author": {
          "handle": "analuaviibe",
          "nickname": "analuaviibe",
          "secUid": "MS4wLjABAAAAgRqViSgAlnNZEzweJCo2ZHj8OIbUh6d7yCY1Vgw_UgHF0NZ8dTLMQMTQFs9gcxHD"
        },
        "id": "7693243163997602574",
        "likes": 0,
        "posted": "2026-10-05T17:53:31Z",
        "replies": 1,
        "text": "Did you use another product before the lip oil?"
      },
      {
        "author": {
          "handle": "tarapr1",
          "nickname": "TaraPrit",
          "secUid": "MS4wLjABAAAA5hvN8SlYQnPwFtES0p2gdlguyyFfsgq47T4roayZCqRQ6U-QuP4CUHtwRkMjCLqE"
        },
        "id": "7698536869424726785",
        "likes": 0,
        "posted": "2026-10-20T00:15:26Z",
        "text": "All of those colours r so pretty!!!"
      },
      {
        "author": {
          "handle": "kc90887",
          "nickname": "KC",
          "secUid": "MS4wLjABAAAADAQWZ7VS3fs6sc1XqTuGaIl2F2ZuuEa5EKnnz73HyexjS69Ydy7VjObJJDbmEDiG"
        },
        "id": "7701658459657306912",
        "likes": 0,
        "posted": "2026-10-28T10:08:41Z",
        "text": "Hammer geile Frau 😍🤗"
      }
    ],
    "hasMore": true,
    "next": "eyJjdXJzb3IiOjN9",
    "total": 20
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  },
  "next_cursor": "eyJjdXJzb3IiOjN9"
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.commentsarray
  • data.comments[].authorobject
  • data.comments[].author.handlestring
  • data.comments[].author.nicknamestring
  • data.comments[].author.secUidstring
  • data.comments[].idstring
  • data.comments[].likesinteger
  • data.comments[].postedstring
  • data.comments[].repliesinteger
  • data.comments[].textstring
  • data.hasMoreboolean
  • data.nextstring
  • data.totalinteger
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (3)

GET/v1/videos/{id}/product-trend

Daily sales of the video's products

  • 1 credit per call
  • Shop Analytics
  • Paged
  • 17 markets

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

7 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • endstring

    Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).

  • limitinteger

    Results per page. comments and replies max 50, similar max 30; Shop Analytics methods max 100. Values above a method's maximum are lowered and reported in notes.

  • regionstring

    Market as an ISO country code, default US. Shop Analytics methods: sales data for that market, amounts in its currency. Live methods that take it (search, video detail, creator posts, Shop pages): TikTok as seen in that market where TikTok serves it. Core: US, GB, DE, FR, ES, JP, TH, VN, ID, MY, PH, BR, MX. Extended: PL, IT, NL, IE. Other countries are refused. See shop_regions.

  • startstring

    Shop Analytics methods: custom range start, YYYY-MM-DD.

  • windowstring

    Shop Analytics methods: date range ending at the last complete day (about 2 days ago). Default 30d. Use start/end for a custom range.

    One of7d30d90d180d365d

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: product_trend. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "product_trend",
    "id": "7700682843906723103"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7700682843906723103/product-trend" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "currency": "USD",
    "daily": [
      {
        "ad": 0,
        "adTotalCost": 0,
        "adTotalRoas": 0,
        "ad_revenue_ratio": 0,
        "ad_view_ratio": 0,
        "new_followers": 0,
        "partition_day": "2026-09-29",
        "revenue": 0,
        "sale": 0,
        "views": 0
      },
      {
        "ad": 0,
        "adTotalCost": 0,
        "adTotalRoas": 0,
        "ad_revenue_ratio": 0,
        "ad_view_ratio": 0,
        "new_followers": 0,
        "partition_day": "2026-09-30",
        "revenue": 0,
        "sale": 0,
        "views": 0
      },
      {
        "ad": 0,
        "adTotalCost": 0,
        "adTotalRoas": 0,
        "ad_revenue_ratio": 0,
        "ad_view_ratio": 0,
        "new_followers": 0,
        "partition_day": "2026-10-01",
        "revenue": 0,
        "sale": 0,
        "views": 0
      }
    ],
    "dataEnd": "2026-10-28",
    "id": "7700682843906723103",
    "market": "US",
    "notes": [
      "Market US (United States): amounts are in USD."
    ],
    "source": "TokConnect Shop Analytics (TikTok Shop US). Revenue and units are estimates: units track TikTok's sold counter; revenue is units times listed price.",
    "window": {
      "days": 30,
      "end": "2026-10-28",
      "start": "2026-09-29"
    }
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.currencystring
  • data.dailyarray
  • data.daily[].adinteger
  • data.daily[].adTotalCostinteger
  • data.daily[].adTotalRoasinteger
  • data.daily[].ad_revenue_ratiointeger
  • data.daily[].ad_view_ratiointeger
  • data.daily[].new_followersinteger
  • data.daily[].partition_daystring
  • data.daily[].revenueinteger
  • data.daily[].saleinteger
  • data.daily[].viewsinteger
  • data.dataEndstring
  • data.idstring
  • data.marketstring
  • data.notesarray
  • data.sourcestring
  • data.windowobject
  • data.window.daysinteger
  • data.window.endstring
  • data.window.startstring
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (7)

GET/v1/videos/{id}/products

Products sold through the video, with revenue

  • 1 credit per call
  • Shop Analytics
  • Paged
  • 17 markets

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

7 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • endstring

    Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).

  • limitinteger

    Results per page. comments and replies max 50, similar max 30; Shop Analytics methods max 100. Values above a method's maximum are lowered and reported in notes.

  • regionstring

    Market as an ISO country code, default US. Shop Analytics methods: sales data for that market, amounts in its currency. Live methods that take it (search, video detail, creator posts, Shop pages): TikTok as seen in that market where TikTok serves it. Core: US, GB, DE, FR, ES, JP, TH, VN, ID, MY, PH, BR, MX. Extended: PL, IT, NL, IE. Other countries are refused. See shop_regions.

  • startstring

    Shop Analytics methods: custom range start, YYYY-MM-DD.

  • windowstring

    Shop Analytics methods: date range ending at the last complete day (about 2 days ago). Default 30d. Use start/end for a custom range.

    One of7d30d90d180d365d

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: products. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "products",
    "id": "7700682843906723103"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7700682843906723103/products" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "currency": "USD",
    "dataEnd": "2026-10-28",
    "id": "7700682843906723103",
    "market": "US",
    "notes": [
      "Market US (United States): amounts are in USD."
    ],
    "products": [
      {
        "id": "1732268320365777584",
        "max_price": "$493.99",
        "min_price": "$493.99",
        "partition_day": "2026-10-29",
        "percentage": 100,
        "pri_cate_id": "Household Appliances",
        "product_title": "Shark PowerPro Flex Reveal Plus Cordless Vacuum - IZ382H",
        "revenue": 118627,
        "sale": 313,
        "sec_cate_id": "Home Appliances",
        "ter_cate_id": "Vacuums & Floor Care"
      }
    ],
    "source": "TokConnect Shop Analytics (TikTok Shop US). Revenue and units are estimates: units track TikTok's sold counter; revenue is units times listed price.",
    "window": {
      "days": 30,
      "end": "2026-10-28",
      "start": "2026-09-29"
    }
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.currencystring
  • data.dataEndstring
  • data.idstring
  • data.marketstring
  • data.notesarray
  • data.productsarray
  • data.products[].idstring
  • data.products[].max_pricestring
  • data.products[].min_pricestring
  • data.products[].partition_daystring
  • data.products[].percentageinteger
  • data.products[].pri_cate_idstring
  • data.products[].product_titlestring
  • data.products[].revenueinteger
  • data.products[].saleinteger
  • data.products[].sec_cate_idstring
  • data.products[].ter_cate_idstring
  • data.sourcestring
  • data.windowobject
  • data.window.daysinteger
  • data.window.endstring
  • data.window.startstring
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (7)

GET/v1/videos/{id}/sales

Revenue, units and ad metrics the video drove

  • 1 credit per call
  • Shop Analytics
  • Paged
  • 17 markets

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

7 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • endstring

    Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).

  • limitinteger

    Results per page. comments and replies max 50, similar max 30; Shop Analytics methods max 100. Values above a method's maximum are lowered and reported in notes.

  • regionstring

    Market as an ISO country code, default US. Shop Analytics methods: sales data for that market, amounts in its currency. Live methods that take it (search, video detail, creator posts, Shop pages): TikTok as seen in that market where TikTok serves it. Core: US, GB, DE, FR, ES, JP, TH, VN, ID, MY, PH, BR, MX. Extended: PL, IT, NL, IE. Other countries are refused. See shop_regions.

  • startstring

    Shop Analytics methods: custom range start, YYYY-MM-DD.

  • windowstring

    Shop Analytics methods: date range ending at the last complete day (about 2 days ago). Default 30d. Use start/end for a custom range.

    One of7d30d90d180d365d

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: sales. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "sales",
    "id": "7700682843906723103"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7700682843906723103/sales" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "ads": {
      "ad2Cost": "$25.73k",
      "ad2Roas": 3.69,
      "ad_revenue_ratio": "80.00%",
      "ad_view_ratio": "28.88%",
      "video_id": "7700682843906723103"
    },
    "currency": "USD",
    "dataEnd": "2026-10-28",
    "id": "7700682843906723103",
    "market": "US",
    "notes": [
      "Market US (United States): amounts are in USD."
    ],
    "source": "TokConnect Shop Analytics (TikTok Shop US). Revenue and units are estimates: units track TikTok's sold counter; revenue is units times listed price.",
    "totals": {
      "day_new_followers": "0",
      "day_revenue": "$3.95k",
      "day_sale": "10.43",
      "day_views": "76.7k",
      "new_followers": "0",
      "revenue": "$118.63k",
      "sale": "313",
      "video_id": "7700682843906723103",
      "views": "2.3m"
    },
    "window": {
      "days": 30,
      "end": "2026-10-28",
      "start": "2026-09-29"
    }
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.adsobject
  • data.ads.ad2Coststring
  • data.ads.ad2Roasnumber
  • data.ads.ad_revenue_ratiostring
  • data.ads.ad_view_ratiostring
  • data.ads.video_idstring
  • data.currencystring
  • data.dataEndstring
  • data.idstring
  • data.marketstring
  • data.notesarray
  • data.sourcestring
  • data.totalsobject
  • data.totals.day_new_followersstring
  • data.totals.day_revenuestring
  • data.totals.day_salestring
  • data.totals.day_viewsstring
  • data.totals.new_followersstring
  • data.totals.revenuestring
  • data.totals.salestring
  • data.totals.video_idstring
  • data.totals.viewsstring
  • data.windowobject
  • data.window.daysinteger
  • data.window.endstring
  • data.window.startstring
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (7)

GET/v1/videos/{id}/similar

Videos TikTok relates to this one

  • 1 credit per call
  • Paged

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

  • limitinteger

    Results per page. comments and replies max 50, similar max 30; Shop Analytics methods max 100. Values above a method's maximum are lowered and reported in notes.

2 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: similar. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "similar",
    "id": "7691522530129022221",
    "limit": 3
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7691522530129022221/similar?limit=3" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "hasMore": false,
    "videos": [
      {
        "caption": "no need to overpluck your brows anymore 😌 this gel locks every hair in place and keeps them there all day",
        "comments": 26,
        "creator": {
          "followers": 2400000,
          "handle": "ingaterner",
          "id": "6915470077362865158",
          "nickname": "Inga Terner",
          "secUid": "MS4wLjABAAAAj3-0_ug3CN2zVQW1fOIuVgtFq37iFz2-aQNDN9VLKT0Xa1rcEfAAybaLMhLsXCIu"
        },
        "durationSec": 11,
        "id": "7652228657624272141",
        "isAd": true,
        "language": "en",
        "likes": 4000,
        "posted": "2026-06-17T05:16:00Z",
        "products": [
          {
            "id": "1731195873060032840",
            "name": "The Brow Glue Crazy Lift, Brow",
            "sellerId": "7495306581925726536",
            "title": "The Brow Glue Crazy Lift, Brow Lamination Gel with 16HR Strong Hold & Built-In Styling Comb, NYX Professional Makeup"
          }
        ],
        "saves": 638,
        "shares": 109,
        "sound": {
          "author": "ky",
          "id": "7574176490877274935",
          "original": true,
          "title": "original sound"
        },
        "url": "https://www.tiktok.com/@ingaterner/video/7652228657624272141",
        "views": 137700
      },
      {
        "caption": "@MAC Cosmetics night",
        "comments": 7,
        "creator": {
          "followers": 2400000,
          "handle": "ingaterner",
          "id": "6915470077362865158",
          "nickname": "Inga Terner",
          "secUid": "MS4wLjABAAAAj3-0_ug3CN2zVQW1fOIuVgtFq37iFz2-aQNDN9VLKT0Xa1rcEfAAybaLMhLsXCIu"
        },
        "durationSec": 10,
        "id": "7673769596033191182",
        "language": "en",
        "likes": 419,
        "posted": "2026-08-14T06:25:58Z",
        "saves": 31,
        "shares": 1,
        "sound": {
          "author": "Trendformusic",
          "id": "7532565244910308102",
          "original": true,
          "title": "son original"
        },
        "url": "https://www.tiktok.com/@ingaterner/video/7673769596033191182",
        "views": 8160
      },
      {
        "caption": "my go-to nude shades this summer",
        "comments": 11,
        "creator": {
          "followers": 2400000,
          "handle": "ingaterner",
          "id": "6915470077362865158",
          "nickname": "Inga Terner",
          "secUid": "MS4wLjABAAAAj3-0_ug3CN2zVQW1fOIuVgtFq37iFz2-aQNDN9VLKT0Xa1rcEfAAybaLMhLsXCIu"
        },
        "durationSec": 15,
        "id": "7658093031144295693",
        "isAd": true,
        "language": "en",
        "likes": 403,
        "posted": "2026-07-03T00:32:32Z",
        "products": [
          {
            "id": "1729401426661773360",
            "name": "Lip Gloss",
            "sellerId": "7495171395322742832",
            "title": "Lip Gloss - High-Shine, Vanilla-Scented, Ultra Smooth Gloss with Luminous Finish Matte"
          }
        ],
        "saves": 101,
        "shares": 5,
        "sound": {
          "author": "burner.wave",
          "id": "7633979701119306510",
          "original": true,
          "title": "burner wave pour it up x all the way turnt up"
        },
        "url": "https://www.tiktok.com/@ingaterner/video/7658093031144295693",
        "views": 10100
      }
    ]
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.hasMoreboolean
  • data.videosarray
  • data.videos[].captionstring
  • data.videos[].commentsinteger
  • data.videos[].creatorobject
  • data.videos[].creator.followersinteger
  • data.videos[].creator.handlestring
  • data.videos[].creator.idstring
  • data.videos[].creator.nicknamestring
  • data.videos[].creator.secUidstring
  • data.videos[].durationSecinteger
  • data.videos[].idstring
  • data.videos[].isAdboolean
  • data.videos[].languagestring
  • data.videos[].likesinteger
  • data.videos[].postedstring
  • data.videos[].productsarray
  • data.videos[].products[].idstring
  • data.videos[].products[].namestring
  • data.videos[].products[].sellerIdstring
  • data.videos[].products[].titlestring
  • data.videos[].savesinteger
  • data.videos[].sharesinteger
  • data.videos[].soundobject
  • data.videos[].sound.authorstring
  • data.videos[].sound.idstring
  • data.videos[].sound.originalboolean
  • data.videos[].sound.titlestring
  • data.videos[].urlstring
  • data.videos[].viewsinteger
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (2)

GET/v1/videos/{id}/similar-revenue

How similar videos performed

  • 1 credit per call
  • Shop Analytics
  • Paged
  • 17 markets

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

7 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • endstring

    Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).

  • limitinteger

    Results per page. comments and replies max 50, similar max 30; Shop Analytics methods max 100. Values above a method's maximum are lowered and reported in notes.

  • regionstring

    Market as an ISO country code, default US. Shop Analytics methods: sales data for that market, amounts in its currency. Live methods that take it (search, video detail, creator posts, Shop pages): TikTok as seen in that market where TikTok serves it. Core: US, GB, DE, FR, ES, JP, TH, VN, ID, MY, PH, BR, MX. Extended: PL, IT, NL, IE. Other countries are refused. See shop_regions.

  • startstring

    Shop Analytics methods: custom range start, YYYY-MM-DD.

  • windowstring

    Shop Analytics methods: date range ending at the last complete day (about 2 days ago). Default 30d. Use start/end for a custom range.

    One of7d30d90d180d365d

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: similar_revenue. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "similar_revenue",
    "id": "7700682843906723103"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7700682843906723103/similar-revenue" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "currency": "USD",
    "dataEnd": "2026-10-28",
    "id": "7700682843906723103",
    "market": "US",
    "notes": [
      "Market US (United States): amounts are in USD."
    ],
    "similar": {
      "revenue": [
        {
          "ad": 1,
          "ai_video": 0,
          "content_type": "video",
          "create_time": "2026/10/21 19:35:52",
          "creator_id": "7408927728046933038",
          "description": "Which one do you think? #stickvacuum #petallergies #petparents #shark #sharkpowerproflex ",
          "duration": "1m 22s",
          "handle": "kid.shops",
          "id": "7699268904157334815",
          "music_title": "original sound - kid.shops",
          "original_duration": 81.834,
          "revenue": "$68.98k",
          "sale": 182,
          "views": "1.09m"
        },
        {
          "ad": 1,
          "ai_video": 0,
          "content_type": "video",
          "create_time": "2026/10/25 17:47:08",
          "creator_id": "7275090345011414059",
          "description": "Which cordless vacuum is better? What price they have this one at today you can’t beat it.. #vacuum #cordlessvacuum #stickvacuum #sharkvacuum #cleaning ",
          "duration": "1m 46s",
          "handle": "dealswithty",
          "id": "7700725240166436127",
          "music_title": "original sound",
          "original_duration": 106,
          "revenue": "$65.95k",
          "sale": 174,
          "views": "1.3m"
        },
        {
          "ad": 1,
          "ai_video": 0,
          "content_type": "video",
          "create_time": "2026/10/26 11:22:54",
          "creator_id": "7289195477476262958",
          "description": "Why pay more for a vacuum that does less… when you can pay less for one that does more?🤔 #vacuum #cleaning #petvacuum #sharkpowerproflexreveal ",
          "duration": "1m 34s",
          "handle": "ericsfindss",
          "id": "7700997310842490126",
          "music_title": "original sound",
          "original_duration": 94,
          "revenue": "$38.28k",
          "sale": 101,
          "views": "589.94k"
        }
      ],
      "type": "product"
    },
    "source": "TokConnect Shop Analytics (TikTok Shop US). Revenue and units are estimates: units track TikTok's sold counter; revenue is units times listed price.",
    "window": {
      "days": 30,
      "end": "2026-10-28",
      "start": "2026-09-29"
    }
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.currencystring
  • data.dataEndstring
  • data.idstring
  • data.marketstring
  • data.notesarray
  • data.similarobject
  • data.similar.revenuearray
  • data.similar.revenue[].adinteger
  • data.similar.revenue[].ai_videointeger
  • data.similar.revenue[].content_typestring
  • data.similar.revenue[].create_timestring
  • data.similar.revenue[].creator_idstring
  • data.similar.revenue[].descriptionstring
  • data.similar.revenue[].durationstring
  • data.similar.revenue[].handlestring
  • data.similar.revenue[].idstring
  • data.similar.revenue[].music_titlestring
  • data.similar.revenue[].original_durationnumber
  • data.similar.revenue[].revenuestring
  • data.similar.revenue[].saleinteger
  • data.similar.revenue[].viewsstring
  • data.similar.typestring
  • data.sourcestring
  • data.windowobject
  • data.window.daysinteger
  • data.window.endstring
  • data.window.startstring
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (7)

GET/v1/videos/{id}/transcript

Existing captions as plain text (nothing is transcribed)

  • 1 credit per call

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

2 more optional parameters
  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • languagestring

    method=transcript: preferred caption language, e.g. en.

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: transcript. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "transcript",
    "id": "7691522530129022221"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7691522530129022221/transcript" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "available": [],
    "message": "TikTok has no captions for this video, so there is no transcript. Nothing was transcribed or generated.",
    "noCaptions": true,
    "segments": [],
    "text": "",
    "video": {
      "authorUniqueId": "ingaterner",
      "desc": "the shiniest lips on the internet  @NOONI #noonipartner    #beauty #glitterlips #lipoil #kbeauty ",
      "durationMs": 18000,
      "id": "7691522530129022221",
      "playCount": 22632
    }
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.availablearray
  • data.messagestring
  • data.noCaptionsboolean
  • data.segmentsarray
  • data.textstring
  • data.videoobject
  • data.video.authorUniqueIdstring
  • data.video.descstring
  • data.video.durationMsinteger
  • data.video.idstring
  • data.video.playCountinteger
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (2)

GET/v1/videos/{id}/comments/{comment_id}/replies

Replies to one comment (comment_id)

  • 1 credit per call
  • Paged

Parameters

  • idstringPathRequired

    Video or photo post: a TikTok link (short vm./vt. links work), or the numeric post id (videos[].id). Not needed for method=captions.

  • comment_idstringPathRequired

    method=replies: the comment id from method=comments.

3 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • limitinteger

    Results per page. comments and replies max 50, similar max 30; Shop Analytics methods max 100. Values above a method's maximum are lowered and reported in notes.

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video tool with method: replies. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video",
  "arguments": {
    "method": "replies",
    "id": "7691522530129022221"
  }
}

Request

curl "https://api.tokconnect.com/v1/videos/7691522530129022221/comments/7701885045296956174/replies" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "comments": [],
    "hasMore": false
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.commentsarray
  • data.hasMoreboolean
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (3)

TikTok feeds

Samples TikTok's own feeds: For You (as a neutral US viewer), Explore categories, and Discover creators/hashtags/sounds. Samples, not rankings. Example: {"method":"explore","category_id":3}. Category ids come from reference method=explore_categories.

GET/v1/feeds/discover

Discover picks: creators, hashtags, sounds

  • 1 credit per call
  • Paged

Parameters

  • limitinteger

    Results per page. for_you, discover max 30; explore, discover_hashtags max 20. Values above a method's maximum are lowered and reported in notes.

3 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

  • sceneinteger

    method=discover: Discover scene (15 is the full catalogue).

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video_feed tool with method: discover. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video_feed",
  "arguments": {
    "method": "discover",
    "limit": 3
  }
}

Request

curl "https://api.tokconnect.com/v1/feeds/discover?limit=3" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "creators": [
      {
        "followers": 74600000,
        "handle": "billieeilish",
        "id": "6879693940111901701",
        "nickname": "BILLIE EILISH",
        "secUid": "MS4wLjABAAAAQC9D0J9C7zCdiToBJvaCHEZZl1FXTKeeSVoyGQld--0hcxb3lqDTxaSRjByAVlAs",
        "verified": true
      },
      {
        "followers": 16900000,
        "handle": "rihanna",
        "id": "6621955904844021765",
        "nickname": "Rihanna",
        "secUid": "MS4wLjABAAAAd04PpJrQJrRv5QpeLCz-tj41zTwuemXz6WBpyycnVNGeYqJjlOzJ5fpV9QWK5h4B",
        "verified": true
      },
      {
        "followers": 18100000,
        "handle": "edsheeran",
        "id": "173245838817808384",
        "nickname": "Ed Sheeran",
        "secUid": "MS4wLjABAAAAW-m9le-3IwWQcihDj2Io53yCuEgz0wb1Np_JY3chG8vAsK_fzWmK2NWaz1nzttoD",
        "verified": true
      }
    ],
    "hashtags": [
      {
        "id": "7701142521555976205",
        "name": "tiktokshopcollectiblescarnivals",
        "views": 99200
      },
      {
        "id": "7029514091618123822",
        "name": "blackfridayearlyaccess",
        "views": 29800000
      },
      {
        "id": "1674571239209989",
        "name": "discoveryourgift",
        "views": 741000000
      }
    ],
    "sounds": [
      {
        "author": "3.1M videos",
        "id": "6740248251825391617",
        "title": "Forever (From \"Euphoria: Season 1\" Soundtrack)",
        "videos": 3100000
      },
      {
        "author": "87.1K videos",
        "id": "5000000001008467945",
        "title": "Quinceañera",
        "videos": 87100
      },
      {
        "author": "221.7K videos",
        "id": "222453230176251905",
        "title": "Hasta la Raíz",
        "videos": 221700
      }
    ]
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.creatorsarray
  • data.creators[].followersinteger
  • data.creators[].handlestring
  • data.creators[].idstring
  • data.creators[].nicknamestring
  • data.creators[].secUidstring
  • data.creators[].verifiedboolean
  • data.hashtagsarray
  • data.hashtags[].idstring
  • data.hashtags[].namestring
  • data.hashtags[].viewsinteger
  • data.soundsarray
  • data.sounds[].authorstring
  • data.sounds[].idstring
  • data.sounds[].titlestring
  • data.sounds[].videosinteger
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (3)

GET/v1/feeds/discover/hashtags

Discover hashtags with sample videos

  • 1 credit per call
  • Paged

Parameters

  • limitinteger

    Results per page. for_you, discover max 30; explore, discover_hashtags max 20. Values above a method's maximum are lowered and reported in notes.

2 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video_feed tool with method: discover_hashtags. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video_feed",
  "arguments": {
    "method": "discover_hashtags",
    "limit": 3
  }
}

Request

curl "https://api.tokconnect.com/v1/feeds/discover/hashtags?limit=3" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "hasMore": true,
    "hashtags": [
      {
        "id": "1612000725392390",
        "name": "cindytest",
        "sampleVideos": [
          {
            "caption": "#cindytest #",
            "comments": 4,
            "creator": {
              "followers": 2908,
              "handle": "edgar.alex.alcedo0",
              "id": "7319128708127409158",
              "nickname": "EL TERROR 🇵🇪🇵🇪🇵🇪🇵🇪🇵🇪",
              "secUid": "MS4wLjABAAAA7zr7Ai1E_tdLqQ2Gxylv8rCmfRghekX5O_UpU3d9JABWoesADQITcAA3WYbS6ZLv"
            },
            "durationSec": 52,
            "hashtags": [
              {
                "id": "1612000725392390",
                "name": "cindytest"
              }
            ],
            "id": "7665797426422287637",
            "language": "un",
            "likes": 24,
            "posted": "2026-07-23T18:49:20Z",
            "saves": 1,
            "shares": 7,
            "sound": {
              "author": "Ragal Ironbull",
              "id": "7624518713740118806",
              "original": true,
              "title": "original sound"
            },
            "url": "https://www.tiktok.com/@edgar.alex.alcedo0/video/7665797426422287637",
            "views": 941
          },
          {
            "caption": "Well, not #gorgeous  But that @beachwaver is the freaking bomb #emptynester #hairtok #beachwaver #fyp",
            "comments": 0,
            "creator": {
              "followers": 164,
              "handle": "justcindy59andholding",
              "id": "7613894746034308109",
              "nickname": "JustCindy",
              "secUid": "MS4wLjABAAAAnI9ulHJfHJ8Yj-FpmaO8wh4QJELHonBK2ck2t-CXtp17Ly_ehzv-MCGoouhQNbvj"
            },
            "durationSec": 7,
            "hashtags": [
              {
                "id": "10959",
                "name": "gorgeous"
              },
              {
                "id": "1620699584019462",
                "name": "emptynester"
              },
              {
                "id": "1631187004035077",
                "name": "hairtok"
              }
            ],
            "id": "7688569373887450398",
            "language": "en",
            "likes": 2,
            "posted": "2026-09-23T03:36:09Z",
            "saves": 0,
            "shares": 1,
            "sound": {
              "author": "Taylor Swift",
              "id": "6752003160799201281",
              "title": "Gorgeous"
            },
            "url": "https://www.tiktok.com/@justcindy59andholding/video/7688569373887450398",
            "views": 309
          },
          {
            "caption": "I know.  You want this recipe! ##emptynester #rice #homemade #yummy",
            "comments": 0,
            "creator": {
              "followers": 164,
              "handle": "justcindy59andholding",
              "id": "7613894746034308109",
              "nickname": "JustCindy",
              "secUid": "MS4wLjABAAAAnI9ulHJfHJ8Yj-FpmaO8wh4QJELHonBK2ck2t-CXtp17Ly_ehzv-MCGoouhQNbvj"
            },
            "durationSec": 23,
            "hashtags": [
              {
                "id": "1620699584019462",
                "name": "emptynester"
              },
              {
                "id": "28775",
                "name": "rice"
              },
              {
                "id": "120886",
                "name": "homemade"
              }
            ],
            "id": "7688565274487885087",
            "language": "en",
            "likes": 3,
            "posted": "2026-09-23T03:20:09Z",
            "saves": 0,
            "shares": 0,
            "sound": {
              "author": "Spandau Ballet",
              "id": "5000000001102939173",
              "title": "True"
            },
            "url": "https://www.tiktok.com/@justcindy59andholding/video/7688565274487885087",
            "views": 18
          }
        ],
        "url": "https://www.tiktok.com/tag/cindytest",
  …
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.hasMoreboolean
  • data.hashtagsarray
  • data.hashtags[].idstring
  • data.hashtags[].namestring
  • data.hashtags[].sampleVideosarray
  • data.hashtags[].sampleVideos[].captionstring
  • data.hashtags[].sampleVideos[].commentsinteger
  • data.hashtags[].sampleVideos[].creatorobject
  • data.hashtags[].sampleVideos[].durationSecinteger
  • data.hashtags[].sampleVideos[].hashtagsarray
  • data.hashtags[].sampleVideos[].idstring
  • data.hashtags[].sampleVideos[].languagestring
  • data.hashtags[].sampleVideos[].likesinteger
  • data.hashtags[].sampleVideos[].postedstring
  • data.hashtags[].sampleVideos[].savesinteger
  • data.hashtags[].sampleVideos[].sharesinteger
  • data.hashtags[].sampleVideos[].soundobject
  • data.hashtags[].sampleVideos[].urlstring
  • data.hashtags[].sampleVideos[].viewsinteger
  • data.hashtags[].urlstring
  • data.hashtags[].videosinteger
  • data.hashtags[].viewsinteger
  • data.nextstring
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (2)

GET/v1/feeds/explore

Videos from one Explore category

  • 1 credit per call
  • Paged

Parameters

  • category_idinteger

    method=explore: id from reference method=explore_categories.

  • limitinteger

    Results per page. for_you, discover max 30; explore, discover_hashtags max 20. Values above a method's maximum are lowered and reported in notes.

2 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video_feed tool with method: explore. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video_feed",
  "arguments": {
    "method": "explore",
    "category_id": 120,
    "limit": 3
  }
}

Request

curl "https://api.tokconnect.com/v1/feeds/explore?category_id=120&limit=3" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "explore_item_source": "ug_same_country",
    "hasMore": true,
    "videos": [
      {
        "caption": "(✨️life changing title✨️)#kitten #why #confetti #weirdshithappenstome #whyandhowthefuckisthisconfettiflying",
        "comments": 12600,
        "creator": {
          "followers": 4315,
          "handle": "ech0d0gg",
          "id": "7609364764213527573",
          "nickname": "🌀//-Ech0._.D0gg-//🏳️‍⚧️",
          "secUid": "MS4wLjABAAAAWvoibP5ag1boCZQKyWxN2IAWjXUi5JCEZsa97O_f8nTG-BXFORDu7j8QR60jpbxX"
        },
        "durationSec": 7,
        "hashtags": [
          {
            "id": "6845",
            "name": "kitten"
          },
          {
            "id": "7754",
            "name": "why"
          },
          {
            "id": "87899",
            "name": "confetti"
          }
        ],
        "id": "7699977998820281620",
        "language": "en",
        "likes": 1100000,
        "place": {
          "id": "42203860546907036",
          "name": "Behind You"
        },
        "posted": "2026-10-23T21:27:25Z",
        "saves": 82300,
        "shares": 57100,
        "sound": {
          "author": "Jacket2026",
          "id": "7673220508500052756",
          "original": true,
          "title": "оригинальный звук"
        },
        "url": "https://www.tiktok.com/@ech0d0gg/video/7699977998820281620",
        "views": 9100000
      },
      {
        "caption": "тгк: lybima411    шота у нас не получился этот тренд",
        "comments": 2185,
        "creator": {
          "followers": 38200,
          "handle": "onlyfrantsss",
          "id": "6704968772954801158",
          "nickname": "onlyfrants",
          "secUid": "MS4wLjABAAAAPi5HECJh2vsFAzNTPJQxJvG5LVNUpWi-Ba4RQtLmhpZNfIfrAtLSfxHYEbp_LQqR"
        },
        "durationSec": 7,
        "id": "7699537178774359317",
        "language": "ru",
        "likes": 689900,
        "posted": "2026-10-22T16:56:43Z",
        "saves": 29700,
        "shares": 11100,
        "sound": {
          "author": "jamal",
          "id": "7687759421904096013",
          "original": true,
          "title": "original sound"
        },
        "url": "https://www.tiktok.com/@onlyfrantsss/video/7699537178774359317",
        "views": 9200000
      },
      {
        "caption": "#fyp @Sextar",
        "comments": 34500,
        "creator": {
          "followers": 327600,
          "handle": "b4rbbbiee",
          "id": "6879235892633109505",
          "nickname": "Barbibu",
          "secUid": "MS4wLjABAAAAJ-o2JbN9PO4eb2oc_bGkfQFnM1yrwp22rshsTEKhm9AP0rw-yn_rS2EoF1mfH7dD"
        },
        "durationSec": 7,
        "hashtags": [
          {
            "id": "229207",
            "name": "fyp"
          }
        ],
        "id": "7699677067105144085",
        "language": "un",
        "likes": 7500000,
        "posted": "2026-10-23T01:59:36Z",
        "saves": 712800,
        "shares": 1100000,
        "sound": {
          "author": "‽",
          "id": "7521507656105151248",
          "original": true,
          "title": "original sound"
        },
        "url": "https://www.tiktok.com/@b4rbbbiee/video/7699677067105144085",
        "views": 41200000
      }
    ]
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.explore_item_sourcestring
  • data.hasMoreboolean
  • data.videosarray
  • data.videos[].captionstring
  • data.videos[].commentsinteger
  • data.videos[].creatorobject
  • data.videos[].creator.followersinteger
  • data.videos[].creator.handlestring
  • data.videos[].creator.idstring
  • data.videos[].creator.nicknamestring
  • data.videos[].creator.secUidstring
  • data.videos[].durationSecinteger
  • data.videos[].hashtagsarray
  • data.videos[].hashtags[].idstring
  • data.videos[].hashtags[].namestring
  • data.videos[].idstring
  • data.videos[].languagestring
  • data.videos[].likesinteger
  • data.videos[].placeobject
  • data.videos[].place.idstring
  • data.videos[].place.namestring
  • data.videos[].postedstring
  • data.videos[].savesinteger
  • data.videos[].sharesinteger
  • data.videos[].soundobject
  • data.videos[].sound.authorstring
  • data.videos[].sound.idstring
  • data.videos[].sound.originalboolean
  • data.videos[].sound.titlestring
  • data.videos[].urlstring
  • data.videos[].viewsinteger
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (2)

GET/v1/feeds/for-you

A page of the For You feed

  • 1 credit per call
  • Paged

Parameters

  • limitinteger

    Results per page. for_you, discover max 30; explore, discover_hashtags max 20. Values above a method's maximum are lowered and reported in notes.

2 more optional parameters
  • cursorstring

    Paging: pass the next value from the previous response unchanged. Omit on the first page.

  • detailstring

    compact (default) returns the useful fields; full adds the raw upstream payload (large).

    Defaultcompact   One ofcompactfull

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the video_feed tool with method: for_you. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "video_feed",
  "arguments": {
    "method": "for_you",
    "limit": 3
  }
}

Request

curl "https://api.tokconnect.com/v1/feeds/for-you?limit=3" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "hasMore": true,
    "home_model": 1,
    "log_info": {
      "impr_id": "20261030233320252DED3F3D4CA96C0082",
      "pull_type": "1"
    },
    "max_cursor": 7,
    "min_cursor": 0,
    "preload_ads": [],
    "preload_awemes": null,
    "refresh_clear": 1,
    "videos": [
      {
        "caption": "7",
        "comments": 1,
        "creator": {
          "handle": "joyreelsshort.ca",
          "id": "7639195000521786388",
          "nickname": "JoyReelsshort CA",
          "secUid": "MS4wLjABAAAAZl2od8WK6lFoTSzxEquguEIyb_eWjZe7JjzMS7s2juhEVkMwu7yYvcbcMXycxwZ0",
          "verified": true
        },
        "durationSec": 84.44,
        "id": "7700899193195449621",
        "language": "un",
        "likes": 330,
        "posted": "2026-10-26T13:02:30Z",
        "saves": 172,
        "shares": 13,
        "sound": {
          "author": "JoyReelsshort CA",
          "id": "7700899226716244757",
          "title": "suono originale - joyreelsshort.ca"
        },
        "url": "https://www.tiktok.com/@joyreelsshort.ca/video/7700899193195449621",
        "views": 58888
      },
      {
        "caption": "magari tornare a parigi",
        "comments": 1013,
        "creator": {
          "handle": "caterinamellusii",
          "id": "6696822421436253190",
          "nickname": "cate",
          "secUid": "MS4wLjABAAAAd0Bb-tLv2sD8KUA0H7yUo0Gnf2nYFOW63dPyWbng7gNGmZMj48yKBzBAgv2WR5Fp",
          "verified": true
        },
        "durationSec": 10.634,
        "id": "7683308873704394016",
        "language": "it",
        "likes": 191772,
        "posted": "2026-09-08T23:22:41Z",
        "saves": 14604,
        "shares": 6840,
        "sound": {
          "author": "SoundWaves",
          "id": "7600964198817893142",
          "title": "suono originale - soundwaves.it"
        },
        "url": "https://www.tiktok.com/@caterinamellusii/video/7683308873704394016",
        "views": 1066264
      },
      {
        "caption": "Il carico è arrivato 🚛🪵 Faggio stagionato, pronto da bruciare. Fai scorta prima del freddo 🔥 Consegna a Lecco e in Brianza 📲 WhatsApp 320 746 7020 #legnadaardere #lecco #camino #stufaalegna #inverno",
        "comments": 10,
        "creator": {
          "handle": "radasnc",
          "id": "7047523516694217734",
          "nickname": "Rada",
          "secUid": "MS4wLjABAAAAr51i3kp6Kzu7217gB3jsySH2jPNZZZXBxAmpsv4WEBGavzxuTO-QRfQczc2VBuGv",
          "verified": true
        },
        "durationSec": 19.318,
        "hashtags": [
          {
            "id": "1663053011916806",
            "name": "legnadaardere"
          },
          {
            "id": "27958339",
            "name": "lecco"
          },
          {
            "id": "24299",
            "name": "camino"
          }
        ],
        "id": "7690872488833584417",
        "language": "it",
        "likes": 135,
        "posted": "2026-09-29T08:33:19Z",
        "saves": 37,
        "shares": 110,
        "sound": {
          "author": "🎧",
          "id": "7478091635340626710",
          "title": "suono originale - lyrics.7670"
        },
        "url": "https://www.tiktok.com/@radasnc/video/7690872488833584417",
        "views": 4172
      }
    ]
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.hasMoreboolean
  • data.home_modelinteger
  • data.log_infoobject
  • data.log_info.impr_idstring
  • data.log_info.pull_typestring
  • data.max_cursorinteger
  • data.min_cursorinteger
  • data.preload_adsarray
  • data.preload_awemesnull
  • data.refresh_clearinteger
  • data.videosarray
  • data.videos[].captionstring
  • data.videos[].commentsinteger
  • data.videos[].creatorobject
  • data.videos[].creator.handlestring
  • data.videos[].creator.idstring
  • data.videos[].creator.nicknamestring
  • data.videos[].creator.secUidstring
  • data.videos[].creator.verifiedboolean
  • data.videos[].durationSecnumber
  • data.videos[].idstring
  • data.videos[].languagestring
  • data.videos[].likesinteger
  • data.videos[].postedstring
  • data.videos[].savesinteger
  • data.videos[].sharesinteger
  • data.videos[].soundobject
  • data.videos[].sound.authorstring
  • data.videos[].sound.idstring
  • data.videos[].sound.titlestring
  • data.videos[].urlstring
  • data.videos[].viewsinteger
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (2)

Comment giveaway draw

POST/v1/videos/{video}/giveaway

Comment giveaway draw

  • 1 credit per call

Parameters

  • videostringPathRequired

    Post id or full https://www.tiktok.com/@creator/video/<id> URL.

7 more optional parameters
  • detailstring

    full adds TikTok's raw payload (large).

    Defaultcompact   One ofcompactfull

  • exclude_creatorboolean

    Exclude comments by the video's creator.

    Defaulttrue

  • max_commentsinteger

    Comments to fetch, in pages of 50.

    Default300

  • must_includestring

    Optional text a comment must contain (case-insensitive), e.g. a hashtag or keyword.

  • seedstring

    Optional seed for a reproducible draw. Publish it so anyone can re-run the draw.

  • unique_usersboolean

    Count each commenter once (their earliest fetched comment).

    Defaulttrue

  • winnersinteger

    How many winners to draw.

    Default1

Use it in Claude or ChatGPT

Connect https://mcp.tokconnect.com/mcp and your AI calls this as the pick_comment_winners tool. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "pick_comment_winners",
  "arguments": {
    "id": "7691522530129022221"
  }
}

Request

curl -X POST "https://api.tokconnect.com/v1/videos/7691522530129022221/giveaway" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "awemeId": "7691522530129022221",
    "coverage": 0.95,
    "eligible": 16,
    "excluded": {
      "duplicateUser": 3
    },
    "fairness": "Only the 19 fetched top-level comments were eligible; replies, hidden, filtered or deleted comments are not included. TikTok returns comments in its own order, so on large videos the fetched set is TikTok's selection, not a random sample of all comments. TikTok reports 20 comments; 19 were fetched.",
    "fetched": 19,
    "pages": 1,
    "random": "crypto/rand (not reproducible; pass seed for a verifiable draw)",
    "rules": {
      "creatorHandle": "ingaterner",
      "excludeCreator": true,
      "maxComments": 300,
      "mustInclude": "",
      "uniqueUsers": true,
      "winners": 1
    },
    "seed": null,
    "totalReported": 20,
    "winners": [
      {
        "authorNickname": "R.",
        "authorUniqueId": "r9079756",
        "createTime": 1791056562,
        "diggCount": 0,
        "id": "7692529272121000725",
        "isAuthor": false,
        "text": "😳😳😳"
      }
    ]
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  }
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.awemeIdstring
  • data.coveragenumber
  • data.eligibleinteger
  • data.excludedobject
  • data.excluded.duplicateUserinteger
  • data.fairnessstring
  • data.fetchedinteger
  • data.pagesinteger
  • data.randomstring
  • data.rulesobject
  • data.rules.creatorHandlestring
  • data.rules.excludeCreatorboolean
  • data.rules.maxCommentsinteger
  • data.rules.mustIncludestring
  • data.rules.uniqueUsersboolean
  • data.rules.winnersinteger
  • data.seednull
  • data.totalReportedinteger
  • data.winnersarray
  • data.winners[].authorNicknamestring
  • data.winners[].authorUniqueIdstring
  • data.winners[].createTimeinteger
  • data.winners[].diggCountinteger
  • data.winners[].idstring
  • data.winners[].isAuthorboolean
  • data.winners[].textstring
  • metaobject
  • meta.credits_chargedinteger1 on success.
  • meta.credits_remainingintegerCredits left this period, when known.
  • meta.request_idstringQuote it to support.
  • next_cursorstringPresent when there is another page: pass it back as cursor.

Errors

  • 400
  • 401
  • 402
  • 403
  • 404
  • 429
  • 502
  • 503
Try it Live call, 1 credit
More parameters (7)