Shops
One TikTok Shop seller: its storefront, sales split by channel, daily trend, products, launches, affiliates and the videos that sell for it.
One TikTok Shop seller
Everything about one TikTok Shop seller (id = sellerId, found on any of its products, or with shop_top_selling keyword=<shop name>). Live: store (what shoppers see: rating, followers, catalogue). Shop Analytics, any market via region: sales (revenue, units, affiliate vs own vs mall), trend (daily), products, new_products, strategy (pricing, top affiliates unnamed), creators, videos, new_affiliates and affiliate_videos (daily counts with summary). Example: {"id":"7495514739648989419","method":"new_affiliates","window":"30d"}.
/v1/shops/{id}Live storefront: rating, sold, followers, products
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
3 more optional parameters
- detailstring
compact (default) returns the useful fields; full adds the raw upstream payload (large).
Default
compactOne 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=store: store slug if known; looked up when omitted.
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: store. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "store",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"hasMore": true,
"next": "eyJzZWFyY2hfcGFyYW1zIjoiMjBfV3prMU16TXNOall3TURBd01EQXNNVGMxTlRFeU1EVXdPRGMxTml3aU1UY3pNVFl4TWpVNU5UVTVOekU0TlRjek9DSmQifQ",
"page": "store",
"products": [
{
"brand": "Truly Beauty",
"currency": "USD",
"id": "1729430515554816714",
"price": 18,
"rating": 4.2,
"reviews": 25004,
"sellerId": "7495153913553128138",
"shop": "Truly Beauty",
"sold": 219142,
"title": "Unicorn Fruit Brightening and Smoothing Deodorant – Aluminum-Free, Fights Odor-Causing Bacteria with Papaya Enzymes & Mango Butter – Helps Fade Dark Underarm Discoloration – Removes Impurities & Dead Skin – Sweet Cotton Candy Scent",
"url": "https://shop.tiktok.com/us/pdp/deodorant-truly-beauty-unicorn-fruit-cotton-candy-scent-for-bright-skin/1729430515554816714"
},
{
"brand": "Truly Beauty",
"currency": "USD",
"discount": "52%",
"id": "1731896769144001226",
"originalPrice": 29,
"price": 13.92,
"rating": 4.5,
"reviews": 14795,
"sellerId": "7495153913553128138",
"shop": "Truly Beauty",
"sold": 153731,
"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": "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"
}
],
"shop": {
"name": "Truly Beauty",
"sellerId": "7495153913553128138"
}
},
"meta": {
"credits_charged": 1,
"credits_remaining": 7906,
"request_id": "req_3f9c2a1b7d4e"
},
"next_cursor": "eyJzZWFyY2hfcGFyYW1zIjoiMjBfV3prMU16TXNOall3TURBd01EQXNNVGMxTlRFeU1EVXdPRGMxTml3aU1UY3pNVFl4TWpVNU5UVTVOekU0TlRjek9DSmQifQ"
}Response fields
dataobjectThe tool's result. Compact by default; passdetail=fullfor the complete record.data.hasMorebooleandata.nextstringdata.pagestringdata.productsarraydata.products[].brandstringdata.products[].currencystringdata.products[].idstringdata.products[].priceintegerdata.products[].ratingnumberdata.products[].reviewsintegerdata.products[].sellerIdstringdata.products[].shopstringdata.products[].soldintegerdata.products[].titlestringdata.products[].urlstringdata.shopobjectdata.shop.namestringdata.shop.sellerIdstringmetaobjectmeta.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
400401402403404429502503
Try it Live call, 1 credit
/v1/shops/{id}/affiliate-videosDaily count of new videos affiliates posted for the shop, with a summary
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
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).
Default
compactOne ofcompactfull - endstring
Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).
- limitinteger
Results per page. 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 of
7d30d90d180d365d
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: affiliate_videos. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "affiliate_videos",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138/affiliate-videos" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138/affiliate-videos",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138/affiliate-videos", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"dataEnd": "2026-10-28",
"id": "7495153913553128138",
"market": "US",
"notes": [
"Market US (United States)."
],
"series": [
{
"day": "2026-09-29",
"newVideos": 522
},
{
"day": "2026-09-30",
"newVideos": 873
},
{
"day": "2026-10-01",
"newVideos": 825
}
],
"source": "TokConnect Shop Analytics (TikTok Shop US). Revenue and units are estimates: units track TikTok's sold counter; revenue is units times listed price.",
"summary": {
"averagePerDay": 711.1,
"days": 30,
"last7Days": 4960,
"peak": {
"day": "2026-10-02",
"value": 906
},
"previous7Days": 4316,
"total": 21333,
"unit": "new affiliate videos"
},
"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; passdetail=fullfor the complete record.data.dataEndstringdata.idstringdata.marketstringdata.notesarraydata.seriesarraydata.series[].daystringdata.series[].newVideosintegerdata.sourcestringdata.summaryobjectdata.summary.averagePerDaynumberdata.summary.daysintegerdata.summary.last7Daysintegerdata.summary.peakobjectdata.summary.peak.daystringdata.summary.peak.valueintegerdata.summary.previous7Daysintegerdata.summary.totalintegerdata.summary.unitstringdata.windowobjectdata.window.daysintegerdata.window.endstringdata.window.startstringmetaobjectmeta.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
400401402403404429502503
Try it Live call, 1 credit
/v1/shops/{id}/creatorsAffiliate creators selling for it, with revenue
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
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).
Default
compactOne ofcompactfull - endstring
Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).
- limitinteger
Results per page. 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 of
7d30d90d180d365d
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: creators. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "creators",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138/creators" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138/creators",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138/creators", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"count": 20,
"currency": "USD",
"dataEnd": "2026-10-28",
"hasMore": true,
"id": "7495153913553128138",
"items": [
{
"belonged_seller_id": "",
"creatorDebut": "2025-06-14",
"creator_type": "INDEPENDENT",
"followers": 37000,
"handle": "johatobon3",
"id": "7098788832553174058",
"live_count": 0,
"live_revenue": "$0.00",
"nickname": "Johana Tobon",
"product_count": 7,
"revenue": "$107.74k",
"sale": 6040,
"sales_volumn": 6040,
"signature": "Beauty • Health Creator \n📈 +1.2M Lifetime GMV \n\n\nCollabs: Johanatobon1@hotmail.com",
"unit_price": 17.84,
"video_count": 83,
"video_revenue": "$107.74k"
},
{
"belonged_seller_id": "",
"creatorDebut": "2024-10-01",
"creator_type": "INDEPENDENT",
"followers": 15800,
"handle": "petitetiramisu",
"id": "6980982804826375173",
"live_count": 0,
"live_revenue": "$0.00",
"nickname": "petitetiramisu",
"product_count": 1,
"revenue": "$62.20k",
"sale": 1885,
"sales_volumn": 1885,
"signature": "🎀PERFUME|MAKEUP|FASHION🎀\n💌 Glowgirlbeautylounge@gmail.com",
"unit_price": 33,
"video_count": 6,
"video_revenue": "$62.20k"
},
{
"belonged_seller_id": "7495466366830020858",
"creatorDebut": "2021-10-19",
"creator_type": "INDEPENDENT",
"followers": 23600,
"handle": "therealsiahhh",
"id": "6790832707742417925",
"live_count": 0,
"live_revenue": "$0.00",
"nickname": "Shopping is my therapy",
"product_count": 1,
"revenue": "$58.12k",
"sale": 7265,
"sales_volumn": 7265,
"signature": "Email -therealsiahhh47@gmail.com 🥰 HERE TO HELP YOU FIND TRENDING USEFUL PRODUCTS 🫣",
"unit_price": 8,
"video_count": 176,
"video_revenue": "$58.12k"
}
],
"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; passdetail=fullfor the complete record.data.countintegerdata.currencystringdata.dataEndstringdata.hasMorebooleandata.idstringdata.itemsarraydata.items[].belonged_seller_idstringdata.items[].creatorDebutstringdata.items[].creator_typestringdata.items[].followersintegerdata.items[].handlestringdata.items[].idstringdata.items[].live_countintegerdata.items[].live_revenuestringdata.items[].nicknamestringdata.items[].product_countintegerdata.items[].revenuestringdata.items[].saleintegerdata.items[].sales_volumnintegerdata.items[].signaturestringdata.items[].unit_pricenumberdata.items[].video_countintegerdata.items[].video_revenuestringdata.marketstringdata.nextstringdata.notesarraydata.sourcestringdata.windowobjectdata.window.daysintegerdata.window.endstringdata.window.startstringmetaobjectmeta.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
400401402403404429502503
Try it Live call, 1 credit
/v1/shops/{id}/new-affiliatesDaily count of new affiliates who started promoting the shop, with a summary
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
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).
Default
compactOne ofcompactfull - endstring
Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).
- limitinteger
Results per page. 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 of
7d30d90d180d365d
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: new_affiliates. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "new_affiliates",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138/new-affiliates" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138/new-affiliates",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138/new-affiliates", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"dataEnd": "2026-10-28",
"id": "7495153913553128138",
"market": "US",
"notes": [
"Market US (United States)."
],
"series": [
{
"day": "2026-09-29",
"newAffiliates": 885
},
{
"day": "2026-09-30",
"newAffiliates": 1436
},
{
"day": "2026-10-01",
"newAffiliates": 1365
}
],
"source": "TokConnect Shop Analytics (TikTok Shop US). Revenue and units are estimates: units track TikTok's sold counter; revenue is units times listed price.",
"summary": {
"averagePerDay": 1255,
"days": 30,
"last7Days": 8881,
"peak": {
"day": "2026-09-30",
"value": 1436
},
"previous7Days": 8474,
"total": 37651,
"unit": "new affiliates"
},
"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; passdetail=fullfor the complete record.data.dataEndstringdata.idstringdata.marketstringdata.notesarraydata.seriesarraydata.series[].daystringdata.series[].newAffiliatesintegerdata.sourcestringdata.summaryobjectdata.summary.averagePerDayintegerdata.summary.daysintegerdata.summary.last7Daysintegerdata.summary.peakobjectdata.summary.peak.daystringdata.summary.peak.valueintegerdata.summary.previous7Daysintegerdata.summary.totalintegerdata.summary.unitstringdata.windowobjectdata.window.daysintegerdata.window.endstringdata.window.startstringmetaobjectmeta.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
400401402403404429502503
Try it Live call, 1 credit
/v1/shops/{id}/new-productsProducts it launched in the window
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
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).
Default
compactOne ofcompactfull - endstring
Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).
- limitinteger
Results per page. 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 of
7d30d90d180d365d
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: new_products. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "new_products",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138/new-products" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138/new-products",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138/new-products", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"count": 4,
"currency": "USD",
"dataEnd": "2026-10-28",
"hasMore": false,
"id": "7495153913553128138",
"items": [
{
"collect_day": "2026-10-20",
"id": "1732418744492528330",
"product_title": "Vanilla Glaze Moisturizing Body Lotion with Peptides, Ceramides, Niacinamide, Squalane & Hyaluronic Acid, 16 fl oz",
"revenue": "$84.00",
"sale": "3",
"unit_price": "$28.00"
},
{
"collect_day": "2026-10-21",
"id": "1732776932999598794",
"product_title": "Brightening Duo - All-Over Body Serum + Targeted Dark Spot Serum Set with Tranexamic Acid, Vitamin C & 4% Niacinamide – Helps Improve the Look of Dark Spots & Uneven Skin Tone",
"revenue": "$0.00",
"sale": "0",
"unit_price": "NaN"
},
{
"collect_day": "2026-10-21",
"id": "1732776877478941386",
"product_title": "Hydrating Lip Gloss 2-Pack - Lip Gloss Duo Set, High Shine & Tinted, Infused with Hyaluronic Acid, Jojoba Oil & Shea Butter",
"revenue": "$0.00",
"sale": "0",
"unit_price": "NaN"
}
],
"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; passdetail=fullfor the complete record.data.countintegerdata.currencystringdata.dataEndstringdata.hasMorebooleandata.idstringdata.itemsarraydata.items[].collect_daystringdata.items[].idstringdata.items[].product_titlestringdata.items[].revenuestringdata.items[].salestringdata.items[].unit_pricestringdata.marketstringdata.notesarraydata.sourcestringdata.windowobjectdata.window.daysintegerdata.window.endstringdata.window.startstringmetaobjectmeta.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
400401402403404429502503
Try it Live call, 1 credit
/v1/shops/{id}/productsIts products ranked by revenue
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
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).
Default
compactOne ofcompactfull - endstring
Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).
- limitinteger
Results per page. 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 of
7d30d90d180d365d
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: products. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "products",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138/products" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138/products",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138/products", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"count": 20,
"currency": "USD",
"dataEnd": "2026-10-28",
"hasMore": true,
"id": "7495153913553128138",
"items": [
{
"collect_day": "2025-10-18",
"id": "1731896769144001226",
"product_title": "Hydrating Lip Gloss - High Shine & Tinted, Infused with Hyaluronic Acid, Jojoba Oil & Shea Butter",
"revenue": "$285.28k",
"sale": "35.66k",
"unit_price": "$8.00"
},
{
"collect_day": "2025-09-27",
"id": "1731678264099967690",
"product_title": "The Brightening Body Serum – Targeted Dark Spot Treatment with Vitamin C & Tranexamic Acid – Corrects Hyperpigmentation, Dark Spots & Uneven Tone – Boosts Radiance for a Brighter, Youthful-Looking Complexion – Clinical Strength Formula",
"revenue": "$271.61k",
"sale": "12.93k",
"unit_price": "$21.00"
},
{
"collect_day": "2024-01-13",
"id": "1729430515554816714",
"product_title": "Unicorn Fruit Brightening and Smoothing Deodorant – Aluminum-Free, Fights Odor-Causing Bacteria with Papaya Enzymes & Mango Butter – Helps Fade Dark Underarm Discoloration – Removes Impurities & Dead Skin – Sweet Cotton Candy Scent",
"revenue": "$187.81k",
"sale": "15.65k",
"unit_price": "$12.00"
}
],
"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; passdetail=fullfor the complete record.data.countintegerdata.currencystringdata.dataEndstringdata.hasMorebooleandata.idstringdata.itemsarraydata.items[].collect_daystringdata.items[].idstringdata.items[].product_titlestringdata.items[].revenuestringdata.items[].salestringdata.items[].unit_pricestringdata.marketstringdata.nextstringdata.notesarraydata.sourcestringdata.windowobjectdata.window.daysintegerdata.window.endstringdata.window.startstringmetaobjectmeta.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
400401402403404429502503
Try it Live call, 1 credit
/v1/shops/{id}/salesRevenue and units, split by own accounts, affiliates and mall
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
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).
Default
compactOne ofcompactfull - endstring
Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).
- limitinteger
Results per page. 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 of
7d30d90d180d365d
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: sales. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "sales",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138/sales" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138/sales",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138/sales", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"currency": "USD",
"dataEnd": "2026-10-28",
"id": "7495153913553128138",
"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": {
"affiliate_percentage": 99.48,
"affiliate_revenue": "$1.88m",
"day_affiliate_revenue": "$62.53k",
"day_other_revenue": "$323.10",
"day_revenue": "$62.86k",
"day_sale": "3.51k",
"day_self_promotion_revenue": "$4.96",
"day_shopping_mall_revenue": "$323.10",
"live_revenue": "$487.09k",
"original_affiliate_revenue": 1875836.63,
"original_live_revenue": 487085.31,
"original_revenue": 1885678.59,
"original_self_promotion_revenue": 148.95,
"original_shopping_mall_revenue": 9693.01,
"original_showcase_revenue": 9693.01,
"original_video_revenue": 1388900.27,
"other_percentage": 0.51,
"other_revenue": "$9.69k",
"revenue": "$1.89m",
"sale": "105.23k",
"self_promotion_percentage": 0.01,
"self_promotion_revenue": "$148.95",
"shopping_mall_percentage": 0.51,
"shopping_mall_revenue": "$9.69k",
"showcase_revenue": "$9.69k",
"unit_price": "$17.92",
"video_revenue": "$1.39m"
},
"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; passdetail=fullfor the complete record.data.currencystringdata.dataEndstringdata.idstringdata.marketstringdata.notesarraydata.sourcestringdata.totalsobjectdata.totals.affiliate_percentagenumberdata.totals.affiliate_revenuestringdata.totals.day_affiliate_revenuestringdata.totals.day_other_revenuestringdata.totals.day_revenuestringdata.totals.day_salestringdata.totals.day_self_promotion_revenuestringdata.totals.day_shopping_mall_revenuestringdata.totals.live_revenuestringdata.totals.original_affiliate_revenuenumberdata.totals.original_live_revenuenumberdata.totals.original_revenuenumberdata.totals.original_self_promotion_revenuenumberdata.totals.original_shopping_mall_revenuenumberdata.totals.original_showcase_revenuenumberdata.totals.original_video_revenuenumberdata.totals.other_percentagenumberdata.totals.other_revenuestringdata.totals.revenuestringdata.totals.salestringdata.totals.self_promotion_percentagenumberdata.totals.self_promotion_revenuestringdata.totals.shopping_mall_percentagenumberdata.totals.shopping_mall_revenuestringdata.totals.showcase_revenuestringdata.totals.unit_pricestringdata.totals.video_revenuestringdata.windowobjectdata.window.daysintegerdata.window.endstringdata.window.startstringmetaobjectmeta.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
400401402403404429502503
Try it Live call, 1 credit
/v1/shops/{id}/strategyPrice bands and sales-channel mix: top affiliates (individuals unnamed) and the shop's own accounts
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
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).
Default
compactOne ofcompactfull - endstring
Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).
- limitinteger
Results per page. 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 of
7d30d90d180d365d
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: strategy. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "strategy",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138/strategy" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138/strategy",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138/strategy", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"affiliate": [
{
"creator": "Creator 1",
"follower_count": 37000,
"revenue": 107745
},
{
"creator": "Creator 2",
"follower_count": 15800,
"revenue": 62205
},
{
"creator": "Creator 3",
"follower_count": 23600,
"revenue": 58120
}
],
"currency": "USD",
"dataEnd": "2026-10-28",
"id": "7495153913553128138",
"market": "US",
"notes": [
"Market US (United States): amounts are in USD.",
"Individual affiliate creators are shown as Creator 1, 2, ... with their metrics. Accounts the shop owns (ownAccounts) are named."
],
"ownAccounts": [
{
"follower_count": 3000000,
"handle": "trulybeauty",
"i18n_follower_count": "3m",
"i18n_revenue": "$148.95",
"id": "6752887346621023238",
"live_revenue": 0,
"nickname": "Truly Beauty",
"revenue": 148.95,
"sale": 5,
"signature": "Experts in Smooth Skin ✨\nTIKTOK for 10% OFF",
"video_revenue": 148.95
}
],
"pricing": {
"product_count": "58",
"product_counts": [
222,
222,
222
],
"product_with_sale_count": "49",
"product_with_sale_counts": [
44,
2,
3
],
"revenue": "$1.89m",
"revenues": [
58261.27,
1843,
1506
],
"sales": [
2582,
56,
46
],
"unit_price": "$17.92",
"unit_prices": [
22.56,
32.91,
32.74
]
},
"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; passdetail=fullfor the complete record.data.affiliatearraydata.affiliate[].creatorstringdata.affiliate[].follower_countintegerdata.affiliate[].revenueintegerdata.currencystringdata.dataEndstringdata.idstringdata.marketstringdata.notesarraydata.ownAccountsarraydata.ownAccounts[].follower_countintegerdata.ownAccounts[].handlestringdata.ownAccounts[].i18n_follower_countstringdata.ownAccounts[].i18n_revenuestringdata.ownAccounts[].idstringdata.ownAccounts[].live_revenueintegerdata.ownAccounts[].nicknamestringdata.ownAccounts[].revenuenumberdata.ownAccounts[].saleintegerdata.ownAccounts[].signaturestringdata.ownAccounts[].video_revenuenumberdata.pricingobjectdata.pricing.product_countstringdata.pricing.product_countsarraydata.pricing.product_with_sale_countstringdata.pricing.product_with_sale_countsarraydata.pricing.revenuestringdata.pricing.revenuesarraydata.pricing.salesarraydata.pricing.unit_pricestringdata.pricing.unit_pricesarraydata.sourcestringdata.windowobjectdata.window.daysintegerdata.window.endstringdata.window.startstringmetaobjectmeta.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
400401402403404429502503
Try it Live call, 1 credit
/v1/shops/{id}/trendDaily revenue and units (up to ~13 months)
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
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).
Default
compactOne ofcompactfull - endstring
Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).
- limitinteger
Results per page. 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 of
7d30d90d180d365d
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: trend. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "trend",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138/trend" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138/trend",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138/trend", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"coverage": {
"days": 30,
"daysWithSales": 30,
"firstDayWithSales": "2026-09-29"
},
"currency": "USD",
"dataEnd": "2026-10-28",
"id": "7495153913553128138",
"market": "US",
"notes": [
"Market US (United States): amounts are in USD."
],
"series": [
{
"affiliate_revenue": 57675.27,
"partition_day": "2026-09-29",
"revenue": 58261.27,
"sale": 2582,
"self_promotion_revenue": 0,
"shopping_mall_revenue": 586,
"unit_price": 22.56
},
{
"affiliate_revenue": 1843,
"partition_day": "2026-09-30",
"revenue": 1843,
"sale": 56,
"self_promotion_revenue": 0,
"shopping_mall_revenue": 0,
"unit_price": 32.91
},
{
"affiliate_revenue": 1506,
"partition_day": "2026-10-01",
"revenue": 1506,
"sale": 46,
"self_promotion_revenue": 0,
"shopping_mall_revenue": 0,
"unit_price": 32.74
}
],
"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": 1885679,
"units": 105234
},
"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; passdetail=fullfor the complete record.data.coverageobjectdata.coverage.daysintegerdata.coverage.daysWithSalesintegerdata.coverage.firstDayWithSalesstringdata.currencystringdata.dataEndstringdata.idstringdata.marketstringdata.notesarraydata.seriesarraydata.series[].affiliate_revenuenumberdata.series[].partition_daystringdata.series[].revenuenumberdata.series[].saleintegerdata.series[].self_promotion_revenueintegerdata.series[].shopping_mall_revenueintegerdata.series[].unit_pricenumberdata.sourcestringdata.totalsobjectdata.totals.revenueintegerdata.totals.unitsintegerdata.windowobjectdata.window.daysintegerdata.window.endstringdata.window.startstringmetaobjectmeta.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
400401402403404429502503
Try it Live call, 1 credit
/v1/shops/{id}/videosVideos selling its products, with revenue
Parameters
- idstringPathRequired
Seller id (sellerId on products and stores).
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).
Default
compactOne ofcompactfull - endstring
Shop Analytics methods: custom range end, YYYY-MM-DD (capped at the last complete day).
- limitinteger
Results per page. 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 of
7d30d90d180d365d
Use it in Claude or ChatGPT
Connect https://mcp.tokconnect.com/mcp and your AI calls this as the shop tool with method: videos. Same data, same credit. MCP setup
{
"tool": "shop",
"arguments": {
"method": "videos",
"id": "7495153913553128138"
}
}Request
curl "https://api.tokconnect.com/v1/shops/7495153913553128138/videos" \
-H "X-API-Key: $TOKCONNECT_API_KEY"import os
import requests
r = requests.get(
"https://api.tokconnect.com/v1/shops/7495153913553128138/videos",
headers={"X-API-Key": os.environ["TOKCONNECT_API_KEY"]},
timeout=100,
)
r.raise_for_status()
body = r.json()
print(body["data"])const res = await fetch("https://api.tokconnect.com/v1/shops/7495153913553128138/videos", {
headers: { "X-API-Key": process.env.TOKCONNECT_API_KEY },
});
if (!res.ok) throw new Error((await res.json()).error?.message);
const { data, next_cursor } = await res.json();Response
{
"data": {
"count": 20,
"currency": "USD",
"dataEnd": "2026-10-28",
"hasMore": true,
"id": "7495153913553128138",
"items": [
{
"ad": 1,
"ai_video": 0,
"content_type": "video",
"create_time": "2026/10/20 21:55:00",
"description": "strawberries #aftershaveoil #razorbumpsolutions #femininehygieneproducts #trulyaftershaveoil ",
"duration": "41s",
"handle": "petitetiramisu",
"id": "7698933706576137485",
"original_duration": 41.167,
"product_ids": [
"1729445990437982922"
],
"revenue": "$35.51k",
"sale": 1076,
"uid": "6980982804826375173",
"views": "3.6m"
},
{
"ad": 1,
"ai_video": 0,
"content_type": "video",
"create_time": "2026/09/29 17:49:11",
"description": "Obsessed with this #lipgloss #drylips #lipcombo ",
"duration": "37s",
"handle": "swishybeauty",
"id": "7691077500054637838",
"original_duration": 37.867,
"product_ids": [
"1731896769144001226"
],
"revenue": "$24.90k",
"sale": 3113,
"uid": "6672578604607685638",
"views": "3.42m"
},
{
"ad": 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",
"handle": "xoxopeta",
"id": "7688188610041957662",
"original_duration": 42.9,
"product_ids": [
"1731896769144001226"
],
"revenue": "$23.14k",
"sale": 2892,
"uid": "7384276485555094570",
"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; passdetail=fullfor the complete record.data.countintegerdata.currencystringdata.dataEndstringdata.hasMorebooleandata.idstringdata.itemsarraydata.items[].adintegerdata.items[].ai_videointegerdata.items[].content_typestringdata.items[].create_timestringdata.items[].descriptionstringdata.items[].durationstringdata.items[].handlestringdata.items[].idstringdata.items[].original_durationnumberdata.items[].product_idsarraydata.items[].revenuestringdata.items[].saleintegerdata.items[].uidstringdata.items[].viewsstringdata.marketstringdata.nextstringdata.notesarraydata.sourcestringdata.windowobjectdata.window.daysintegerdata.window.endstringdata.window.startstringmetaobjectmeta.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
400401402403404429502503