This skill guides you on how to fetch detailed performance metrics for a batch of TikTok Shop products, helping sellers and operators compare candidate products side-by-side using sales, GMV, live-stream, video, and influencer data.
Core Concepts
This tool retrieves full detail metrics for up to 1000 TikTok Shop products in a single call. You identify products by ID and/or by TikTok Shop product URL; the backend extracts the productId from each URL and merges it with any IDs you supplied, then returns per-product analytics.
Input options (at least one is needed; both can be combined):
productIds— array of TikTok product IDsproductUrls— array of TikTok Shop product URLs (e.g.https://shop.tiktok.com/us/pdp/<slug>/<productId>?...); the trailingproductIdis extracted from each URL
Multi-period metrics: Sales, GMV, live count, video count, influencer count, and views are each reported across 1d / 7d / 15d / 30d / 60d / 90d windows plus a cumulative total, so you can read both recent momentum and long-run totals.
Prices are in USD: minPrice, maxPrice, and spuAvgPrice are USD values.
Status flags (integers): salesTrendFlag — 0=stable, 1=rising, 2=falling; isSShop — fully-managed (全托管) shop; offMark — delisted; freeShipping — free shipping.
vs. search: This is detail lookup for known products (you already have IDs/URLs). To discover products by keyword, use linkfox-echotik-product-search; for new-product rankings use linkfox-echotik-new-product-rank.
Parameter Guide
| Parameter | Type | Required | Description | Default |
|---|---|---|---|---|
| productIds | array<string> | No* | TikTok product IDs (up to 1000 items) | - |
| productUrls | array<string> | No* | TikTok Shop product URLs; the productId is extracted from each and merged with productIds (up to 1000 items) |
- |
* At least one of productIds / productUrls must be provided; both can be passed together.
How to call
- API endpoint:
POST /echotik/batchProductDetail(for full parameters/response/error codes seereferences/api.md) - Python script:
python scripts/echotik_batch_product_detail.py '<JSON 参数>' [--inline] - Cost constraints: This tool consumes compute; in the same session, the same parameter combination is by default 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 you need to continue searching, first explain to the user that it will incur additional consumption.
Output strategy (default script behavior):
- Alwayswrite the full response to
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-echotik-batch-product-detail-<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, if the current directory is not writable, report an error) - Response body ≤ 8 KB: after saving to disk, print the complete JSON to stdout
- Response body > 8 KB: after saving 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 saved to disk)
Data reading suggestions: First look at the summary to determine whether it is sufficient; when specific fields are needed, prefer using jqorConvertFrom-Json to extract as needed from the saved json file, avoiding the entire JSON entering the context.
Resolve authentication and compute issues
When the following abnormal situations occur, use references/onboarding.md to guide problem resolution:
Abnormal situations
- API Key not configured: The environment variable is not configured with
LINKFOX_AGENT_API_KEY, and is also not configured withLINKFOXAGENT_API_KEY。 - Response 401 or 402 status code
- Response indicates insufficient compute or balance: The message contains "算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值", or content with similar meaning.
Usage Examples
1. Batch lookup by product IDs
{
"productIds": ["1729382310407603945", "1729382310407603946"]
}
2. Batch lookup by product URLs
{
"productUrls": [
"https://shop.tiktok.com/us/pdp/phone-case/1729382310407603945",
"https://shop.tiktok.com/us/pdp/case-for-phone/1729382310407603946"
]
}
3. Mixed IDs and URLs (merged server-side)
{
"productIds": ["1729382310407603945"],
"productUrls": ["https://shop.tiktok.com/us/pdp/phone-case/1729382310407603946"]
}
Display Rules
- Present a comparison table: Show one row per product with key columns — name, price (USD), total sales, 30-day sales, total GMV, rating, review count, commission rate, and number of promoting influencers
- Multi-period context: When comparing momentum, surface the relevant window (e.g. 7d/30d) alongside the cumulative total rather than only the total
- Currency: Prices are in USD; label them as USD
- Commission formatting: Display
productCommissionRateas a percentage (e.g.0.05→ "5%") - Trend flag: Render
salesTrendFlagas stable/rising/falling for quick scanning - Status badges: Mark
isSShop(全托管),offMark(delisted), andfreeShippingwhere relevant so users don't compare a delisted product unknowingly - Image reference: If
imageUrl/productImageUrlsis present, mention that images are available - Long descriptions:
descDetailcan be long HTML/text — summarize or note its availability instead of dumping it - Missing product handling: If a requested product returns no record, list which IDs/URLs had no data so the user can verify them
- Error handling: When a query fails, explain the reason from the
errmsg/errorfield and suggest checking the IDs/URLs
Important Limitations
- Batch cap: Up to 1000 products per request
- Pricing currency: All price fields are in USD
- Estimated data: Sales, GMV, and attribution figures are analytics estimates, not exact platform figures
- Lookup only: This tool does not search by keyword or category — it resolves specific IDs/URLs you already have
User Expression & Scenario Quick Reference
Applicable Scenarios
| User Says | Scenario |
|---|---|
| "Look up the details for these TikTok products" | Batch detail by product IDs |
| "Pull sales data for these TikTok links" | Batch detail by product URLs |
| "Compare the GMV of these TikTok products" | Batch lookup, surface GMV columns |
| "Which of these TikTok products are trending up" | Batch lookup, read salesTrendFlag |
| "Are any of these TikTok products delisted / 全托管" | Batch lookup, read offMark / isSShop |
| "Get live-stream sales for these TikTok products" | Batch lookup, surface live sales/GMV |
Not Applicable Scenarios
- Discovering products by keyword (use
linkfox-echotik-product-search) - New / trending product rankings (use
linkfox-echotik-new-product-rank) - Promotional videos linked to a product (use
linkfox-echotik-product-video) - Resolving a TikTok video download link (use
linkfox-echotik-get-video-download-url) - TikTok creator/influencer profile analytics
- Non-TikTok platform product data
Boundary Judgment
When users say "analyze these TikTok products", check whether they already have specific product IDs or TikTok Shop URLs (this skill) or want to find products by keyword/category (the search skill). If they paste a list of IDs/URLs and want sales/GMV/livestream details, this skill applies. If they ask "what should I sell on TikTok" or "find trending products", it does not.
Compute consumption rules
Consumes 5 compute units.
Users pay for compute consumption. Please fully assess: when this skill needs to be called frequently, or when the user has insufficient expectation of 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.