Temu Category & Keyword Demand Research
This skill researches Temu category opportunities and buyer-demand keywords from public marketplace data. Use only the endpoints needed for the user's request, and read references/api.md for the full request and response contract.
The site-list and category-list endpoints are helper capabilities. A helper-only request must not auto-select this skill unless the user explicitly invokes it or the skill is already active.
Core Concepts
regionIdselects the marketplace. Resolve it from a non-null positivesites[].regionId; never substitutesiteId. The gateway default isregionId: 211(United States).dsris a supply-demand signal, not a standalone go/no-go score. Cross-check demand scale, recent growth, item/shop supply, and price.- Search responses are paginated
items[]. Defaults arepage: 1andsize: 20;sizeis 1–200 andpage * sizemust not exceed 10,000.orderhas no gateway default; when supplied, it must beascordesc(case-insensitive). - Range filters are limited to
dsr,totalSold,avgPrice,totalSales,itemCount, andmallCount, each withMin/Max. Never make a minimum greater than its maximum; all exceptdsrmust be non-negative. - Use site/category helpers only when the user has not supplied a valid ID. Stop if no unambiguous ID is returned.
- Do not launch a paid search merely to answer a site-list or category-tree request.
| Intent | Endpoint | Script |
|---|---|---|
| Compare category demand and competition | /geekbi/temu/categorySearch | geekbi_temu_category_search.py |
| Discover and compare buyer-demand keywords | /geekbi/temu/keywordSearch | geekbi_temu_keyword_search.py |
| Resolve Temu marketplaces | /geekbi/temu/siteList | geekbi_temu_site_list.py |
| Browse the category tree | /geekbi/temu/categoryList | geekbi_temu_category_list.py |
Endpoint: /geekbi/temu/categorySearch
Request
- Category research uses
keywordto compare market capacity and competition. Use the separate category-list helper withparentCatIdwhen a trusted category tree must be traversed;categorySearchitself does not acceptcatLevelorparentCatId. - Use
keywordfor a Chinese or English category name.catLevelandparentCatIdare response/helper concepts, notcategorySearchrequest fields. - Filter or rank broad demand with
totalSold; usedsrfor candidate discovery. TreatmonthSoldRateandmonthSalesRateas response fields for recent-growth analysis, not as range-filter request fields. itemCountandmallCountcan be filtered with Min/Max fields. Period*ItemCountand*MallCountvalues are response-only changes and can be negative.
# Compare US pet-related categories by cumulative demand
python scripts/geekbi_temu_category_search.py '{"regionId":211,"keyword":"宠物","totalSoldMin":1000,"sort":"totalSold","order":"desc","page":1,"size":20}'
Response
| Path | Meaning |
|---|---|
items[].catId / items[].parentCatItems[] | Category identity and verified hierarchy |
items[].totalSold / totalSales / avgPrice | Cumulative demand, revenue, and average price |
items[].itemCount / mallCount | Product and shop supply |
items[].semiManagedItemCount / semiManagedMallCount | Semi-managed supply counts |
items[].day* / week* / month* | Period demand, supply changes, and growth rates |
errcode / errmsg | Gateway business status; verified success is 200 / ok |
Endpoint: /geekbi/temu/keywordSearch
Request
- Keyword research uses
keywordfor a specific phrase orcatIdsfor category-led discovery. Combine them only when the user explicitly wants a phrase within a category. - Resolve
catIdsfrom validcategories[].catIdvalues or a verified category-search result. Prefer level-1 or level-2 IDs for broad discovery. - Search a supplied phrase with
keywordwithout silently translating or replacing it. - For category-led discovery, use
catIdsfrom the category helper. Multiple IDs match any supplied category. - Rank hot terms with
totalSoldand blue-ocean candidates withdsr. Analyze recent demand from returnedmonthSoldRateormonthSalesRate; these period metrics are not range-filter request fields. UsefirstOnSaleTimeMin/Maxfor market recency. firstOnSaleTimeMin/Maxuse ISO-8601 timestamps and describe the earliest associated product listing time.
# Discover dress-related demand terms within a verified category
python scripts/geekbi_temu_keyword_search.py '{"regionId":211,"keyword":"dress","catIds":[27011],"totalSoldMin":1000,"sort":"totalSold","order":"desc","page":1,"size":20}'
Response
| Path | Meaning |
|---|---|
items[].keyword / items[].cnKeyword | Search phrase and optional Chinese form |
items[].catIds / items[].catItems[] | Categories associated with a keyword |
items[].totalSold / totalSales / avgPrice | Cumulative demand, revenue, and average price |
items[].itemCount / mallCount | Product and shop supply |
items[].semiManagedItemCount / semiManagedMallCount | Semi-managed supply counts |
items[].day* / week* / month* | Period demand, supply changes, and growth rates |
items[].firstOnSaleTime | Earliest associated product listing time; not keyword creation time |
errcode / errmsg | Gateway business status; verified success is 200 / ok |
Endpoint: /geekbi/temu/siteList
Request
# Resolve a non-US marketplace; use regionId, not siteId
python scripts/geekbi_temu_site_list.py '{}'
Response
| Path | Meaning |
|---|---|
sites[].regionId | IDs accepted by the research endpoints |
errcode / errmsg | Gateway business status; verified success is 200 / ok |
Endpoint: /geekbi/temu/categoryList
Request
# Resolve a trusted category path when only a category name is known
python scripts/geekbi_temu_category_list.py '{}'
python scripts/geekbi_temu_category_list.py '{"parentCatId":27011}'
Response
| Path | Meaning |
|---|---|
categories[].catId | IDs accepted by the research endpoints |
errcode / errmsg | Gateway business status; verified success is 200 / ok |
Fields can be absent or null. Preserve runtime JSON types and raw rate values; do not replace missing values with zero.
调用方式
- API 端点:
POST /geekbi/temu/categorySearch、POST /geekbi/temu/keywordSearch、POST /geekbi/temu/siteList或POST /geekbi/temu/categoryList(完整参数/响应/错误码见references/api.md) - Python 脚本:
python scripts/geekbi_temu_category_search.py '<JSON 参数>' [--inline]、python scripts/geekbi_temu_keyword_search.py '<JSON 参数>' [--inline]、python scripts/geekbi_temu_site_list.py '{}' [--inline]或python scripts/geekbi_temu_category_list.py '<JSON 参数>' [--inline] - 成本约束:类目搜索和关键词搜索各消耗 15 算力/次,站点列表和品类列表不消耗算力;同一端点同一参数组合使用 24h 本地缓存,同一会话默认只调用一次。
--inline不绕过缓存;--no-cache会跳过缓存读写并强制真实请求,付费端点可能再次扣算力,免费辅助端点仅强制刷新。失败、空结果或瞬时错误不得自动重试,也不得自动换关键词、翻页、改站点或筛选条件连续试探;需要继续付费检索时先向用户说明会产生额外消耗。
输出策略(脚本默认行为):
- 始终将完整响应写入
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-geekbi-temu-market-research-<timestamp>.json;<cwd>为脚本执行时的当前工作目录,<session>取自环境变量SESSION_ID,未设置时自动生成。当前目录不可写时直接报错,不回退到用户目录或系统临时目录。 - 响应体 ≤ 8 KB:落盘后把完整 JSON 打印到 stdout
- 响应体 > 8 KB:落盘后 stdout 只输出摘要(顶层状态字段、常见业务计数、忽略
columns后最大业务列表的长度 + 前 3 条样本) - 加
--inline强制全量打印到 stdout(同样落盘)
读数据建议:先看摘要判断是否足够;需要具体字段时优先用 jq或ConvertFrom-Json 从保存的 json 文件按需抽取,避免整份 JSON 进入上下文。
解决认证和算力问题
发生以下异常情况时,采用 references/onboarding.md 引导解决问题:
异常情况
- 未配置 API Key:环境变量未配置
LINKFOX_AGENT_API_KEY或兼容键LINKFOXAGENT_API_KEY。 - 响应 401 或 402 状态码。
- 响应提示算力或余额不足:消息含“算力余额不足/计费不足/余额不足/quota exceeded/insufficient balance/套餐到期/需充值/请充值”或类似含义。
Display Rules
- State marketplace name,
regionId, currency, filters, sort, page, and page size. - For categories, show the full category path,
catId, level, demand/revenue, average price, item/shop supply, semi-managed supply, and relevant growth fields. - For keywords, show the phrase, associated category path/IDs, demand/revenue, average price, item/shop supply, semi-managed supply, earliest listing time, and relevant growth fields.
- Label monetary values with the selected site's currency. Keep raw rate units explicit and do not silently convert them.
- Mark incomplete pagination as a sample. Keep IDs available for downstream product, shop, or keyword research.
- Preserve
null, missing fields, and upstream extensions rather than inventing values.
Important Limitations
- This skill researches public Temu market data; it does not access or operate a seller account.
totalcan be capped at 10,000. A partial page or uncompleted pagination is not the entire marketplace.dsr, growth, sales, or supply alone cannot prove an opportunity or predict future performance.firstOnSaleTimeis the earliest associated product listing time, not keyword creation time.- The category tree can require several
parentCatIdcalls; do not guess intermediate IDs. - Do not automatically call helpers when valid IDs are already available.
- Do not retry paid endpoints with changed filters or another page after empty results without user confirmation.
User Expression & Scenario Quick Reference
Applicable: “查 Temu 美国站宠物类目机会”, “找月需求增长的蓝海类目”, “挖 Temu 连衣裙热搜词”, “比较关键词供需和价格带”, “Temu category/keyword demand research”.
Adjacent: Resolve an unknown non-US marketplace before research. For category-led keyword discovery, resolve a trusted catId from the category tree or a verified category result.
Not an automatic trigger: A request solely to enumerate Temu sites, regionId values, category-tree nodes, or catId values does not auto-trigger this skill. Route category-tree/catId-only requests to linkfox-temu-category-search. If this GeekBI skill was explicitly invoked or is already active, its site/category helpers may be called independently.
Not applicable: Temu product detail, shop-only benchmarking, review analysis, seller-center operations, listing changes, fulfillment, advertising, or research on another marketplace.
算力消耗规则
类目搜索和关键词搜索每次各消耗 15 算力;站点列表和品类列表不消耗算力。
用户会为类目搜索和关键词搜索支付算力。高频调用、翻页或改条件重搜前,必须让用户决定是否继续。
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.