Nexscope Ozon Russia product search and reverse lookup. Searches Ozon products in the Nexscope database by Russian keyword or SKU, returning product ID, title, brand, and seller information. The entry point for Ozon product discovery and competitor analysis chains. Trigger when the user mentions Ozon product selection, Ozon product search, Russian e-commerce product selection, Ozon keyword search, Ozon SKU query, Nexscope Ozon, Ozon product search, Nexscope Ozon, Russian marketplace, Ozon SKU lookup, Ozon keyword search. Also trigger when the intent is to discover or reverse-lookup products on Ozon Russia by keyword or SKU, even without explicitly mentioning Nexscope.
npx skills add https://github.com/nexscope-ai/nexscope-ecommerce-skills --skill ecommerce.ozon-product-search
This skill searches Ozon (Russia) products in the Nexscope analytics database by Russian keyword or SKU list. It is the entry point for Ozon product discovery and competitor lookup — downstream drill-downs (brand/category/seller/detail/trend) typically start from the IDs returned here.
Nexscope Ozon coverage: Ozon is Russia's largest general-category marketplace. Nexscope indexes Ozon product listings and sales history. This endpoint returns the basic identity card only — 10 fields: productId / title / productPageUrl / imageUrl / brand / brandId / sellerName / sellerId plus sourceType / sourceTool. Per-SKU price / sales / rating / stock / turnover / ranking are not returned here — the backend OzonProductSearchItem DTO is intentionally narrow. For those metrics, chain into ecommerce.ozon-product-detail (batch full card, 36 fields) or the brand/category/seller-products drill-downs (39 fields).
Language requirement: Keywords must be in Russian (Cyrillic) — or the Latin-script form actually used on the Ozon storefront. If the user supplies an English or Chinese keyword, translate it to Russian first and note the translation.
At-least-one input rule: The input schema marks both filters as optional, but the tool's business rule requires at least one of keyword / productIds to be supplied. The two can be combined to narrow results. For brand- or seller-scoped discovery, use ecommerce.ozon-brand-products / ecommerce.ozon-seller-products instead.
| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| keyword | string | conditional | Russian search keyword, e.g., кроссовки (sneakers) |
| productIds | array<integer\|string> | conditional | Ozon SKU list |
| startDate | string | no | Stats window start, YYYY-MM-DD; defaults to one year ago |
| endDate | string | no | Stats window end, YYYY-MM-DD; defaults to yesterday, cannot be today or future |
At least one of keyword / productIds must be supplied. The endpoint returns at most ~36 records in a single call (an upstream-acknowledged cap), and there are no pagination / sort / filter inputs — narrow via keyword/SKU and date window instead.
/mpstats/ozon/productSearch (full parameters/responses/error codes in references/api.md)python scripts/ozon_product_search.py '<JSON params>' [--inline]Output strategy (script default behavior):
<cwd>/nexscope/<YYYY-MM-DD>/<session>/data/ecommerce.ozon-product-search-<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.
For the research HTTP response, require a numeric outer code equal to 0 before using data. Nonzero codes are platform failures; display outer msg without interpreting its wording as a retry instruction. Nexscope preserves upstream messages and translates Chinese to English; successful responses may have msg: null. HTTP 200 alone and nested business code / status do not replace the platform check. See references/api.md for response paths and task-specific states.
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. Keyword search — sneakers in Russian
{"keyword": "кроссовки"}
2. SKU batch reverse lookup
{"productIds": [1786874757, 151623766, 142257239]}
3. Dated window for period-specific search
{"keyword": "футболка", "startDate": "2025-02-01", "endDate": "2025-02-28"}
productId → call ecommerce.ozon-product-detail (batch metrics) or ecommerce.ozon-product-trend (single-SKU time-series).ecommerce.ozon-brand-products directly with the brand display name.ecommerce.ozon-seller-products directly with the seller ID.productId, title, brand, sellerName; include productPageUrl / imageUrl as secondary columns. Do not add price / sales / rating / stock columns — they are not in the response.total exceeds what was returned, suggest narrowing the keyword/SKU set or date window rather than asking for more pages.ecommerce.ozon-product-detail (single or batch) or the *-products drill-downs. Do not fabricate or estimate from identity fields.code is nonzero, explain the reason from outer msg and suggest adjusting inputs (supply at least one of keyword / productIds, use Russian, narrow date range).keyword / productIds required — empty payloads are rejected by the tool's business rule even though required is empty in inputSchema.endDate cannot be today or a future date; data is T-1.OzonProductSearchItem DTO declares exactly 10 identity fields. This is a hard contract, not a sparse payload — do not assume missing metric fields could be filled in by re-calling with different dates.Applicable — Ozon product discovery / identity resolution:
| User Says | Scenario |
|-----------|----------|
| "Search Ozon for sneakers / headphones / ..." | Keyword discovery |
| "I have a list of Ozon SKUs, pull their names" | Batch SKU reverse lookup |
| "Translate this keyword to Russian and search Ozon" | Cross-language discovery |
Not applicable — Needs beyond discovery:
ecommerce.ozon-product-detail (batch card) or the *-products drill-down skills.ecommerce.ozon-brand-products directly.ecommerce.ozon-seller-products directly.ecommerce.ozon-product-trend.ecommerce.ozon-category-products with a known path.Boundary judgment: If the user wants to find or identify Ozon products, start here. If they already have an ID or a dimension (brand / category / seller) and want metrics under it, go to the corresponding drill-down skill directly.
Take nexscope-ai/ecommerce.ozon-product-search 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.