Keyword & Search Demand
Ozon Market Keyword Search MCP Tool
Seerfar 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.
nexscope_ozon_market_keyword_searchhttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/ozon-market-keyword-search/runtools/callAuthentication
Send the user API key as a bearer token on every MCP JSON-RPC request.
Authorization: Bearer nk_xxxxxxxxxxxxxxxxxIf authentication is missing or invalid, ask the user to open API Access and copy a valid key before calling this tool.
Call this MCP tool
Use tools/call with the MCP tool name below. The arguments object should match the table on this page.
{
"jsonrpc": "2.0",
"id": "ozon-market-keyword-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_ozon_market_keyword_search",
"arguments": {
"matchType": 1,
"categories": [],
"searchDate": "2026-01-01",
"page": {
"pageSize": 10,
"page": 1
},
"keywords": [
"phone case"
],
"uId": "example-id"
}
}
}POST /api/skill-api/v1/runhttps://claw-callback.nexscope.ai/api/skill-api/v1/skills/ozon-market-keyword-search/runhttps://www.nexscope.ai/mcp-map/ozon-market-keyword-searchArguments
| Name | Type | Required | Meaning |
|---|---|---|---|
page | object | required | Pagination & sorting: {page, pageSize, orders[]} Example: {
"pageSize": 10,
"page": 1
} |
page.page | integer | optional | Page number, starting from 1, default 1 Example: 1 |
page.pageSize | integer | optional | Items per page, default 20 Example: 1 |
page.orders | array | optional | Sort rules, elements {field, direction}; direction takes DESC (descending) / ASC (ascending) Example: [] |
keywords | array | optional | Keyword array (max 1000), used with matchType Example: [] |
matchType | integer | optional | Keyword match mode: 0 exact, 1 fuzzy Example: 1 |
searchDate | string | optional | Query date yyyy-MM-dd (e.g., 2026-04-01); defaults to last 30 days if omitted; passing 2026-04-01 queries March 2026 data Example: 2026-01-01 |
categories | array | optional | Category ID array (max 1000) Example: [] |
searchVolume | object | optional | Search volume range {min,max} Example: {
"min": 1
} |
searchChange30 | object | optional | 30-day search change range {min,max} Example: {
"min": 1
} |
monthlySales | object | optional | Monthly sales range {min,max} Example: {
"min": 1
} |
monthlyRevenue | object | optional | Monthly revenue range {min,max} Example: {
"min": 1
} |
price | object | optional | Price range {min,max} Example: {
"min": 1
} |
productViews | object | optional | Product views range {min,max} Example: {
"min": 1
} |
products | object | optional | Product count range {min,max} Example: {
"min": 1
} |
volume | object | optional | Volume range {min,max} Example: {
"min": 1
} |
marketSpace | object | optional | Market space range {min,max} Example: {
"min": 1
} |
conversionSharing | object | optional | Conversion concentration range {min,max} Example: {
"min": 1
} |
reviews | object | optional | Review count range {min,max} Example: {
"min": 1
} |
ratings | object | optional | Rating range {min,max} Example: {
"min": 1
} |
sellers | object | optional | Seller count range {min,max} Example: {
"min": 1
} |
weight | object | optional | Weight range {min,max} Example: {
"min": 1
} |
uId | string | optional | User ID Example: example-id |
memberId | string | optional | Member ID (a unique member identifier; data is attributed to memberId) Example: example-id |
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Meaning |
|---|---|---|---|
code | string | optional | Return code, "200" indicates success (returned on success) Example: {} |
errcode | integer | optional | Error code, 200 indicates success; only returned on business errors (coexists with code on success) Example: 1 |
msg | string | optional | Message; ok for success Example: {} |
errmsg | string | optional | Error message; ok for success, reason description on business error Example: {} |
total | integer | optional | Total record count Example: 1 |
data | array | optional | Market hot keyword data (see details below) Example: [] |
columns | array | optional | Column definitions, elements contain {field, title, cellType, sortable, filterable} Example: [] |
costTime | integer | optional | API latency (milliseconds) Example: 1 |
costToken | integer | optional | Tokens consumed Example: 1 |
type | string | optional | Response display type, e.g., tableListWorkbenches Example: {} |
data[].query | string | optional | Keyword (original Russian) Example: phone case |
data[].queryCn | string | optional | Keyword Chinese translation Example: phone case |
data[].platform | integer | optional | Platform: 0 Ozon, 1 Wildberries Example: 1 |
data[].searchVolume | integer | optional | Monthly search volume Example: 1 |
data[].count30GrowthRate | number | optional | Monthly search growth (%, can be negative) Example: 1 |
data[].productCount | integer | optional | Product count (may be missing in some rows) Example: 1 |
data[].competingProducts | integer | optional | Competing product count Example: 1 |
data[].sellers | integer | optional | Seller count Example: 1 |
data[].avgPrice | number | optional | Average price Example: 1 |
data[].itemsViews | number | optional | Product visibility Example: 1 |
data[].viewSharing | number | optional | View concentration (%) Example: 1 |
data[].conversionSharing | number | optional | Conversion concentration (%) Example: 1 |
data[].marketSpace | integer | optional | Market space Example: 1 |
data[].returnCancellationRate | number | optional | Return/cancellation rate (%) Example: 1 |
data[].uniqQueriesWCa | integer | optional | Add-to-cart count Example: 1 |
data[].ca | number | optional | Add-to-cart conversion rate (%) Example: 1 |
data[].categories | array | optional | Category ID array Example: [] |
data[].categoryInfos | array | optional | Category information (see below) Example: [] |
data[].products | array | optional | Top product data (see below) Example: [] |
data[].id | string | optional | Record ID Example: example-id |
data[].products[].ozonId | integer | optional | Ozon product ID Example: 1 |
data[].products[].sku | integer | optional | SKU ID Example: 1 |
data[].products[].title | string | optional | Product title (Russian) Example: {} |
data[].products[].imageUrl | string | optional | Main image URL Example: https://example.com/image.jpg |
data[].products[].advert | integer | optional | Ad indicator (0/1) Example: 1 |
data[].categoryInfos[].titleCn | string | optional | Category Chinese name Example: {} |
data[].categoryInfos[].titleEn | string | optional | Category English name Example: {} |
data[].categoryInfos[].titleRu | string | optional | Category Russian name Example: {} |
data[].categoryInfos[].cnTitlePath | string | optional | Chinese category path Example: {} |
data[].categoryInfos[].enTitlePath | string | optional | English category path Example: {} |
data[].categoryInfos[].titlePath | string | optional | Russian category path Example: {} |
data[].categoryInfos[].id | string | optional | Category ID Example: example-id |
data[].categoryInfos[].crossBorderSellable | boolean | optional | Whether cross-border sales are allowed Example: false |
message | string | optional | Provider-specific message. Example: {} |
title | string | optional | Provider-specific response title. Example: {} |
sourceType | string | optional | Provider-specific source platform type. Example: {} |
sourceTool | string | optional | Provider-specific source tool name. Example: {} |
page | integer | optional | Current page returned by the upstream provider. Example: {} |
pageSize | integer | optional | Page size returned by the upstream provider. Example: {} |
pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: {} |
totalPage | integer | optional | Total page count returned by the upstream provider. Example: {} |
dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: {} |
Examples
Example arguments
{
"matchType": 1,
"categories": [],
"searchDate": "2026-01-01",
"page": {
"pageSize": 10,
"page": 1
},
"keywords": [
"phone case"
],
"uId": "example-id"
}Example structuredContent
{
"errcode": 1,
"total": 1,
"data": [
{
"query": "phone case",
"queryCn": "phone case",
"platform": 1,
"searchVolume": 1,
"count30GrowthRate": 1,
"productCount": 1,
"competingProducts": 1,
"sellers": 1,
"avgPrice": 1,
"itemsViews": 1,
"viewSharing": 1,
"conversionSharing": 1,
"marketSpace": 1,
"returnCancellationRate": 1,
"uniqQueriesWCa": 1,
"ca": 1,
"categories": [],
"categoryInfos": [
{
"id": "example-id",
"crossBorderSellable": false
}
],
"products": [
{
"ozonId": 1,
"sku": 1,
"imageUrl": "https://example.com/image.jpg",
"advert": 1
}
],
"id": "example-id"
}
],
"columns": [],
"costTime": 1,
"costToken": 1
}