mcpbeat Sign in

Ecommerce Ozon Product Search Skill for Claude

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.

2.5k tokens
context cost
SKILL.md, read when the skill is used
4
files
ships runnable scripts
0
copies elsewhere
how many repositories repackaged it
101
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/nexscope-ai/nexscope-ecommerce-skills --skill ecommerce.ozon-product-search

What comes with it

12 953 bytes besides the instruction
manifest.json
references/api.md
scripts/ozon_product_search.py

The instruction itself

13 sections, as written by the author

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.

Core Concepts

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.

Parameters

| 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.

Calling the Tool

  • API Endpoint: /mpstats/ozon/productSearch (full parameters/responses/error codes in references/api.md)
  • Python Script: python scripts/ozon_product_search.py '<JSON params>' [--inline]
  • Cost constraint: This tool consumes credits. Within the same session and same parameter combination, it defaults to a single call with a 24-hour local cache. Do not automatically retry with different keywords, pagination, or parameters on failure/empty results. Inform the user of additional credit consumption before continuing retrieval.

Output strategy (script default behavior):

  • Always write the full response to <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)
  • Response body <= 8 KB: write to disk then print full JSON to stdout
  • Response body > 8 KB: write to disk then print only a summary to stdout (top-level fields, common counts like total/costToken, length of the largest list field + first 3 samples)
  • Add --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.

Response handling

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.

Authentication & Credits

If you encounter authentication or credit issues:

Error conditions

  • API Key not configured: The NEXSCOPE_API_KEY environment variable is not set.
  • HTTP 401 or 402 status code
  • Insufficient credits/balance: Response message indicates credit balance exhausted, quota exceeded, subscription expired, or recharge required.

Resolution steps

  • Set the NEXSCOPE_API_KEY environment variable with a valid API key.
  • If credits are insufficient, visit https://www.nexscope.ai/pricing?co-from=skillNS to top up your balance.
  • For onboarding and setup guidance, refer to https://www.nexscope.ai/help/skills-external-access?co-from=skillNS

Usage Examples

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"}

How to Chain with Other Ozon Skills

  • Keyword → drill-down: Search → pick productId → call ecommerce.ozon-product-detail (batch metrics) or ecommerce.ozon-product-trend (single-SKU time-series).
  • Brand drill-down: For brand-scoped product listings with full metrics, call ecommerce.ozon-brand-products directly with the brand display name.
  • Seller drill-down: For seller-scoped product listings with full metrics, call ecommerce.ozon-seller-products directly with the seller ID.

Display Rules

  • Lead with identity columns — this endpoint returns only 10 identity fields. Headline the table with productId, title, brand, sellerName; include productPageUrl / imageUrl as secondary columns. Do not add price / sales / rating / stock columns — they are not in the response.
  • Russian titles — preserve the original Russian title; optionally offer an English or Chinese translation on user request.
  • Result count — the endpoint returns at most ~36 records and has no pagination. If total exceeds what was returned, suggest narrowing the keyword/SKU set or date window rather than asking for more pages.
  • Route to drill-downs for any business metric — business metrics are never in this response. If the user asks for sales / price / rating / stock / turnover / ranking, always route to ecommerce.ozon-product-detail (single or batch) or the *-products drill-downs. Do not fabricate or estimate from identity fields.
  • Error handling — when the numeric outer platform 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).

Important Limitations

  • At least one of keyword / productIds required — empty payloads are rejected by the tool's business rule even though required is empty in inputSchema.
  • Russian / Latin only — non-Russian keywords generally return empty results.
  • Date range — endDate cannot be today or a future date; data is T-1.
  • Hard result cap — upstream returns at most ~36 records per call and exposes no pagination/sort/filter. Cannot be bypassed; narrow the query instead.
  • No business metrics — price / sales / rating / stock / turnover / ranking are not in this endpoint's response at all. The backend 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.

User Expression & Scenario Quick Reference

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:

  • Reliable per-SKU sales / revenue / stock / rating metrics → use ecommerce.ozon-product-detail (batch card) or the *-products drill-down skills.
  • Brand-scoped product listing → use ecommerce.ozon-brand-products directly.
  • Seller-scoped product listing → use ecommerce.ozon-seller-products directly.
  • Time-series trend for a single SKU → use ecommerce.ozon-product-trend.
  • Wildberries or other non-Ozon Russian marketplaces → not covered here.
  • Category-tree navigation / Russian category path lookup → use 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.

How to use it

Copy the folder

Take nexscope-ai/ecommerce.ozon-product-search from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.