This skill searches and analyzes TikTok Shop seller (store) data, helping cross-border sellers and marketers discover top-performing stores, benchmark competitors, and evaluate store-level performance across TikTok marketplaces.
Core Concepts
EchoTik is a TikTok Shop analytics platform. This tool lists TikTok Shop stores (sellers) with rich filtering, returning store metrics: total sales, GMV (1d/7d/30d/90d), followers, rating, reviews, positive-feedback rate, delivery rate, response rate, number of promoting influencers, videos, livestreams, and product counts.
Listing date: firstCrawlDt / minFirstCrawlDt / maxFirstCrawlDt use a compact integer format YYYYMMDD (e.g., 20240101 for January 1, 2024).
Pagination quirk: pageSize must be a multiple of 10 (max 100). The official upstream API caps a single page at 10; this tool internally pulls multiple pages of 10 and merges them, so pageSize=50 returns up to 50 merged sellers.
Data Fields
| Field | Description |
|---|---|
| sellerId | Store ID |
| sellerName | Store name |
| sellerLink | Store link |
| coverUrl | Store cover image URL |
| region | Marketplace code |
| totalSaleCnt | Total sales volume |
| totalSale1dCnt / 7dCnt / 30dCnt / 90dCnt | Sales volume (1d/7d/30d/90d, incremental) |
| totalSaleGmvAmt | Total GMV (revenue) |
| totalSaleGmv1dAmt / 7dAmt / 30dAmt / 90dAmt | GMV (1d/7d/30d/90d, incremental) |
| followersCount | Follower count |
| rating | Store rating |
| reviewCount | Review count |
| positiveFeedbackRate | Positive feedback rate |
| responseRate | Response rate |
| deliveryRate | Delivery rate |
| totalProductCnt | Historical product count (incl. delisted) |
| totalCrawlProductCnt | Current in-store product count |
| spuAvgPrice | Avg SKU price in store |
| minPrice / maxPrice | Min / max price |
| totalIflCnt | Number of promoting influencers |
| totalVideoCnt | Number of promo videos |
| totalLiveCnt | Number of livestreams |
| salesFlagText | Main sales channel (video/livestream) |
| salesTrendFlagText | Sales trend (flat/rising/falling) |
| shopIdentityLabel | Store identity label |
| shopTypeText | Brand store flag |
| fromFlagText | Local/cross-border flag |
| productCategoryList | Product categories |
| mostProductCategoryList | TOP1 product category |
| firstCrawlDt | Estimated listing time |
| userId | Influencer UID |
Parameter Guide
Required & Region
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| region | string | Yes | - | Marketplace code. See supported list below |
Category Filters
| Parameter | Type | Description |
|---|---|---|
| categoryId | string | Level-1 store category ID |
| categoryL2Id | string | Level-2 store category ID |
| categoryL3Id | string | Level-3 store category ID |
GMV & Sales Trend
| Parameter | Type | Description |
|---|---|---|
| minTotalSaleGmv30dAmt / maxTotalSaleGmv30dAmt | number | 30-day GMV range |
| salesTrendFlag | integer | 7-day sales trend: 0=flat, 1=rising, 2=falling |
Seller Type & Sales Channel
| Parameter | Type | Description |
|---|---|---|
| fromFlag | integer | Store origin: 1=local store, 2=cross-border store |
| salesFlag | integer | Main sales channel: 1=video, 2=livestream |
Listing Date
| Parameter | Type | Description |
|---|---|---|
| minFirstCrawlDt / maxFirstCrawlDt | integer | Estimated listing date range (YYYYMMDD, e.g. 20240101) |
Sorting & Pagination
| Parameter | Type | Default | Description |
|---|---|---|---|
| sellerSortField | integer | 2 | Sort field: 1=total sales, 2=total GMV, 3=avg SKU price |
| sortType | integer | 1 | Sort order: 0=ascending, 1=descending |
| pageNum | integer | 1 | Page number (starts at 1) |
| pageSize | integer | 50 | Page size — must be a multiple of 10, max 100 |
Supported Marketplaces
US (United States), ID (Indonesia), TH (Thailand), PH (Philippines), MY (Malaysia), VN (Vietnam), GB (United Kingdom), MX (Mexico), SG (Singapore), SA (Saudi Arabia), BR (Brazil), ES (Spain), JP (Japan), DE (Germany), IT (Italy), FR (France)
When the user doesn't specify a marketplace, ask or default to US.
How to call
- API endpoint:
POST /echotik/listSeller(For complete parameters/responses/error codes, seereferences/api.md) - Python script:
python scripts/echotik_list_seller.py '<JSON 参数>' [--inline] - Cost constraints: This tool consumes compute; by default, the same parameter combination in the same session is called only once, and the script has a 24h local cache. On failure/empty results, do not automatically switch keywords, paginate, or change the zip code to probe continuously; if further retrieval is needed, first explain to the user that additional consumption will be incurred.
Output strategy (default script behavior):
- Alwayswrite the complete response to
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-echotik-list-seller-<timestamp>.json(<cwd>is the working directory when the script is executed, which in Claude Code is the current project directory;<session>is taken from the environment variableSESSION_ID, automatically aggregated according to the user task;writing to /tmp is prohibited, and if the current directory is not writable, report an error) - Response body ≤ 8 KB: after writing to disk, print the complete JSON to stdout
- Response body > 8 KB: after writing to disk, stdout outputs only a summary (top-level fields, common counts such as
total/costToken, the length of the largest list field + the first 3 samples) - Add
--inlineto force full printing to stdout (also written to disk)
Data reading suggestions: first look at the summary to determine whether it is sufficient; when specific fields are needed, prefer to use jqorConvertFrom-Json to extract on demand from the saved json file, avoiding putting the entire JSON into the context.
Resolve authentication and compute issues
When the following abnormal situations occur, use references/onboarding.md to guide resolution:
Abnormal situations
- API Key not configured: the environment variable is not configured
LINKFOX_AGENT_API_KEY, andLINKFOXAGENT_API_KEY。 - Response 401 or 402 status code
- Response indicates insufficient compute or balance: the message contains "insufficient compute balance/insufficient billing/insufficient balance/quota exceeded/insufficient balance/package expired/recharge required/please recharge", or content with a similar meaning.
Usage Examples
1. Top US stores by total GMV
{
"region": "US",
"sellerSortField": 2,
"sortType": 1,
"pageSize": 20,
"pageNum": 1
}
2. Rising cross-border stores in Southeast Asia
{
"region": "ID",
"fromFlag": 2,
"salesTrendFlag": 1,
"sellerSortField": 2,
"sortType": 1
}
3. High-GMV livestream-driven stores
{
"region": "US",
"salesFlag": 2,
"minTotalSaleGmv30dAmt": 100000,
"sellerSortField": 2,
"sortType": 1
}
4. Recently listed stores
{
"region": "GB",
"minFirstCrawlDt": 20250101,
"sellerSortField": 1,
"sortType": 1
}
Display Rules
- Present data clearly: Show results in a table with key columns — store name, region, total sales, 30-day GMV, followers, rating, review count, and number of promoting influencers
- GMV & sales granularity: When relevant, show 30-day GMV and total sales; mention multi-period breakdowns (1d/7d/30d/90d) are available in the saved JSON
- Store link: When
sellerLinkis present, surface it so the user can open the store - Store attributes: Show
fromFlagText(local/cross-border),salesFlagText(video/livestream), andsalesTrendFlagText(trend) to help benchmark competitors - Result count: Always inform the user of
totalrecords and the current page; suggest pagination or tighter filters when the result set is large - No secondary processing: Results are live queries, not stored in a database; secondary SQL/data processing is not available
Important Limitations
- Region required:
regionis mandatory; no default is applied by the API. - pageSize rule: Must be a multiple of 10 (max 100). Other values may be rejected or adjusted.
- Category IDs:
categoryId/categoryL2Id/categoryL3Idare internal IDs, not human-readable names — obtain them from prior results or the category taxonomy. - Listing date format:
minFirstCrawlDt/maxFirstCrawlDtuseYYYYMMDDintegers (e.g.20240101). - Data real-time nature: Results are live queries, not stored in a database; secondary SQL/data processing is not available.
- Single-store detail: For one store's full profile, use the store-detail skill with the
sellerIdreturned here.
User Expression & Scenario Quick Reference
Applicable — TikTok Shop store/seller discovery and benchmarking:
| User Says | Scenario |
|---|---|
| "TikTok store ranking" / "TikTok top stores" | List stores sorted by GMV/sales |
| "Find TikTok affiliate stores" | Filter by sales channel (video/livestream) |
| "TikTok local store/cross-border store analysis" | Filter by fromFlag |
| "Recently opened TikTok stores" | Filter by listing date |
| "TikTok stores with rising sales" | Filter by salesTrendFlag=rising |
| "Southeast Asia TikTok stores" | Region-specific store listing |
Not applicable — Needs beyond store listing:
- Single product search or product rankings (use EchoTik product search/rank skills)
- TikTok creator/influencer analytics (follower counts, engagement of creators)
- TikTok video performance analytics (views, likes on specific videos)
- Amazon, Shopee, or other non-TikTok platform data
- Store-level operations: order/logistics/ads management
Boundary judgment: When users say "find stores" or "competitor stores", if the intent is to list and filter TikTok Shop stores by sales, GMV, or store attributes, this skill applies. If they want a single store's deep profile, use the store-detail skill with a known sellerId.
Compute consumption rules
Consumes 5 compute.
Users pay for compute consumption. Please fully assess: when this skill needs to be called frequently, or the user has insufficient expectation of the compute consumption, be sure to remind the user and let the user decide whether to continue.
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 references/api.md. Do not interrupt the user's flow.
For more high-quality, professional cross-border e-commerce skills, visit LinkFox Skills.