Kalodata - TikTok Shop Search & Detail
This skill supports a two-step TikTok shop workflow via the Kalodata data source:
- Browse TikTok Shop store (店铺) leaderboards to discover high-performing stores.
- Fetch one store's full detail by .
Use the search (ranking) endpoint when the user wants rankings, store discovery, or store comparison. Use the detail endpoint when the user already has a
or has selected one store from a ranking result.
Core Concepts
The shop ranking endpoint returns a paginated leaderboard filtered by
,
,
, and
. The default ranking order is by
(GMV) descending, and each row carries an explicit
position. Each shop row includes identity, scale, revenue channel split, and growth.
The shop detail endpoint fetches
one store by
. It returns the store's identity, scale, revenue channel split, and creator/video/live counts. The
usually comes from the ranking response field
.
⚠️
Field names differ between the shop RANK and shop DETAIL endpoints. Detail uses
(rank uses
),
with no internal underscore (rank uses
), and
(rank uses
). Detail returns
/
/
/
(rank does not), and does
not return
/
/
. Always use the exact endpoint field names.
Both endpoints may reflect a statistical delay (T+1). See
for full request and response details.
Data Fields
Ranking rows include:
| Field | Description |
|---|
| rank | Rank position (1 = top by revenue) |
| shop_name | Shop display name |
| shop_id | Shop unique ID; pass this as for detail lookup |
| shop_type | Shop type (e.g. ) |
| revenue | Total GMV in the requested currency |
| sales_volumn | Sales volume; field is spelled |
| on_sell_product_count | Number of products currently on sale |
| unit_price | Average unit price in the requested currency |
| revenue_growth_rate | Revenue growth rate (%), can be negative |
| self_promotion_revenue | Revenue from self-promotion (店铺自营/自播自推) |
| affiliate_revenue | Revenue from affiliate (达人分销) |
| shopping_mall_revenue | Revenue from the shopping mall (商城) |
Detail rows include:
| Field | Description |
|---|
| shop_id | Shop unique ID (string to preserve precision) |
| shop_name | Shop display name |
| seller_type | Seller/shop type (e.g. ) — note: , not |
| region | Market region (e.g. ) |
| revenue | Total revenue / GMV in the requested currency |
| sales_volumn | Sales volume; field is spelled |
| product_number | Number of products on sale |
| unit_price | Average unit price in the requested currency |
| self_account_revenue | Revenue from self-account (店铺自营/自播自推) — note: , not |
| affiliate_revenue | Revenue from affiliate (达人分销) |
| shoppingmall_revenue | Revenue from the shopping mall (商城) — note: NO underscore between and |
| creator_number | Number of creators cooperating with the shop (达人合作数) |
| video_number | Number of related videos |
| live_number | Number of related livestreams |
Revenue channel split: on the rank endpoint
=
+
+
; on the detail endpoint
≈
+
+
. Components may round independently of
(e.g.
returns
on detail vs
on rank), so treat the split as approximate, not an exact equality.
Parameter Guide
| Parameter | Type | Required | Description |
|---|
| region | string | No | Market region code, e.g. |
| dateRange | string | No | Time window, e.g. , |
| pageNumber | integer | No | Page number, 1-5 |
| pageSize | integer | No | Page size, 5-100 |
| language | string | No | Response language, e.g. , |
| currency | string | No | Currency for monetary metrics, e.g. |
| sortField | object | No | Sorting specification; pass for default revenue ranking |
| Parameter | Type | Required | Description |
|---|
| shopId | string | Yes | Shop unique ID from ranking field |
| region | string | No | Market region code, e.g. |
| dateRange | string | No | Time window, e.g. , |
| language | string | No | Response language, e.g. , |
| currency | string | No | Currency for monetary metrics, e.g. |
调用方式
- API 端点: 或
POST /kalodata/shop/detail
(完整参数/响应/错误码见 )
- Python 脚本:
python scripts/kalodata_shop_search.py '<JSON 参数>' [--inline]
或 python scripts/kalodata_shop_detail.py '<JSON 参数>' [--inline]
- 成本约束:本工具会消耗积分;同一会话同一参数组合默认只调用一次,脚本带 24h 本地缓存。失败/空结果不得自动换关键词、翻页或改邮编连续试探;需要继续检索时先向用户说明会产生额外消耗。
输出策略(脚本默认行为):
- 始终将完整响应写入
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-kalodata-tiktok-shop-<timestamp>.json
( 为脚本执行时的工作目录,在 Claude Code 里即当前项目目录; 取自环境变量 ,按用户任务自动聚合;禁止写入 /tmp,当前目录不可写则报错)
- 响应体 <= 8 KB:落盘后把完整 JSON 打印到 stdout
- 响应体 > 8 KB:落盘后 stdout 只输出摘要(顶层字段、常见计数如 /、最大列表字段的长度 + 前 3 条样本)
- 加 强制全量打印到 stdout(同样落盘)
读数据建议:先看摘要判断是否足够;需要具体字段时优先用
或
从保存的 json 文件按需抽取,避免整份 JSON 进入上下文。
解决认证和积分问题
发生以下异常情况时,采用 references/onboarding.md 引导解决问题:
异常情况
- 未配置API Key:环境变量未配置 ,也未配置 。
- 响应401或402状态码
- 响应提示积分或余额不足:消息含"积分余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值",或类似含义的内容。
Usage Examples
1. Top TikTok shops in the US over the last 7 days
json
{"region":"US","dateRange":"last7Day","pageSize":10,"pageNumber":1}
2. Fetch one shop's detail
json
{"shopId":"7495514739648989419","region":"US","dateRange":"last7Day","currency":"USD"}
3. Discovery-to-detail workflow
text
Run kalodata_shop_search.py first, choose a row's shop_id, then pass that value as shopId to kalodata_shop_detail.py.
Display Rules
- Present ranking results in a table with rank, shop name, shop type, revenue, sales volume, product count, unit price, and growth rate.
- Present detail results as one grouped profile: identity, scale, revenue channel split, and creator/video/live counts.
- Always label , , and when showing metrics.
- Revenue channel breakdown is approximate (see Data Fields note); present the split as a breakdown, not an exact equality.
- Use the exact field name . On detail use (no underscore) and ; on rank use and . Do not mix the two endpoints' field names.
- Show , , , as plain integer counts.
- Preserve ranking order unless the user explicitly requests a supported .
Important Limitations
- Ranking is not keyword search; it browses leaderboards by region and time window.
- Detail requires ; it cannot find a shop by name alone. Obtain from the ranking field or the user.
- The ranking response does not include total/page count; paginate until a page returns fewer than items.
- is limited to 1-5 and is limited to 5-100.
- Detail has no pagination; is a 1-element array for a single shop, with no .
- Field names differ between the rank and detail endpoints (see Data Fields) — use the exact names when extracting.
- Transient upstream errors may appear as with a Kalodata HTTP 554 message. Retry the same parameters once or twice; do not change parameters automatically.
- Use the matching Kalodata product/video/creator/livestream skills for non-shop entities.
User Expression & Scenario Quick Reference
Applicable -- TikTok Shop store ranking or single-store detail:
| User Says | Scenario |
|---|
| "TikTok店铺排行榜", "TikTok小店排行" | Store ranking lookup |
| "TikTok热销店铺", "top TikTok shops" | Store leaderboard by region |
| "近7天TikTok店铺榜", "美国TikTok店铺排名" | Time-windowed / region-filtered ranking |
| "TikTok店铺详情", "TikTok小店资料" | Single-store detail lookup |
| "店铺销售额", "店铺销量", "店铺达人合作数" | Store revenue / sales / creator count |
| "kalodata shop search/detail" | Direct data source reference |
Not applicable -- Needs beyond TikTok Shop stores:
- TikTok creator/product/video/livestream rankings or details
- Amazon / Shopify / 1688 / other platforms' store data
- TikTok ad campaign management or content creation
积分消耗规则
每次调用消耗 7.0 积分。
用户会因积分消耗而支付费用。请充分评估:当需要高频调用本技能,或用户对积分消耗量预期不足时,务必提醒用户,由用户决定是否继续。
Feedback:
Auto-detect and report feedback via the Feedback API when any of the following apply:
- The functionality or purpose described in this skill does not match actual behavior
- The skill's results do not match the user's intent
- The user expresses dissatisfaction or praise about this skill
- Anything you believe could be improved
Call the feedback API as specified in
. Do not interrupt the user's flow.
For more high-quality, professional cross-border e-commerce skills, visit LinkFox Skills.