Ozon Intelligence SR
Ozon Market Keyword Search
Find Ozon and Wildberries market keywords using search volume, growth, competition, pricing, sales, and conversion metrics. Call it via REST API or MCP.
MCP tool name
nexscope_ozon_market_keyword_searchMCP endpoint
https://api.nexscope.ai/mcpJSON-RPC method
tools/callAuthentication
Use OAuth 2.1 Authorization Code with PKCE and the mcp:tools scope. API keys remain supported as a compatibility option.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxIf authentication fails, ask the user to open API Access and copy a valid key.
Call this MCP tool
Initialize an MCP 2025-11-25 Streamable HTTP session at https://api.nexscope.ai/mcp, then use tools/call.
{
"jsonrpc": "2.0",
"id": "ozon-market-keyword-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_ozon_market_keyword_search",
"arguments": {
"page": {
"orders": [
{
"direction": "DESC",
"field": "searchVolume"
}
],
"page": 1,
"pageSize": 10
}
}
}
}MCP 2025-11-25 · Streamable HTTPProgress is delivered on the original POST SSE response. GET SSE carries notifications; reconnecting must query existing asynchronous work rather than submit again.
Arguments
| Name | Type | Required | Description |
|---|---|---|---|
page | object | required | Pagination & sorting: {page, pageSize, orders[]} Example: {
"page": 1,
"pageSize": 10
} |
page.page | integer | optional | Page number, starting from 1, default 1 Example: 1 |
page.pageSize | integer | optional | Items per page, default 20 Example: 20 |
page.orders | array | optional | Sort rules, elements {field, direction}; direction takes DESC (descending) / ASC (ascending) Example: [
{
"direction": "DESC",
"field": "searchVolume"
}
] |
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 | Description |
|---|---|---|---|
code | string | optional | Return code, `"200"` indicates success; returned when successful. Example: {} |
errcode | integer | optional | Error code, `200` indicates success; only this field may be returned when there is a business error. Example: {} |
msg | string | optional | Message; Success was `ok`. Example: {} |
errmsg | string | optional | Error message; success is `ok`, business error is a reason description. Example: {} |
total | integer | optional | Total number of records. Example: {} |
data | array | optional | Market hot word data, element fields are shown in the table below. Example: {} |
columns | array | optional | Column definition, elements containing `field`, `title`, `cellType`, `sortable`, `filterable`. Example: {} |
costTime | integer | optional | The interface consumes time in milliseconds. Example: {} |
costToken | integer | optional | The number of tokens consumed. Example: {} |
type | string | optional | Response display type, such as `tableListWorkbenches`. Example: {} |
query | string | optional | Keywords, original Russian text. Example: {} |
queryCn | string | optional | Keywords Chinese translation. Example: {} |
platform | integer | optional | Platform: `0` Ozon, `1` Wildberries. Example: {} |
searchVolume | integer | optional | Monthly search popularity. Example: {} |
count30GrowthRate | number | optional | Monthly search growth, percentage, can be negative. Example: {} |
productCount | integer | optional | Number of items, some rows may be missing. Example: {} |
competingProducts | integer | optional | Number of competing products. Example: {} |
sellers | integer | optional | Number of sellers. Example: {} |
avgPrice | number | optional | Average price. Example: {} |
itemsViews | number | optional | Product visibility. Example: {} |
viewSharing | number | optional | Browse concentration, percentage. Example: {} |
conversionSharing | number | optional | Conversion concentration, percentage. Example: {} |
marketSpace | integer | optional | market space. Example: {} |
returnCancellationRate | number | optional | Return cancellation rate, percentage. Example: {} |
uniqQueriesWCa | integer | optional | Number of additional purchases. Example: {} |
ca | number | optional | Add-to-purchase conversion rate, percentage. Example: {} |
categories | array | optional | Array of category IDs. Example: {} |
categoryInfos | array | optional | Category information and element fields are shown in the table below. Example: {} |
products | array | optional | Top product data, element fields are shown in the table below. Example: {} |
id | string | optional | Record ID. Example: {} |
ozonId | integer | optional | Ozon product ID. Example: {} |
sku | integer | optional | SKU ID。 Example: {} |
title | string | optional | Product title, Russian. Example: {} |
imageUrl | string | optional | Main image URL. Example: {} |
advert | integer | optional | Advertising logo: `0` / `1`. Example: {} |
titleCn | string | optional | Category Chinese name. Example: {} |
titleEn | string | optional | Category English name. Example: {} |
titleRu | string | optional | Category Russian name. Example: {} |
cnTitlePath | string | optional | Chinese category path. Example: {} |
enTitlePath | string | optional | English category path. Example: {} |
titlePath | string | optional | Russian category path. Example: {} |
id | string | optional | Category ID. Example: {} |
crossBorderSellable | boolean | optional | Whether it can be sold across borders. Example: {} |
Examples
Example arguments
{
"page": {
"orders": [
{
"direction": "DESC",
"field": "searchVolume"
}
],
"page": 1,
"pageSize": 10
}
}Example structuredContent
{}