mcpbeat Sign in

Ecommerce Ozon Market Keyword Search Skill for Claude

Nexscope Ozon market hot keyword search: filters Ozon (and Wildberries) market keywords by multi-dimensional metrics including search volume, growth, product count, seller count, competitor count, price, sales, conversion concentration, etc. Each keyword carries monthly search volume, growth, market space, competitor/seller counts, average price, cart-add conversion, top products, and market profile. Use for Ozon keyword selection, blue-ocean keyword mining, and market opportunity analysis. Trigger when the user mentions Ozon hot keywords, Ozon keyword market analysis, Ozon keyword selection, Ozon blue-ocean keywords, Ozon search volume, Wildberries keywords, Nexscope Ozon, Ozon market keyword search, Ozon keyword research, blue ocean keywords Ozon. Also trigger when the intent is to filter Ozon market keywords by metrics and view market profiles, even without explicitly mentioning Nexscope.

2.8k 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-market-keyword-search

What comes with it

16 749 bytes besides the instruction
manifest.json
references/api.md
scripts/ozon_market_keyword_search.py

The instruction itself

13 sections, as written by the author

This skill searches Ozon marketplace keywords in the Nexscope analytics database and filters them by rich performance metrics — search volume, 30-day growth, product/seller/competitor counts, average price, monthly sales/revenue, conversion & view concentration, ratings/reviews, and more. Each returned keyword carries a full market profile (market space, return/cancellation rate, top products, Chinese translation), making it the starting point for Ozon keyword selection, blue-ocean term mining, and market-opportunity analysis.

Core Concepts

Unit of data is the keyword, not the SKU: unlike a product search, this endpoint returns marketplace search terms ("hot keywords"), each enriched with market metrics. You discover *which search terms* are worth targeting on Ozon.

Platform coverage: each keyword record carries a platform field (0 = Ozon, 1 = Wildberries). The dataset is Ozon-centric; Wildberries rows appear where available. There is no input to restrict the platform — filter client-side if needed.

Date semantics: searchDate selects the data month. Pass 2026-04-01 to get March 2026 data; omit it for the last 30 days. Metrics such as searchVolume (monthly search volume) and count30GrowthRate (monthly search growth) are relative to the selected period.

Match mode: matchType controls how the keywords array is matched — 0 exact, 1 fuzzy. Choose the mode that fits your discovery intent when filtering by keyword text.

Parameters

| Parameter | Type | Required | Description |

|-----------|------|----------|-------------|

| page | object | yes | Pagination {page, pageSize, orders[]}. page from 1 (default 1), pageSize default 20. orders[] = {field, direction} with direction DESC/ASC. |

| keywords | array<string> | no | Keyword list to filter (max 1000); combined with matchType. |

| matchType | integer | no | Keyword match mode: 0 exact, 1 fuzzy. |

| searchDate | string | no | Data date yyyy-MM-dd; default last 30 days. 2026-04-01 → March 2026 data. |

| categories | array<string> | no | Category ID list (max 1000). |

| searchVolume | {min,max} | no | Monthly search volume range. |

| searchChange30 | {min,max} | no | 30-day search change range. |

| monthlySales | {min,max} | no | Monthly sales range. |

| monthlyRevenue | {min,max} | no | Monthly revenue range. |

| price | {min,max} | no | Average price range. |

| productViews | {min,max} | no | Product view range. |

| products | {min,max} | no | Product count range. |

| volume | {min,max} | no | Volume range. |

| marketSpace | {min,max} | no | Market space range. |

| conversionSharing | {min,max} | no | Conversion concentration range. |

| reviews | {min,max} | no | Review count range. |

| ratings | {min,max} | no | Rating range. |

| sellers | {min,max} | no | Seller count range. |

| weight | {min,max} | no | Weight range. |

| uId | string | no | User ID. |

| memberId | string | no | Member ID (data attribution). |

All range filters are {min, max} objects; supply either or both bounds. Only page is required.

Calling the Tool

  • API Endpoint: /seerfar/ozon/marketKeywordSearch (full parameters/responses/error codes in references/api.md)
  • Python Script: python scripts/ozon_market_keyword_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-market-keyword-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. Hottest keywords right now (sort by search volume)

{"page": {"page": 1, "pageSize": 10, "orders": [{"field": "searchVolume", "direction": "DESC"}]}}

2. Blue-ocean terms — high volume, few sellers

{"page": {"page": 1, "pageSize": 20, "orders": [{"field": "searchVolume", "direction": "DESC"}]}, "searchVolume": {"min": 10000}, "sellers": {"max": 50}}

3. Filter by keyword text (fuzzy, Russian)

{"page": {"page": 1, "pageSize": 20}, "keywords": ["телефон"], "matchType": 1}

4. A specific data month with a sales floor

{"page": {"page": 1, "pageSize": 20}, "searchDate": "2026-04-01", "monthlySales": {"min": 1000}}

How to Build Queries

  • Lead with page.orders: the dataset is large — always sort by the metric you care about (searchVolume DESC for popularity, count30GrowthRate DESC for rising terms, sellers ASC for low competition).
  • Stack range filters to find opportunities: combine a high searchVolume floor with a low sellers ceiling to surface blue-ocean keywords; add conversionSharing / marketSpace bounds to qualify demand.
  • Use keywords + matchType to scope a niche: pass seed terms in Russian with matchType: 1 (fuzzy) to enumerate related long-tail terms.
  • Pick the right searchDate: omit it for current trends (last 30 days); pass an explicit date for month-over-month comparison.

Display Rules

  • Present data only: show keyword metrics in a clear table without subjective advice.
  • Lead with keyword columns: query / queryCn (Chinese translation), then searchVolume, count30GrowthRate, productCount, sellers, avgPrice.
  • Russian keywords: preserve the original query; the queryCn field provides a Chinese translation when available.
  • Platform tag: when both Ozon and Wildberries rows are present, show platform (0/1) so the user can distinguish them.
  • Large result sets: when total is large, show the top rows and remind the user they can persist the full response via the large-response pattern below, or page further with page.page.
  • Error handling: when the numeric outer platform code is nonzero, explain the reason from outer msg and suggest adjusting filters.

Important Limitations

  • page is required: a payload without page is rejected.
  • No platform selector: the Ozon/Wildberries mix is controlled server-side; filter client-side via the platform field.
  • Category IDs are opaque: categories requires Nexscope category IDs, not human-readable names.
  • Pagination caps: use pageSize and page to page; very large pageSize values may be capped server-side.
  • Nested fields: products[*] (Top Products) and categoryInfos[*] (category path and cross-border availability flag) are structured and decision-useful — see references/api.md for sub-fields. dimension / columns are opaque or partially populated; relevancy / titleDensity / wordCount are usually absent.

User Expression & Scenario Quick Reference

Applicable — Ozon keyword market research:

| User Says | Scenario |

|-----------|----------|

| "What are the Ozon hot / trending keywords" | Hottest keywords by search volume |

| "Ozon blue-ocean terms: low competition, high search volume" | Blue-ocean term mining (high volume, few sellers) |

| "Ozon rising keywords / fast-growing terms" | Rising keywords (growth sort) |

| "Long-tail keywords around a Russian seed term" | Fuzzy keyword expansion |

| "Market space / competitor count / seller count for an Ozon keyword" | Keyword market profile |

Not applicable — Needs beyond keyword market data:

  • A specific SKU's price/sales/stock → use a product-level Nexscope Ozon data source, not this keyword endpoint.
  • A specific seller's catalog → use a seller/shop-level Nexscope Ozon data source.
  • Category-tree browsing → use a category-level Nexscope Ozon data source.
  • Non-Ozon/Wildberries marketplaces → not covered here.

Boundary judgment: if the user wants to discover and rank search terms on Ozon by market metrics, start here. If they already have a SKU / seller / category and want entities under it, route to the corresponding Nexscope Ozon data source.

How to use it

Copy the folder

Take nexscope-ai/ecommerce.ozon-market-keyword-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.