This skill fetches the full detail of a single Ozon product by its SKU from the Seerfar analytics database — title, price (₽), rating, reviews, QA count, sales (total + daily average + daily trend), revenue, stock, category rank, brand, seller, fulfillment (FBO/FBS/OZON), weight and listing age. The starting point for single-product deep analysis, competitor product teardown, listing diagnostics and sales-trend tracking.
Core Concepts
Unit of data is a single product, looked up by sku: pass one Ozon SKU, get that product's full detail. This is a product-level view (one SKU), not a shop catalog, keyword or category view.
Where the SKU comes from: sku is the Ozon product SKU — the same sku returned by other Seerfar Ozon tools (shop search, keyword back search, category search, market keyword search). If the user only has a product name, URL or shop, first obtain the sku from one of those listing-level sources, then call this skill for the deep dive.
Sales window: dateRange controls the sales/metrics window — totalSales, dailySales, totalRevenue and salesTrendVOList are computed over this range. Default past_30_days. Options: past_7_days / past_30_days / past_60_days / past_90_days / past_180_days / past_365_days.
Sales & price currency: price is in Russian rubles (₽), indicated by currency. totalSales is units over the window; dailySales is the average units/day; totalRevenue is revenue over the window.
Listing age: upTime is the listing timestamp (ms); upDays / upMonths are the derived age in days / months.
Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| sku | string | yes | Ozon product SKU (e.g. 175924376). The same sku from other Seerfar Ozon tools. |
| dateRange | string | no | Sales/metrics window. Default past_30_days. One of: past_7_days, past_30_days, past_60_days, past_90_days, past_180_days, past_365_days. |
| uId | string | no | User ID. |
| memberId | string | no | Member ID (data attribution). |
Only sku is required.
How to call
- API endpoint:
POST /seerfar/ozon/productDetailSearch(for full parameters/response/error codes seereferences/api.md) - Python script:
python scripts/seerfar_ozon_product_detail_search.py '<JSON 参数>' [--inline] - Cost constraints: This tool consumes compute; within 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 repeatedly; if you need to continue searching, first explain to the user that additional consumption will be incurred.
Output strategy (script default behavior):
- Alwayswrite the complete response to
<cwd>/linkfox/<YYYY-MM-DD>/<session>/data/linkfox-seerfar-ozon-product-detail-search-<timestamp>.json(<cwd>is the working directory when the script runs, which in Claude Code is the current project directory;<session>is taken from the environment variableSESSION_ID, automatically aggregated according to the user's 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 judge whether it is sufficient; when specific fields are needed, prefer to use jqorConvertFrom-Json to extract on demand from the saved json file, avoiding bringing the entire JSON into context.
Resolving 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. Default 30-day detail for a product
{"sku": "175924376"}
2. Last 7 days (recent momentum)
{"sku": "175924376", "dateRange": "past_7_days"}
3. Last 90 days (quarterly trend)
{"sku": "175924376", "dateRange": "past_90_days"}
4. Full year (lifecycle view)
{"sku": "175924376", "dateRange": "past_365_days"}
How to Build Queries
- Resolve the SKU first: if the user gives a product name, URL or shop rather than a SKU, obtain the
skufrom a listing-level Seerfar Ozon source (shop search / keyword back search / category search / market keyword search) before calling this skill. - Pick
dateRangeby intent: short windows (past_7_days/past_30_days) for recent momentum and current stock; long windows (past_90_days/past_180_days/past_365_days) for lifecycle, seasonality and ranking stability. - Read aggregates, then trend: start with top-level
totalSales/dailySales/totalRevenue/stock/categoryRanksfor a snapshot, then drill intosalesTrendVOListfor the daily series. - One SKU per call: this endpoint takes a single
sku; to compare products, call once per SKU.
Display Rules
- Present data only: show the product metrics in a clear layout without subjective advice.
- Lead with identity + snapshot:
title,sku,price(₽),reviewRating(reviewCountreviews,questionsAndAnswersQ&A), then the sales snapshot (totalSales,dailySales,totalRevenue,stock) and the window (startDate–endDate). - Category ranks:
categoryRanksis a monthly rank history ({date, rank, count}) — it has no category name, so show the category path fromcategoryInfo(titlePath/cnTitlePath) alongside the rank history. - Sales trend:
salesTrendVOListis a daily series ({date, sales, revenue, price, stock, reviewCount, reviewRating}) — summarize (peak day, trend direction) rather than dumping every row; offer the persisted file for the full series. Some days may havesales: 0— treat as no-sales, not missing data. - Seller & brand: show
sellerName(sellerId— negative means an Ozon platform seller) andbrandName(brandId) so the user can trace the seller/brand. - Fulfillment:
fulfillmentis an array (e.g.["FBO"], or["OZON"]for platform-sold items); join multiple values with/. - Listing age: render
upTimeas a date (ms timestamp) alongsideupDays/upMonths. - Conditional fields:
weight(physical goods only) andgrossMarginare schema-defined but absent for some products (e.g. digital goods / Ozon platform sellers) — show-when missing rather than failing.monthlySalesUnits/monthlySalesRevenuemirror the window'stotalSales/totalRevenueand are safe to read directly. - Empty result: a non-existent
skureturns success withtotal:0and emptyproducts— tell the user the SKU may be wrong rather than reporting a system error. - Error handling: when
codeis not"200"(orerrcodeis not200), explain frommsg/errmsgand suggest fixes (check SKU, retry on rate-limit).
Important Limitations
skuis required; omitting it returns a parameter error.- Single-SKU endpoint: returns one product's detail; no batch/list mode. Compare products by calling once per SKU.
dateRangeonly affects sales aggregates + trend: product metadata (title, price, rating, brand, seller, weight, fulfillment) is a point-in-time snapshot, not windowed.- Conditional fields:
weight(physical goods only) andgrossMarginare schema-defined but not always returned — absent for digital goods / Ozon platform sellers.monthlySalesUnits/monthlySalesRevenueare returned and mirror the window'stotalSales/totalRevenue. - Sales/revenue are Seerfar model estimates over the chosen window, not Ozon-official figures.
totalreflects returned record count (1 when the SKU is found), not a catalog total.
User Expression & Scenario Quick Reference
Applicable — deep-dive on one Ozon product:
| User Says | Scenario |
|---|---|
| "View the details of this Ozon product" / "the data for this SKU" | Single product detail |
| "how much did this competitor sell in the last 30 days" / "what is the average daily sales" | Sales snapshot (totalSales / dailySales) |
| "what is this product's sales revenue" | Revenue (totalRevenue) |
| "what is this product's inventory" | Stock check (stock) |
| "what rank is this product in its category" | Category rank (categoryRanks) |
| "this product's recent sales trend" / "which day did it sell best" | Daily sales trend (salesTrendVOList) |
| "whose product is this/what brand is it" | Seller + brand (sellerName / brandName) |
| "how long has this product been listed" | Listing age (upDays / upMonths) |
Not applicable — needs beyond one product's detail:
- A shop's full product catalog → use the Seerfar Ozon shop search skill.
- Discovering Ozon keywords → use market keyword search / keyword mining / keyword back search.
- Browsing the category tree → use category search.
- Multiple products' summary at once → call this skill per SKU, or use a listing-level source.
Boundary judgment: if the user already has a specific Ozon SKU (or obtained one from a listing-level source) and wants that product's full metrics — sales, revenue, stock, category rank, trend, brand, seller — start here. If they want to discover products, keywords or shops, route to the corresponding Seerfar Ozon skill first.
Compute consumption rules
Consumes 5 compute.
Users pay fees due to compute consumption. Please fully assess: when this skill needs to be called frequently, or the user has insufficient expectation of the compute consumption amount, 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, set LinkFox Skills.