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
DevelopersAPIProducts
API reference

Products

Everything about one TikTok Shop product: live price and stock, sales, daily trend, the creators and videos selling it, and what reviews say. Plus the store as shoppers see it now.

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

One TikTok Shop product

Everything about one TikTok Shop product (id = product id or a Shop product link). Live from TikTok: page (price, SKUs and stock, rating, shop, and sold = TikTok's displayed lifetime units), reviews, related products, page videos. Shop Analytics, any market via region: sales, trend (daily), creators, video_sales, skus, analysis (highlights and attributes), conversion (creators promoting it and the share who sold), review_insights (complaints, praise, use cases; by_sku splits by variant). Examples: {"id":"1732052189676081387","method":"trend","window":"90d"}, {"ids":["1729...","1731..."],"method":"sales","region":"DE"}.

GET/v1/products/{id}

Live price, SKUs and stock, sold, rating, shop

  • 1 credit per call
  • 17 markets

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

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 product tool with method: page. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "page",
    "id": "1731896769144001226"
  }
}

Request

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

Response

Example response
{
  "data": {
    "categories": [
      "Beauty & Personal Care",
      "Makeup",
      "Lipstick & Lip Gloss"
    ],
    "currency": "USD",
    "delivery": "3-day delivery",
    "id": "1731896769144001226",
    "moreFromShop": [
      {
        "brand": "Truly Beauty",
        "currency": "USD",
        "id": "1729389462563361482",
        "price": 33,
        "rating": 4.4,
        "reviews": 9993,
        "sellerId": "7495153913553128138",
        "shop": "Truly Beauty",
        "sold": 81325,
        "title": "Glazed Donut Brightening Oil – Discoloration-Fighting Treatment – Brightens Dull, Uneven Skin with Vitamin E, Niacinamide & Hyaluronic Acid – Deeply Hydrates, Minimizes Ingrowns & Enhances Radiance on Legs, Underarms & Bikini Line – Vanilla Glaze Scent",
        "url": "https://shop.tiktok.com/us/pdp/after-shave-oil-by-truly-beauty-glazed-donut-hydrating-serum/1729389462563361482"
      },
      {
        "brand": "Truly Beauty",
        "currency": "USD",
        "id": "1729445990437982922",
        "price": 33,
        "rating": 4.5,
        "reviews": 16603,
        "sellerId": "7495153913553128138",
        "shop": "Truly Beauty",
        "sold": 150492,
        "title": "Soft Serve After Shave Oil – Soothes Razor Burn and Redness with Peptides & Hyaluronic Acid – Increases Collagen Production – Prevents Ingrowns and Brightens Uneven Skin Tone for Smoother Legs, Underarms & Pubic Area – Strawberry Vanilla Scent",
        "url": "https://shop.tiktok.com/us/pdp/after-shave-oil-by-truly-beauty-soft-serve-strawberry-vanilla-scent/1729445990437982922"
      },
      {
        "brand": "Truly Beauty",
        "currency": "USD",
        "discount": "10%",
        "id": "1729389546288747210",
        "originalPrice": 33,
        "price": 29.7,
        "rating": 4.3,
        "reviews": 9856,
        "sellerId": "7495153913553128138",
        "shop": "Truly Beauty",
        "sold": 105758,
        "title": "Jelly Booster Pigment Body Potion – Targeted Discoloration Treatment with Pomegranate & Vitamin B12 – Corrects Dark Spots, Hyperpigmentation & Acne Scars – Boosts Collagen and Renews Skin for a Smoother, Even Tone – Suitable for All Skin Types",
        "url": "https://shop.tiktok.com/us/pdp/jelly-booster-body-potion-by-pomegranate-targets-hyperpigmentation-boosts-collagen/1729389546288747210"
      }
    ],
    "price": 13.92,
    "rating": 4.5,
    "relatedProducts": [
      {
        "brand": "Truly Beauty",
        "currency": "USD",
        "discount": "52%",
        "id": "1731896769144001226",
        "originalPrice": 29,
        "price": 13.92,
        "rating": 4.5,
        "reviews": 14794,
        "sellerId": "7495153913553128138",
        "shop": "Truly Beauty",
        "sold": 153726,
        "title": "Hydrating Lip Gloss - High Shine & Tinted, Infused with Hyaluronic Acid, Jojoba Oil & Shea Butter",
        "url": "https://shop.tiktok.com/us/pdp/hydrating-lip-gloss-high-shine-tinted-hyaluronic-acid/1731896769144001226"
      },
      {
        "brand": "Colourpop Cosmetics LLC",
        "currency": "USD",
        "id": "1730162690572390449",
        "price": 12.99,
        "rating": 4.8,
        "reviews": 4092,
        "sellerId": "7495294719207180337",
        "shop": "ColourPop Cosmetics",
        "sold": 45759,
        "title": "ColourPop Fresh Kiss Glossy Balm - Peptides & Hyaluronic Acid",
        "url": "https://shop.tiktok.com/us/pdp/glossy-lip-balm-by-colourpop-fresh-kiss-with-peptides-hyaluronic-acid/1730162690572390449"
      },
      {
        "brand": "Laneige",
        "currency": "USD",
        "id": "1729424048269136205",
        "price": 24.7,
        "rating": 4.8,
        "reviews": 2000,
        "sellerId": "7495286718562273613",
        "shop": "Laneige US",
        "sold": 6367,
        "title": "Laneige Lip Glowy Balm, Hydrating and Glossy Tinted Lip Care with Shea Butter, Korean Skincare, Lightweight Moisturizer",
        "url": "https://shop.tiktok.com/us/pdp/lip-glowy-balm-by-laneige-us-moisture-rich-hydrating-treatment/1729424048269136205"
      }
    ],
    "reviews": 14794,
    "sellerId": "7495153913553128138",
    "shop": "Truly Beauty",
    "shopInfo": {
      "name": "Truly Beauty",
      "products": 49,
      "rating": 4.4,
      "sellerId": "7495153913553128138",
      "sold": 1786361
    },
    "skus": [
      {
        "id": "1731896802257769162",
        "inStock": true,
        "price": 13.92,
        "variant": "Soft Serve"
      },
      {
        "id": "1731896802257834698",
        "inStock": true,
        "price": 13.92,
        "variant": "Glazed Donut"
  …
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.categoriesarray
  • data.currencystring
  • data.deliverystring
  • data.idstring
  • data.moreFromShoparray
  • data.moreFromShop[].brandstring
  • data.moreFromShop[].currencystring
  • data.moreFromShop[].idstring
  • data.moreFromShop[].priceinteger
  • data.moreFromShop[].ratingnumber
  • data.moreFromShop[].reviewsinteger
  • data.moreFromShop[].sellerIdstring
  • data.moreFromShop[].shopstring
  • data.moreFromShop[].soldinteger
  • data.moreFromShop[].titlestring
  • data.moreFromShop[].urlstring
  • data.pricenumber
  • data.ratingnumber
  • data.relatedProductsarray
  • data.relatedProducts[].brandstring
  • data.relatedProducts[].currencystring
  • data.relatedProducts[].discountstring
  • data.relatedProducts[].idstring
  • data.relatedProducts[].originalPriceinteger
  • data.relatedProducts[].pricenumber
  • data.relatedProducts[].ratingnumber
  • data.relatedProducts[].reviewsinteger
  • data.relatedProducts[].sellerIdstring
  • data.relatedProducts[].shopstring
  • data.relatedProducts[].soldinteger
  • data.relatedProducts[].titlestring
  • data.relatedProducts[].urlstring
  • data.reviewsinteger
  • data.sellerIdstring
  • data.shopstring
  • data.shopInfoobject
  • data.shopInfo.namestring
  • data.shopInfo.productsinteger
  • data.shopInfo.ratingnumber
  • data.shopInfo.sellerIdstring
  • data.shopInfo.soldinteger
  • data.skusarray
  • data.skus[].idstring
  • data.skus[].inStockboolean
  • data.skus[].pricenumber
  • data.skus[].variantstring
  • data.soldinteger
  • data.titlestring
  • data.urlstring
  • data.videosarray
  • data.videos[].captionstring
  • data.videos[].creatorIdstring
  • data.videos[].creatorNamestring
  • data.videos[].durationSecnumber
  • data.videos[].earnsCommissionboolean
  • data.videos[].likesinteger
  • data.videos[].postedstring
  • data.videos[].videoIdstring
  • 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/products/{id}/analysis

Selling-point highlights and attributes the source extracts for the product

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

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

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. reviews max 5, related max 30, videos max 20; 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 product tool with method: analysis. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "analysis",
    "id": "1731896769144001226"
  }
}

Request

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

Response

Example response
{
  "data": {
    "analysis": {
      "attributes": [
        {
          "key": "Skin Type",
          "value": "All Skin Types"
        },
        {
          "key": "Region Of Origin",
          "value": "US"
        },
        {
          "key": "Product Form",
          "value": "Liquid"
        }
      ],
      "highlights": [
        {
          "key_word": "Lasting Hydration",
          "region_text": "Lasting Hydration: Lips stay soft, smooth, and quenched for hours."
        },
        {
          "key_word": "High-Shine Finish",
          "region_text": "High-Shine Finish: Glossy, light-catching lips that feel luxurious."
        },
        {
          "key_word": "Instant Relief",
          "region_text": "Instant Relief: Dry, chapped lips feel soothed from the first swipe."
        }
      ]
    },
    "dataEnd": "2026-10-28",
    "id": "1731896769144001226",
    "market": "US",
    "notes": [
      "Market US (United States)."
    ],
    "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.analysisobject
  • data.analysis.attributesarray
  • data.analysis.attributes[].keystring
  • data.analysis.attributes[].valuestring
  • data.analysis.highlightsarray
  • data.analysis.highlights[].key_wordstring
  • data.analysis.highlights[].region_textstring
  • 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/products/{id}/conversion

How many creators promote it and what share of them made sales

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

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

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. reviews max 5, related max 30, videos max 20; 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 product tool with method: conversion. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "conversion",
    "id": "1731896769144001226"
  }
}

Request

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

Response

Example response
{
  "data": {
    "conversion": {
      "creatorConversionRatio": 0.47589952477936187,
      "creatorNum": 1473
    },
    "creatorConversionPercent": 47.6,
    "creatorConversionRatio": 0.47589952477936187,
    "creators": 1473,
    "dataEnd": "2026-10-28",
    "id": "1731896769144001226",
    "market": "US",
    "notes": [
      "Market US (United States).",
      "creatorConversionRatio is the source's share of the creators promoting this product who made a sale in the window, as a fraction (0.59 means 59%)."
    ],
    "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.conversionobject
  • data.conversion.creatorConversionRationumber
  • data.conversion.creatorNuminteger
  • data.creatorConversionPercentnumber
  • data.creatorConversionRationumber
  • data.creatorsinteger
  • 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/products/{id}/creators

Creators selling it, ranked, with revenue

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

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

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. reviews max 5, related max 30, videos max 20; 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 product tool with method: creators. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "creators",
    "id": "1731896769144001226"
  }
}

Request

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

Response

Example response
{
  "data": {
    "count": 20,
    "currency": "USD",
    "dataEnd": "2026-10-28",
    "hasMore": true,
    "id": "1731896769144001226",
    "items": [
      {
        "followers": 23600,
        "handle": "therealsiahhh",
        "id": "6790832707742417925",
        "live_revenue": "$0.00",
        "nickname": "Shopping is my therapy",
        "revenue": "$58.12k",
        "sale": "7.27k",
        "video_revenue": "$58.12k"
      },
      {
        "followers": 19400,
        "handle": "xoxopeta",
        "id": "7384276485555094570",
        "live_revenue": "$0.00",
        "nickname": "Peta🎀",
        "revenue": "$37.02k",
        "sale": "4.63k",
        "video_revenue": "$37.02k"
      },
      {
        "followers": 17400,
        "handle": "swishybeauty",
        "id": "6672578604607685638",
        "live_revenue": "$0.00",
        "nickname": "swishybeauty",
        "revenue": "$36.01k",
        "sale": "4.5k",
        "video_revenue": "$36.01k"
      }
    ],
    "market": "US",
    "next": "eyJwYWdlIjoyLCJzaXplIjoyMH0",
    "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"
  },
  "next_cursor": "eyJwYWdlIjoyLCJzaXplIjoyMH0"
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.countinteger
  • data.currencystring
  • data.dataEndstring
  • data.hasMoreboolean
  • data.idstring
  • data.itemsarray
  • data.items[].followersinteger
  • data.items[].handlestring
  • data.items[].idstring
  • data.items[].live_revenuestring
  • data.items[].nicknamestring
  • data.items[].revenuestring
  • data.items[].salestring
  • data.items[].video_revenuestring
  • data.marketstring
  • data.nextstring
  • 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/products/{id}/review-insights

AI summary of reviews: pain points, praise, use cases (by_sku splits by variant)

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

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

8 more optional parameters
  • by_skuboolean

    method=review_insights: split insights by SKU.

    Defaultfalse

  • 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. reviews max 5, related max 30, videos max 20; 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 product tool with method: review_insights. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "review_insights",
    "id": "1731896769144001226"
  }
}

Request

curl "https://api.tokconnect.com/v1/products/1731896769144001226/review-insights" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "dataEnd": "2026-10-28",
    "id": "1731896769144001226",
    "insights": {
      "badRate": "11.0%",
      "commentSummary": "This lip gloss is praised for its hydrating, non-sticky texture, beautiful range of colors, high shine, and appealing packaging. Many users highlight its smooth application and lightweight feel. However, a significant number of customers are dissatisfied with the product quantity, noting that tubes …",
      "goodRate": "89.0%",
      "painPoints": [
        {
          "point": "Tube is half-empty or missing product",
          "quotes": [
            {
              "date": "2026/04/10",
              "rating": "1.0",
              "sku": "Coco Cloud",
              "text": "I don't know if it's air in the tube that prevents them from filling the tube but I feel like I got robbed! The tube is already small but its only filled half way. My lips did feel moisturized...they felt wet! 0 out of 10. I do NOT recommen..."
            },
            {
              "date": "2026/04/10",
              "rating": "1.0",
              "sku": "Soft Serve",
              "text": "I don't know if it's air in the tube that prevents them from filling the tube but I feel like I got robbed! The tube is already small but its only filled half way. My lips did feel moisturized...they felt wet! 0 out of 10! I do NOT recommen..."
            }
          ],
          "rate": "28.33%",
          "reviews": 17
        },
        {
          "point": "Short wear time / doesn't last",
          "quotes": [
            {
              "date": "2026/04/13",
              "rating": "5.0",
              "sku": "Coco Cloud",
              "text": "Goes on real cute but for some reason I have reapply often even though it's thick."
            },
            {
              "date": "2026/04/13",
              "rating": "5.0",
              "sku": "Vanilla Baby",
              "text": "Goes on real cute but for some reason I have reapply often even though it's thick."
            }
          ],
          "rate": "18.33%",
          "reviews": 11
        },
        {
          "point": "Product leaks or explodes upon opening",
          "quotes": [
            {
              "date": "2026/04/13",
              "rating": "1.0",
              "sku": "Coco Cloud",
              "text": "Lip gloss exploded the minute I opened it up. Lip gloss went everywhere. I will definitely not purchase again."
            },
            {
              "date": "2026/04/13",
              "rating": "1.0",
              "sku": "Glazed Donut",
              "text": "This literally exploded when I opened it. The lip gloss went everywhere. Will not purchase again. I ordered 4 and they all did this!"
            }
          ],
          "rate": "15.0%",
          "reviews": 9
        }
      ],
      "positivePoints": [
        {
          "point": "Very hydrating and moisturizing",
          "quotes": [
            {
              "date": "2026/04/10",
              "rating": "5.0",
              "sku": "Vanilla Baby",
              "text": "This gloss is amazing! It is so hydrating and makes my lips feel great. I want to get every one they have now."
            },
            {
              "date": "2026/04/11",
              "rating": "5.0",
              "sku": "Glazed Donut",
              "text": "This is my new favorite lip gloss. The color is sheer and beautiful, but the best is how it feels. It's not at all sticky and feels so hydrating. I'm ordering more."
            }
          ],
          "rate": "22.47%",
          "reviews": 20
        },
        {
          "point": "Not sticky",
          "quotes": [
            {
              "date": "2026/04/14",
              "rating": "5.0",
              "sku": "Coco Cloud",
              "text": "Great gloss. Very shiney and not sticky"
            },
            {
              "date": "2026/04/14",
              "rating": "5.0",
              "sku": "Coco Cloud",
              "text": "Love these! Not sticky at all"
            }
          ],
          "rate": "20.22%",
          "reviews": 18
        },
        {
          "point": "Beautiful color options",
          "quotes": [
            {
              "date": "2026/04/11",
              "rating": "5.0",
              "sku": "Soft Serve",
              "text": "Love this color!! Perfect for my work desk! So soft !"
            },
            {
              "date": "2026/04/11",
              "rating": "5.0",
              "sku": "Glazed Donut",
              "text": "Love this gloss and the color is gorgeous!"
  …
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.dataEndstring
  • data.idstring
  • data.insightsobject
  • data.insights.badRatestring
  • data.insights.commentSummarystring
  • data.insights.goodRatestring
  • data.insights.painPointsarray
  • data.insights.painPoints[].pointstring
  • data.insights.painPoints[].quotesarray
  • data.insights.painPoints[].ratestring
  • data.insights.painPoints[].reviewsinteger
  • data.insights.positivePointsarray
  • data.insights.positivePoints[].pointstring
  • data.insights.positivePoints[].quotesarray
  • data.insights.positivePoints[].ratestring
  • data.insights.positivePoints[].reviewsinteger
  • data.insights.productRatingnull
  • data.insights.skuNamesarray
  • data.insights.usageFrequencyarray
  • data.insights.usageFrequency[].pointstring
  • data.insights.usageFrequency[].quotesarray
  • data.insights.usageFrequency[].ratestring
  • data.insights.usageFrequency[].reviewsinteger
  • data.insights.usageLocationarray
  • data.insights.usageLocation[].pointstring
  • data.insights.usageLocation[].quotesarray
  • data.insights.usageLocation[].ratestring
  • data.insights.usageLocation[].reviewsinteger
  • data.insights.usageScenariosarray
  • data.insights.usageScenarios[].pointstring
  • data.insights.usageScenarios[].quotesarray
  • data.insights.usageScenarios[].ratestring
  • data.insights.usageScenarios[].reviewsinteger
  • 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 (8)

GET/v1/products/{id}/reviews

Public reviews

  • 1 credit per call
  • Paged
  • 17 markets

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

8 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

  • filterstring

    method=reviews: all (default), with_media or verified.

    One ofallwith_mediaverified

  • limitinteger

    Results per page. reviews max 5, related max 30, videos max 20; Shop Analytics methods max 100. Values above a method's maximum are lowered and reported in notes.

  • pageinteger

    method=reviews: jump to this page (1-100).

  • 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.

  • sortstring

    method=reviews: recommended (default) or newest.

    One ofrecommendednewest

  • starsstring

    method=reviews: star filter when filter=all.

    One ofall54321

Use it in Claude or ChatGPT

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

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "reviews",
    "id": "1731896769144001226"
  }
}

Request

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

Response

Example response
{
  "data": {
    "hasMore": true,
    "next": "eyJwYWdlX3N0YXJ0IjoyfQ",
    "page": "reviews",
    "reviews": [
      {
        "country": "US",
        "id": "7689521632322307854",
        "images": 4,
        "posted": "2026-09-25T17:11:15Z",
        "rating": 5,
        "reviewer": "T**s C**",
        "text": "The color pigment and texture is amazing.  My favorite New lipgloss to wear.   And keep in my purse to grab. Go get yours now!",
        "variant": "Vanilla Baby",
        "verifiedPurchase": true
      },
      {
        "country": "US",
        "id": "7689520290272118542",
        "images": 4,
        "posted": "2026-09-25T17:06:03Z",
        "rating": 5,
        "reviewer": "T**s C**",
        "text": "Shipping was FREE and FAST! The product and packaging was just as described so run don’t walk to purchase.  Already ordered my second batch of lipglosses.",
        "variant": "Glazed Donut",
        "verifiedPurchase": true
      },
      {
        "country": "US",
        "id": "7627673224491321102",
        "images": 4,
        "posted": "2026-04-12T01:08:26Z",
        "rating": 5,
        "reviewer": "J**8",
        "text": "They  both smell great . Coco cloud it Glades on smoothly. The shine is given rich glass . An number  It not sticky at all",
        "variant": "Coco Cloud",
        "verifiedPurchase": true
      }
    ],
    "source": "https://shop.tiktok.com/us/pdp/1731896769144001226",
    "totalReviews": 14794
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  },
  "next_cursor": "eyJwYWdlX3N0YXJ0IjoyfQ"
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.hasMoreboolean
  • data.nextstring
  • data.pagestring
  • data.reviewsarray
  • data.reviews[].countrystring
  • data.reviews[].idstring
  • data.reviews[].imagesinteger
  • data.reviews[].postedstring
  • data.reviews[].ratinginteger
  • data.reviews[].reviewerstring
  • data.reviews[].textstring
  • data.reviews[].variantstring
  • data.reviews[].verifiedPurchaseboolean
  • data.sourcestring
  • data.totalReviewsinteger
  • 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 (8)

GET/v1/products/{id}/sales

Revenue, units, video/LIVE/showcase split, creator count, conversion (ids: up to 20 products)

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

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

8 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).

  • idsarray of string

    method=sales only: up to 20 product ids in one call.

  • limitinteger

    Results per page. reviews max 5, related max 30, videos max 20; 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 product tool with method: sales. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "sales",
    "id": "1731896769144001226"
  }
}

Request

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

Response

Example response
{
  "data": {
    "creatorConversion": {
      "creatorConversionRatio": 0.47589952477936187,
      "creatorNum": 1473
    },
    "currency": "USD",
    "dataEnd": "2026-10-28",
    "id": "1731896769144001226",
    "market": "US",
    "notes": [
      "Market US (United States): amounts are in USD.",
      "Part of this answer is missing because the data source did not answer: the Shop Analytics data source could not answer this request"
    ],
    "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": {
      "creatorConversionRatio": 0.47589952477936187,
      "day_live_revenue": "$185.43",
      "day_revenue": "$10.19k",
      "day_sale": "1.27k",
      "day_shopping_mall_revenue": "$4.00",
      "day_video_revenue": "$10.00k",
      "live_revenue": "$5.19k",
      "original_live_revenue": 5192,
      "original_revenue": 285280,
      "original_shopping_mall_revenue": 112,
      "original_video_revenue": 279976,
      "related_creator_count": 702,
      "revenue": "$285.28k",
      "sale": "35.66k",
      "shopping_mall_revenue": "$112.00",
      "unit_price": "$8.00",
      "video_revenue": "$279.98k"
    },
    "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.creatorConversionobject
  • data.creatorConversion.creatorConversionRationumber
  • data.creatorConversion.creatorNuminteger
  • data.currencystring
  • data.dataEndstring
  • data.idstring
  • data.marketstring
  • data.notesarray
  • data.sourcestring
  • data.totalsobject
  • data.totals.creatorConversionRationumber
  • data.totals.day_live_revenuestring
  • data.totals.day_revenuestring
  • data.totals.day_salestring
  • data.totals.day_shopping_mall_revenuestring
  • data.totals.day_video_revenuestring
  • data.totals.live_revenuestring
  • data.totals.original_live_revenueinteger
  • data.totals.original_revenueinteger
  • data.totals.original_shopping_mall_revenueinteger
  • data.totals.original_video_revenueinteger
  • data.totals.related_creator_countinteger
  • data.totals.revenuestring
  • data.totals.salestring
  • data.totals.shopping_mall_revenuestring
  • data.totals.unit_pricestring
  • data.totals.video_revenuestring
  • 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 (8)

GET/v1/products/{id}/skus

Sales by variant (SKU)

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

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

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. reviews max 5, related max 30, videos max 20; 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 product tool with method: skus. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "skus",
    "id": "1731896769144001226"
  }
}

Request

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

Response

Example response
{
  "data": {
    "currency": "USD",
    "dataEnd": "2026-10-28",
    "id": "1731896769144001226",
    "market": "US",
    "notes": [
      "Market US (United States): amounts are in USD."
    ],
    "skus": {
      "skus": [
        {
          "price_val": "$13.92",
          "sales_proportion": 0.3527,
          "sku_id": "1731896802257769162",
          "sku_name": "Shade:Soft Serve",
          "stock": 29142,
          "stock_share_proportion": 0.5678
        },
        {
          "price_val": "$13.92",
          "sales_proportion": 0.2488,
          "sku_id": "1731896802257834698",
          "sku_name": "Shade:Glazed Donut",
          "stock": 926,
          "stock_share_proportion": 0.018
        },
        {
          "price_val": "$13.92",
          "sales_proportion": 0.2156,
          "sku_id": "1731896802257900234",
          "sku_name": "Shade:Vanilla Baby",
          "stock": 20765,
          "stock_share_proportion": 0.4046
        }
      ],
      "updated_at": "2026-09-24"
    },
    "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.skusobject
  • data.skus.skusarray
  • data.skus.skus[].price_valstring
  • data.skus.skus[].sales_proportionnumber
  • data.skus.skus[].sku_idstring
  • data.skus.skus[].sku_namestring
  • data.skus.skus[].stockinteger
  • data.skus.skus[].stock_share_proportionnumber
  • data.skus.updated_atstring
  • 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/products/{id}/trend

Daily revenue and units (up to ~13 months)

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

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

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. reviews max 5, related max 30, videos max 20; 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 product tool with method: trend. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "trend",
    "id": "1731896769144001226"
  }
}

Request

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

Response

Example response
{
  "data": {
    "coverage": {
      "days": 30,
      "daysWithSales": 28,
      "firstDayWithSales": "2026-09-29"
    },
    "currency": "USD",
    "dataEnd": "2026-10-28",
    "id": "1731896769144001226",
    "market": "US",
    "notes": [
      "Market US (United States): amounts are in USD."
    ],
    "series": [
      {
        "creatorConversionRatio": 0.2676923076923077,
        "live_revenue": 120,
        "partition_day": "2026-09-29",
        "revenue": 4760,
        "sale": 595,
        "unit_price": 8,
        "video_revenue": 4640
      },
      {
        "creatorConversionRatio": 0,
        "live_revenue": 0,
        "partition_day": "2026-09-30",
        "revenue": 0,
        "sale": 0,
        "unit_price": 8,
        "video_revenue": 0
      },
      {
        "creatorConversionRatio": 0,
        "live_revenue": 0,
        "partition_day": "2026-10-01",
        "revenue": 0,
        "sale": 0,
        "unit_price": 8,
        "video_revenue": 0
      }
    ],
    "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": {
      "revenue": 285280,
      "units": 35660
    },
    "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.coverageobject
  • data.coverage.daysinteger
  • data.coverage.daysWithSalesinteger
  • data.coverage.firstDayWithSalesstring
  • data.currencystring
  • data.dataEndstring
  • data.idstring
  • data.marketstring
  • data.notesarray
  • data.seriesarray
  • data.series[].creatorConversionRationumber
  • data.series[].live_revenueinteger
  • data.series[].partition_daystring
  • data.series[].revenueinteger
  • data.series[].saleinteger
  • data.series[].unit_priceinteger
  • data.series[].video_revenueinteger
  • data.sourcestring
  • data.totalsobject
  • data.totals.revenueinteger
  • data.totals.unitsinteger
  • 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/products/{id}/video-sales

Videos selling it, with revenue

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

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

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. reviews max 5, related max 30, videos max 20; 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 product tool with method: video_sales. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "video_sales",
    "id": "1731896769144001226"
  }
}

Request

curl "https://api.tokconnect.com/v1/products/1731896769144001226/video-sales" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "count": 20,
    "currency": "USD",
    "dataEnd": "2026-10-28",
    "hasMore": true,
    "id": "1731896769144001226",
    "items": [
      {
        "ad": 1,
        "ads": 1,
        "ai_video": 0,
        "content_type": "video",
        "create_time": "2026/09/29 17:49:11",
        "description": "Obsessed with this #lipgloss #drylips #lipcombo ",
        "duration": "37s",
        "id": "7691077500054637838",
        "original_duration": 37.867,
        "revenue": "$24.90k",
        "sale": "3.11k",
        "views": "3.42m"
      },
      {
        "ad": 1,
        "ads": 1,
        "ai_video": 0,
        "content_type": "video",
        "create_time": "2026/09/21 22:58:40",
        "description": "Now this is how you do a high shine gloss!😍🤏🏽🫦✨#trulylipgloss #trulybeauty #lipgloss #tiktokshopstockup ",
        "duration": "42s",
        "id": "7688188610041957662",
        "original_duration": 42.9,
        "revenue": "$23.14k",
        "sale": "2.89k",
        "views": "3.3m"
      },
      {
        "ad": 1,
        "ads": 1,
        "ai_video": 0,
        "content_type": "video",
        "create_time": "2026/09/28 22:42:36",
        "description": "",
        "duration": "41s",
        "id": "7690782072524393759",
        "original_duration": 41.145,
        "revenue": "$20.91k",
        "sale": "2.61k",
        "views": "3.3m"
      }
    ],
    "market": "US",
    "next": "eyJwYWdlIjoyLCJzaXplIjoyMH0",
    "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"
  },
  "next_cursor": "eyJwYWdlIjoyLCJzaXplIjoyMH0"
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.countinteger
  • data.currencystring
  • data.dataEndstring
  • data.hasMoreboolean
  • data.idstring
  • data.itemsarray
  • data.items[].adinteger
  • data.items[].adsinteger
  • data.items[].ai_videointeger
  • data.items[].content_typestring
  • data.items[].create_timestring
  • data.items[].descriptionstring
  • data.items[].durationstring
  • data.items[].idstring
  • data.items[].original_durationnumber
  • data.items[].revenuestring
  • data.items[].salestring
  • data.items[].viewsstring
  • data.marketstring
  • data.nextstring
  • 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/products/{id}/videos

The videos on the product page (first page only)

  • 1 credit per call
  • Shop Analytics
  • Paged

Parameters

  • idstringPathRequired

    Product id (products[].id) or a TikTok Shop product link.

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. reviews max 5, related max 30, videos max 20; 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 product tool with method: videos. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "product",
  "arguments": {
    "method": "videos",
    "id": "1731896769144001226"
  }
}

Request

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

Response

Example response
{
  "data": {
    "hasMore": false,
    "page": "product_videos",
    "source": "pdp",
    "videos": [
      {
        "caption": "The definition of a high shine gloss!😍🤏🏽🫦#trulylipgloss #trulybeauty #tiktokshopstockup #tiktokshopcreatorpicks #tiktokshopmothersday",
        "creatorId": "7384276485555094570",
        "creatorName": "Peta🎀",
        "durationSec": 32.2,
        "earnsCommission": true,
        "likes": 72013,
        "posted": "2026-04-30T04:39:25Z",
        "videoId": "7634407159618489630",
        "views": 6015574
      },
      {
        "caption": "shade: soft serve 🎀🍦 extra hydration with hyaluronic acid! 💦 @Truly Beauty #hyaluronicacid #lipgloss #lipcare #lipessentials #lippies",
        "creatorId": "6807303228855305221",
        "creatorName": "leah ♡",
        "durationSec": 16.973,
        "earnsCommission": true,
        "likes": 66363,
        "posted": "2025-12-14T08:40:54Z",
        "videoId": "7583630601534672158",
        "views": 2922982
      },
      {
        "caption": "Trulys LIP GLOSS 💋✨ I need every single shade #tiktokshopcreatorpicks #tiktokshopmemorialday #ttsverticalpro #trulybeauty #lipgloss @Truly Beauty",
        "creatorId": "6813360351690949637",
        "creatorName": "ChavonSade🦋",
        "durationSec": 18.134,
        "earnsCommission": true,
        "likes": 69809,
        "posted": "2026-05-11T17:30:44Z",
        "videoId": "7638687816909671694",
        "views": 5151748
      }
    ]
  },
  "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.pagestring
  • data.sourcestring
  • data.videosarray
  • data.videos[].captionstring
  • data.videos[].creatorIdstring
  • data.videos[].creatorNamestring
  • data.videos[].durationSecnumber
  • data.videos[].earnsCommissionboolean
  • data.videos[].likesinteger
  • data.videos[].postedstring
  • data.videos[].videoIdstring
  • 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 (3)

Browse TikTok Shop now

What a shopper sees on TikTok Shop (US store) right now: search results, keyword and category pages, deals and flash sales. Returns price, discount, displayed units sold, rating and shop. Displayed sold counts are lifetime and broad single-word searches can return only a short fallback list, so this is not a sales ranking: use product_top_selling for best sellers. Example: {"keyword":"lip oil","sort":"best_sellers"}.

GET/v1/storefront/category-page

A category page (category_id + slug)

  • 1 credit per call
  • 17 markets

Parameters

  • category_idstring

    method=category_page: category id from relatedCategories.

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

  • slugstring

    method=keyword_page: slug from relatedSearches (e.g. lip-oils); method=category_page: category slug.

Use it in Claude or ChatGPT

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

MCP tool call
{
  "tool": "shop_browse",
  "arguments": {
    "method": "category_page",
    "category_id": "601450"
  }
}

Request

curl "https://api.tokconnect.com/v1/storefront/category-page?category_id=601450" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "category": {
      "id": "601450",
      "name": "Beauty & Personal Care",
      "slug": "c"
    },
    "component_names": [
      "user_info",
      "page_header",
      "bread_crumbs"
    ],
    "hasMore": true,
    "page": "category",
    "products": [
      {
        "brand": "Gurunanda",
        "currency": "USD",
        "id": "1729388303591248135",
        "price": 19.49,
        "rating": 4.4,
        "reviews": 97948,
        "sellerId": "7495134783373216007",
        "shop": "GuruNanda LLC",
        "sold": 1536366,
        "title": "GuruNanda Whitening Strips, 7-day treatment (7 Packets - 2 Strips per pack) - Non-Slip, Dry Strip Technology",
        "url": "https://shop.tiktok.com/us/pdp/whitening-strips-by-gurunanda-for-sensitive-teeth-7-day-treatment-kit/1729388303591248135"
      },
      {
        "brand": "Mad Rabbit",
        "currency": "USD",
        "id": "1729386349123571788",
        "price": 26,
        "rating": 4.5,
        "reviews": 1145,
        "sellerId": "7495157675807574092",
        "shop": "Mad Rabbit",
        "sold": 9929,
        "title": "Mad Rabbit Tattoo Balm & Aftercare Cream- Color Enhancement that Revives Old Tattoos, Hydrates New Tattoos, Made With Clean Ingredients + Petroleum Free, Daily Tattoo Lotion Moisturizer & Brightener",
        "url": "https://shop.tiktok.com/us/pdp/tattoo-balm-by-mad-rabbit-clean-vegan-aftercare-for-new-old-tattoos/1729386349123571788"
      },
      {
        "brand": "tarte",
        "currency": "USD",
        "discount": "50%",
        "id": "1729417067781002172",
        "originalPrice": 93.6,
        "price": 46.8,
        "rating": 4.5,
        "reviews": 13033,
        "sellerId": "7495150597721263036",
        "shop": "Tarte Cosmetics",
        "sold": 228876,
        "title": "tarte sculpt tape & blush tape duo - blush and bronzer",
        "url": "https://shop.tiktok.com/us/pdp/sculpt-tape-blush-tape-duo-by-tarte-cosmetics-for-defined-cheeks/1729417067781002172"
      }
    ],
    "source": "https://shop.tiktok.com/us/c/c/601450"
  },
  "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.categoryobject
  • data.category.idstring
  • data.category.namestring
  • data.category.slugstring
  • data.component_namesarray
  • data.hasMoreboolean
  • data.pagestring
  • data.productsarray
  • data.products[].brandstring
  • data.products[].currencystring
  • data.products[].idstring
  • data.products[].pricenumber
  • data.products[].ratingnumber
  • data.products[].reviewsinteger
  • data.products[].sellerIdstring
  • data.products[].shopstring
  • data.products[].soldinteger
  • data.products[].titlestring
  • data.products[].urlstring
  • 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 (3)

GET/v1/storefront/deals

The deals feed

  • 1 credit per call

Parameters

  • 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 shop_browse tool with method: deals. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "shop_browse",
  "arguments": {
    "method": "deals"
  }
}

Request

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

Response

Example response
{
  "data": {
    "component_names": [
      "user_info",
      "page_header",
      "bread_crumbs"
    ],
    "hasMore": true,
    "next": "eyJjdXJzb3IiOjQxfQ",
    "page": "deals",
    "path": "deals/recommended-for-you",
    "products": [
      {
        "brand": "ZUY",
        "currency": "USD",
        "discount": "33%",
        "id": "1732013337089577703",
        "originalPrice": 35.99,
        "price": 23.99,
        "rating": 4.7,
        "reviews": 5520,
        "sellerId": "7496301427006606055",
        "shop": "ZUY US",
        "sold": 42272,
        "title": "Unisex Zip Up Jackets Vintage Washed Coat Streetwear Hoodies Unisex Soft Material Casual Fashion Essential Tops for Men Day Womenswear",
        "url": "https://shop.tiktok.com/us/pdp/vintage-washed-zip-up-jacket-unisex-soft-material-casual-style/1732013337089577703"
      },
      {
        "brand": "Whyte",
        "currency": "USD",
        "discount": "51%",
        "id": "1731573006366183970",
        "originalPrice": 42.99,
        "price": 20.88,
        "rating": 3.6,
        "reviews": 855,
        "sellerId": "7495999835031243298",
        "shop": "WHYTE",
        "sold": 20445,
        "title": "Whyte Purple Teeth Whitening Powder, Nano Hydroxyapate, PAP+, Xylitol. Sulfate Free Formula - Mint Flavor",
        "url": "https://shop.tiktok.com/us/pdp/purple-teeth-whitening-powder-brighter-smile-today/1731573006366183970"
      },
      {
        "brand": "TIRTIR",
        "currency": "USD",
        "discount": "27%",
        "id": "1732154203314098778",
        "originalPrice": 30,
        "price": 21.83,
        "rating": 4.6,
        "reviews": 1887,
        "sellerId": "7495857443730262618",
        "shop": "TIRTIR Inc.",
        "sold": 16270,
        "title": "[TIRTIR Official] Seal the Deal Long-Wear Makeup Finishing Mist Setㅣ Mask Fit Waterproof Setting Spray 80ml & Mask Fit Makeup Fixer 80ml",
        "url": "https://shop.tiktok.com/us/pdp/tirtir-official-long-wear-makeup-finishing-mist-set-80ml/1732154203314098778"
      }
    ],
    "source": "https://shop.tiktok.com/us/deals/recommended-for-you"
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  },
  "next_cursor": "eyJjdXJzb3IiOjQxfQ"
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.component_namesarray
  • data.hasMoreboolean
  • data.nextstring
  • data.pagestring
  • data.pathstring
  • data.productsarray
  • data.products[].brandstring
  • data.products[].currencystring
  • data.products[].discountstring
  • data.products[].idstring
  • data.products[].originalPricenumber
  • data.products[].pricenumber
  • data.products[].ratingnumber
  • data.products[].reviewsinteger
  • data.products[].sellerIdstring
  • data.products[].shopstring
  • data.products[].soldinteger
  • data.products[].titlestring
  • data.products[].urlstring
  • 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/storefront/flash-sales

Flash sales

  • 1 credit per call

Parameters

  • 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 shop_browse tool with method: flash_sales. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "shop_browse",
  "arguments": {
    "method": "flash_sales"
  }
}

Request

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

Response

Example response
{
  "data": {
    "component_names": [
      "user_info",
      "page_header",
      "bread_crumbs"
    ],
    "hasMore": true,
    "next": "eyJleGNsdWRlX3Byb2R1Y3RfaWRzIjpbIjE3MzI1Mzg2OTk2ODMwNDEzMTUiLCIxNzMyNTY2NTY1MDA3ODIzNjIyIiwiMTczMTc0MjU5OTU4NDE5MDg4NSIsIjE3MzIyNDQyODk3MDU5MDY3NTEiLCIxNzMxOTc3OTgwNzkzOTUwODE1IiwiMTcyOTc2ODYxMDIxMDA5MTc3MiIsIjE3MzE2NzYzMTU2MDYyOTA4NDkiLCIxNzI5NTk0MjQ2OTQ3NjM5NTc4IiwiMTcyOTQwNjc2NjE3MDAxODc2MiIsIjE3…",
    "page": "flash_sales",
    "path": "deals/flash-sales",
    "products": [
      {
        "brand": "Aoqta",
        "currency": "USD",
        "discount": "37%",
        "id": "1732538699683041315",
        "originalPrice": 29.96,
        "price": 19.01,
        "rating": 4.6,
        "reviews": 20,
        "sellerId": "7496222237926983715",
        "shop": "Aoqta",
        "sold": 239,
        "title": "Aoqta Women’s 2-Piece Yoga Athletic Sportswear Set - Square Neck Long Sleeve Top, High Waist Butt Lifting Flared Pants, Machine Washable Workout Sets Women for Gym,sohochic",
        "url": "https://shop.tiktok.com/us/pdp/aoqta-womens-2-piece-quick-dry-gym-set-yoga-dance-wear/1732538699683041315"
      },
      {
        "brand": "MAGIC JOHN",
        "currency": "USD",
        "discount": "50%",
        "id": "1732566565007823622",
        "originalPrice": 11.96,
        "price": 5.98,
        "rating": 4.5,
        "reviews": 234,
        "sellerId": "7495468182119418630",
        "shop": "MAGIC JOHN",
        "sold": 5545,
        "title": "MAGIC JOHN MagicView Ultra-Slim Scratch Resistant Privacy/HD Glass Screen Protector for iPhone 18/17/16/15 Series, 2-Pack Phone Accessories, 0.33mm, No Black Border, Auto Dust Removal, Easy Installation, Case-Friendly, Anti-Peek Privacy Screen Protector,",
        "url": "https://shop.tiktok.com/us/pdp/magic-john-screen-protector-for-iphone-17-16-15-2-pack-0-33mm/1732566565007823622"
      },
      {
        "brand": "YCZ",
        "currency": "USD",
        "discount": "50%",
        "id": "1731742599584190885",
        "originalPrice": 53.88,
        "price": 26.99,
        "rating": 4.7,
        "reviews": 1230,
        "sellerId": "7495623134499408293",
        "shop": "Y CZ",
        "sold": 8155,
        "title": "[YCZ] Men's Midnight Marine EDP Cologne, 2×50mL/1.7oz Aquatic Marine & Citrus Woody Perfume for Adults, Captivating Scent, Long-Lasting Luxurious Fragrance for Dates & Summer Use,familyfun",
        "url": "https://shop.tiktok.com/us/pdp/2-pack-unisex-eau-de-parfum-100ml-ocean-fresh-scent/1731742599584190885"
      }
    ],
    "source": "https://shop.tiktok.com/us/deals/flash-sales"
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  },
  "next_cursor": "eyJleGNsdWRlX3Byb2R1Y3RfaWRzIjpbIjE3MzI1Mzg2OTk2ODMwNDEzMTUiLCIxNzMyNTY2NTY1MDA3ODIzNjIyIiwiMTczMTc0MjU5OTU4NDE5MDg4NSIsIjE3MzIyNDQyODk3MDU5MDY3NTEiLCIxNzMxOTc3OTgwNzkzOTUwODE1IiwiMTcyOTc2ODYxMDIxMDA5MTc3MiIsIjE3MzE2NzYzMTU2MDYyOTA4NDkiLCIxNzI5NTk0MjQ2OTQ3NjM5NTc4IiwiMTcyOTQwNjc2NjE3MDAxODc2MiIsIjE3Mjk0NTI1MjQyMDEzNDk1NDQiLCIxNzMwMzAxODgyNTE1MTAwNTk4IiwiMTczMjE1MjA5MzY3MzQ5MzQyOSIsIjE3MzIxNTg1MDkxMzk0NjQ0NTIiLCIxNzI5NDgzMTcyNTEwMTQ0MTgyIiwiMTczMTI2NDYyOTM2NDc4OTMzNiIsIjE3Mjk2NzE4NDY2Mjg3MjUxNTciLCIxNzMxMzk3NTAwNjU0MzU4NjI3IiwiMTczMDM4MTExNDAyMjg1ODk2OSIsIjE3Mjk0MjA0NTE4NDY3MjI0NDIiLCIxNzI5NzEyMDIyMDYwODMwNzgyIiwiMTczMjU3NjQyMDY3Mzc4NjcxNiIsIjE3MzEyMjU2OTQ3NjY4NjI1MzIiLCIxNzMyMzA2ODIzODE4OTQwODMzIiwiMTczMTc0OTg3MjUxNzYxNjM4MCIsIjE3MzI0MjQxMTI0NDIxNTEyNDkiLCIxNzI5NzQ3NTA4Mzk0OTU1MjE0IiwiMTczMDU1NTY4Mzk1Mjg5MDYxNyIsIjE3MzIxMzY1MzY3Mzk1MTcwMDMiLCIxNzI5NDQ4MzIwNDgyNTEzNDUwIiwiMTczMjIyMjY2MjEyOTQ1NTM2MCIsIjE3MzIwOTQwNjQ4Mzk1MjkxOTEiLCIxNzMyMzY4NDk2MDgzOTY0NjU3IiwiMTczMjI4OTU5MzgxOTEwNzU2NCIsIjE3Mjk3MzUzNDY4NTcxNTI4MjMiLCIxNzMyNDAyMjIxMjA3NDI1ODE4IiwiMTczMjM2NTQ0MjEzMjg0MDUyNSIsIjE3MzI0NDM0MTg4NTE2NDMzOTkiLCIxNzMyMDc2Mzk0NjY4NjU5NDI0IiwiMTcyOTQwNjk2MzYwODAzMjIzNyIsIjE3MzE2MDUxMDYxNjAyNzYxMTAiLCIxNzI5NDc2Mzk0MTgxMDM5MjY0IiwiMTcyOTYyNzUyMzkzNTA4MDYwMyIsIjE3Mjk0ODg3NTgzMzUzNzkyMDgiLCIxNzMyMjgzOTkyMjA1MjY3Mzc3IiwiMTcyOTQ4ODY5NjkyMDkzODI0OCJdLCJvZmZzZXQiOjQ1fQ"
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.component_namesarray
  • data.hasMoreboolean
  • data.nextstring
  • data.pagestring
  • data.pathstring
  • data.productsarray
  • data.products[].brandstring
  • data.products[].currencystring
  • data.products[].discountstring
  • data.products[].idstring
  • data.products[].originalPricenumber
  • data.products[].pricenumber
  • data.products[].ratingnumber
  • data.products[].reviewsinteger
  • data.products[].sellerIdstring
  • data.products[].shopstring
  • data.products[].soldinteger
  • data.products[].titlestring
  • data.products[].urlstring
  • 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/storefront/keyword-page

An SEO keyword page (slug)

  • 1 credit per call
  • 17 markets

Parameters

  • slugstring

    method=keyword_page: slug from relatedSearches (e.g. lip-oils); method=category_page: category slug.

3 more optional parameters
  • detailstring

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

    Defaultcompact   One ofcompactfull

  • filtersarray of string

    method=search or keyword_page: TikTok filter ids from a previous response's filters, e.g. ecom_rating_stat|RATING_4.

  • 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 shop_browse tool with method: keyword_page. Same data, same credit. MCP setup

MCP tool call
{
  "tool": "shop_browse",
  "arguments": {
    "method": "keyword_page",
    "slug": "lip-oil"
  }
}

Request

curl "https://api.tokconnect.com/v1/storefront/keyword-page?slug=lip-oil" \
  -H "X-API-Key: $TOKCONNECT_API_KEY"

Response

Example response
{
  "data": {
    "hasMore": true,
    "next": "eyJvZmZzZXQiOjMwfQ",
    "page": "keyword",
    "products": [
      {
        "currency": "USD",
        "discount": "53%",
        "id": "1729500724221286212",
        "originalPrice": 14.99,
        "price": 6.99,
        "rating": 4.7,
        "reviews": 490,
        "sellerId": "7496260439930211140",
        "shop": "PureGlam Lab",
        "sold": 2044,
        "title": "Women's 2-Pcs Natural Lip Care Gift Set - Moisturizing Balm, Lip Oil, Glossy Lipgloss, Gentle Conditioner, Bottle Packaging | Daily Softening | Back-to-School Gift for Personal Use",
        "url": "https://shop.tiktok.com/us/pdp/2-piece-3-in-1-lip-care-set-hydrating-lip-balm-gloss/1729500724221286212"
      },
      {
        "brand": "NOONI",
        "currency": "USD",
        "id": "1729440860171702516",
        "price": 15,
        "rating": 4.3,
        "reviews": 35969,
        "sellerId": "7495586169586223348",
        "shop": "NOONI",
        "sold": 346768,
        "title": "Nooni Korean Apple Lip Oil + Lip Stain | Glossy Lip Stain, Tinting & Long Lasting, Moisturizing Lip Care (17 options) Hydrate Lipgloss Lipstick Makeup Glossy Hydrating Moisturizer Plump Transfer-proof",
        "url": "https://shop.tiktok.com/us/pdp/apple-lip-oil-by-nooni-moisturizing-tint-softening-care-3-7ml/1729440860171702516"
      },
      {
        "currency": "USD",
        "discount": "38%",
        "id": "1732388535932916327",
        "originalPrice": 20.99,
        "price": 12.99,
        "rating": 4.8,
        "reviews": 32,
        "sellerId": "7494591973747295847",
        "shop": "Kore Mart US",
        "sold": 119,
        "title": "[BUY 3 GET 3 FREE] 6-Count Lip Oil & Lipgloss Cosmetic Gift Set - Affordable Lip Care Treatment, Hydrates, Moisturizes, Smooths Skin, Anti-Wrinkle, Student-Friendly Beauty Item",
        "url": "https://shop.tiktok.com/us/pdp/moisturizing-clear-lip-gloss-set-6-count-student-friendly/1732388535932916327"
      }
    ],
    "relatedCategories": [
      {
        "id": "601595",
        "name": "Lip Treatments",
        "slug": "lip-treatments"
      },
      {
        "id": "601534",
        "name": "Lipstick & Lip Gloss",
        "slug": "lipstick-lip-gloss"
      },
      {
        "id": "601529",
        "name": "Makeup Sets",
        "slug": "makeup-sets"
      }
    ],
    "relatedSearches": [
      {
        "name": "Lip Therapy",
        "slug": "lip-therapy"
      },
      {
        "name": "oil lipstick",
        "slug": "oil-lipstick"
      },
      {
        "name": "Lip lingerie",
        "slug": "lip-lingerie"
      }
    ],
    "shops": [
      {
        "name": "NOONI",
        "sellerId": "7495586169586223348"
      },
      {
        "name": "e.l.f. Cosmetics",
        "sellerId": "7494913857786775843"
      },
      {
        "name": "COVERGIRL",
        "sellerId": "7496133101336103678"
      }
    ],
    "source": "https://shop.tiktok.com/us/k/lip-oil"
  },
  "meta": {
    "credits_charged": 1,
    "credits_remaining": 7906,
    "request_id": "req_3f9c2a1b7d4e"
  },
  "next_cursor": "eyJvZmZzZXQiOjMwfQ"
}
Response fields
  • dataobjectThe tool's result. Compact by default; pass detail=full for the complete record.
  • data.hasMoreboolean
  • data.nextstring
  • data.pagestring
  • data.productsarray
  • data.products[].currencystring
  • data.products[].discountstring
  • data.products[].idstring
  • data.products[].originalPricenumber
  • data.products[].pricenumber
  • data.products[].ratingnumber
  • data.products[].reviewsinteger
  • data.products[].sellerIdstring
  • data.products[].shopstring
  • data.products[].soldinteger
  • data.products[].titlestring
  • data.products[].urlstring
  • data.relatedCategoriesarray
  • data.relatedCategories[].idstring
  • data.relatedCategories[].namestring
  • data.relatedCategories[].slugstring
  • data.relatedSearchesarray
  • data.relatedSearches[].namestring
  • data.relatedSearches[].slugstring
  • data.shopsarray
  • data.shops[].namestring
  • data.shops[].sellerIdstring
  • 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 (3)

GET/v1/storefront/page

Any other Shop page by path

  • 1 credit per call

Parameters

  • detailstring

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

    Defaultcompact   One ofcompactfull

  • pathstring

    method=path: any other Shop path, e.g. store/{slug}/{seller_id} or deals/premium-offers.

Use it in Claude or ChatGPT

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

MCP tool call
{
  "tool": "shop_browse",
  "arguments": {
    "method": "path"
  }
}

Request

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

Response

Example response
{
  "data": {
    "component_names": [
      "user_info",
      "page_header",
      "campaign_hero_banner"
    ],
    "hasMore": false,
    "page": "mall",
    "path": "",
    "products": [
      {
        "brand": "Leefar",
        "currency": "USD",
        "discount": "63%",
        "id": "1730743411790877344",
        "originalPrice": 34.87,
        "price": 12.89,
        "rating": 4.7,
        "reviews": 2507,
        "sellerId": "7495951453623650976",
        "shop": "Leefar Supplements",
        "sold": 24092,
        "title": "LeeFar Her Juicy Feminine Probiotics Gummies- All in One Solution with Slippery Elm and Prebiotics&Lactobacillus Probiotic Blend for Women's pH Balance and Dryness - Hawaiian Pineapple Gummies 60 Counts",
        "url": "https://shop.tiktok.com/us/pdp/womens-probiotic-gummies-by-leefar-60-count-with-prebiotics-slippery-elm/1730743411790877344"
      },
      {
        "brand": "YOULUCK",
        "currency": "USD",
        "discount": "56%",
        "id": "1730661941307937028",
        "originalPrice": 30.9,
        "price": 13.6,
        "rating": 4.7,
        "reviews": 1700,
        "sellerId": "7495486250805332228",
        "shop": "YouLuck Beauty",
        "sold": 30021,
        "title": "YOULUCK Velvet Touch Cluster Lashes Kit - 3D False Eyelashes & Adhesives, Waterproof Dramatic Eyelash Extensions, Ultra-Thin Band, Bond, Seal, Remover, Tweezer, Beginner-Friendly Beauty Cosmetic for Girls,familyfun",
        "url": "https://shop.tiktok.com/us/pdp/youluck-lash-clusters-waterproof-long-lasting-beginner-friendly/1730661941307937028"
      },
      {
        "brand": "Pigeon",
        "currency": "USD",
        "discount": "37%",
        "id": "1732157479503172113",
        "originalPrice": 40.99,
        "price": 25.69,
        "rating": 4.8,
        "reviews": 107,
        "sellerId": "7496091900942912017",
        "shop": "Pigeon USA",
        "sold": 2574,
        "title": "Pigeon Glass Nursing Baby Bottle (Pack of 2) Wide Neck, Anti-Colic, Streamlined Body, Natural Feel, Easy to Clean, (0m+) baby registry essential Heat-Resistant, 5.4 Oz, Includes 2pcs SS Nipples",
        "url": "https://shop.tiktok.com/us/pdp/pigeon-glass-nursing-baby-bottle-pack-of-2-anti-colic-5-4-oz/1732157479503172113"
      }
    ],
    "source": "https://shop.tiktok.com/us"
  },
  "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.component_namesarray
  • data.hasMoreboolean
  • data.pagestring
  • data.pathstring
  • data.productsarray
  • data.products[].brandstring
  • data.products[].currencystring
  • data.products[].discountstring
  • data.products[].idstring
  • data.products[].originalPricenumber
  • data.products[].pricenumber
  • data.products[].ratingnumber
  • data.products[].reviewsinteger
  • data.products[].sellerIdstring
  • data.products[].shopstring
  • data.products[].soldinteger
  • data.products[].titlestring
  • data.products[].urlstring
  • 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 (2)