Nexscope Ozon Russia brand drill-down product list. Returns all products under an Ozon brand display name (Russian/Latin) with complete metrics: sales, revenue, price, rating, stock, turnover, lost revenue, supporting multi-dimensional numeric filters, sorting, and currency conversion. Use for brand benchmarking, competitor analysis, brand product structure research, SKU-level bestseller analysis. Trigger when the user mentions Ozon brand drill-down, Ozon brand products, Ozon competitor brand analysis, brand structure, brand SKUs, brand bestsellers, Ozon brand sales, Nexscope brand, Ozon brand products, brand drill-down, brand competitor analysis, Russian marketplace brand SKUs, brand revenue share. Also trigger when the intent is to view all products and their sales/price/rating performance under an Ozon brand, even without explicitly mentioning Nexscope.
npx skills add https://github.com/nexscope-ai/nexscope-ecommerce-skills --skill ecommerce.ozon-brand-products
This skill drills into all Ozon (Russia) products sold under a given brand display name, returning each SKU's sales, revenue, price, rating, stock, turnover, lost profit, and more. Built for brand competitor audits, brand SKU structure analysis, and bestseller dissection.
Brand display name: brandName must match what's shown on the Ozon storefront — typically Russian (Cyrillic) or Latin (adidas, Xiaomi). Do not pass a category path, a seller ID, or an internal brand code here. If unsure of the exact spelling, resolve via ecommerce.ozon-product-search first.
Filters are AND-combined: The filters array supports multiple numeric conditions ANDed together. Each filter is {field, op, value, value2?}. Common fields and operators are in the Filter Reference below.
Currency & rate: Default currency is RUB. Set currency: "USD" (or another code) to have monetary fields converted server-side; currencyRate lets you override the default rate if desired.
FBO / FBS mix: includeFbs: true folds FBS (seller-shipped) stock + sales into the numbers; false keeps them FBO-only.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| brandName | string | yes | Ozon brand display name (Russian or Latin) |
| startDate | string | no | Stats window start, YYYY-MM-DD; latest = yesterday |
| endDate | string | no | Stats window end, YYYY-MM-DD; latest = yesterday |
| page | integer | no | Page number, starts at 1 |
| pageSize | integer | no | Rows per page, 1-100, default 100 |
| sortField | string | no | snake_case column: sales, revenue, final_price, balance, rating, ... |
| sortDirection | string | no | asc or desc |
| currency | string | no | Currency code, default RUB; e.g. USD, EUR, CNY |
| currencyRate | integer | no | Custom rate when non-default currency is used |
| includeFbs | boolean | no | Include FBS data |
| filters | array | no | Numeric filter conditions (see below) |
Each filters entry: {"field": "<snake_case>", "op": "<OP>", "value": <num>, "value2": <num?>}.
Common fields: sales (monthly units), final_price (selling price RUB), rating (0-5), comments (review count), balance (stock), revenue (sales amount RUB), days_in_stock, turnover_days, lost_profit, category_position.
Operators: GTE, LTE, GT, LT, EQ, NOT_EQ, BETWEEN (requires value2 as the upper bound).
/mpstats/ozon/brandProducts (full parameters/responses/error codes in references/api.md)python scripts/ozon_brand_products.py '<JSON params>' [--inline]Output strategy (script default behavior):
<cwd>/nexscope/<YYYY-MM-DD>/<session>/data/ecommerce.ozon-brand-products-<timestamp>.json (<cwd> is the working directory when the script executes, which in Claude Code is the current project directory; <session> is taken from the SESSION_ID environment variable, automatically grouped by user task; do not write to /tmp; error if the current directory is not writable)total/costToken, length of the largest list field + first 3 samples)--inline to force full output to stdout (still writes to disk)Reading data: Check the summary first to determine if it is sufficient. When specific fields are needed, use jq or ConvertFrom-Json to extract from the saved JSON file as needed, avoiding loading the entire JSON into context.
If you encounter authentication or credit issues:
NEXSCOPE_API_KEY environment variable is not set.NEXSCOPE_API_KEY environment variable with a valid API key.1. Top-50 by sales for brand adidas
{
"brandName": "adidas",
"sortField": "sales",
"sortDirection": "desc",
"pageSize": 50
}
2. High-rating, mid-price filter
{
"brandName": "Xiaomi",
"filters": [
{"field": "rating", "op": "GTE", "value": 4.5},
{"field": "final_price", "op": "BETWEEN", "value": 1000, "value2": 5000}
],
"sortField": "revenue",
"sortDirection": "desc"
}
3. USD-converted output
{
"brandName": "Nike",
"currency": "USD",
"sortField": "revenue"
}
4. Include FBS + only in-stock items
{
"brandName": "adidas",
"includeFbs": true,
"filters": [{"field": "balance", "op": "GT", "value": 0}]
}
5. Lost-profit hunters (out-of-stock pain)
{
"brandName": "Nike",
"filters": [{"field": "lost_profit", "op": "GTE", "value": 100000}],
"sortField": "lost_profit",
"sortDirection": "desc"
}
productId, title, price, monthlySalesUnits, monthlySalesRevenue, rating, reviewCount, balance, turnoverDays, lostProfit.revenueSharePercent is the SKU's share within this brand result set, 0-100; clarify the base when presenting.currency was overridden, note "converted to USD".ecommerce.ozon-product-search if unsure.endDate cannot be today or a future date (T-1 data).Applicable — Brand-scoped Ozon product metrics:
| User Says | Scenario |
|-----------|----------|
| "Show me adidas's top-selling Ozon SKUs" | Brand bestseller drill |
| "What does Xiaomi sell on Ozon, sorted by revenue" | Brand revenue structure |
| "Which brand-X SKUs have rating ≥4.5 and stock >0" | Brand quality filter |
| "Are brand-X's stockouts causing big lost profit" | Lost-profit hunter |
| "Convert brand-X's Ozon sales to USD" | Currency-normalized audit |
Not applicable — Needs beyond brand drill-down:
ecommerce.ozon-product-searchecommerce.ozon-category-productsecommerce.ozon-seller-productsecommerce.ozon-product-trendBoundary judgment: Use this skill when the question centers on one brand and you want the per-SKU rollup under it. For "which brand dominates category X" use category drill-down and compare brand rows server-side.
Take nexscope-ai/ecommerce.ozon-brand-products from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.