Ozon Intelligence SR
Ozon Product Report Search
Filter Ozon products by sales, revenue, growth, conversion, price, ratings, margin, returns, ads, seller, and fulfillment metrics. Call it via REST API or MCP.
MCP tool name
nexscope_ozon_product_report_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-product-report-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_ozon_product_report_search",
"arguments": {
"page": {
"page": 1,
"pageSize": 20
},
"skus": [
1664362124
]
}
}
}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 | Nonempty pagination and sorting object: {page, pageSize, orders[]}. Omitted nested defaults are not inserted. Ranges accept optional finite bounds and require min <= max; numeric strings and optional null remain backend compatibility extensions. Example: {
"page": 1,
"pageSize": 20
} |
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). field is a metric field in the response (e.g., sales, revenue, price, reviewRating, reviewCount, salesRate) Example: [
{
"direction": "DESC",
"field": "sales"
}
] |
skus | array | optional | SKU array (max 10), for precise lookup of specified products Example: [
1664362124
] |
keywords | array | optional | Keyword array, filters by product title Example: [] |
categoryIds | array | optional | Category ID array (Nexscope category IDs, not category names) Example: [] |
sellerName | array | optional | Seller name array Example: [] |
brand | object | optional | Brand filter: {brandName: array<string>, type: integer}; type takes 0 include brand, 1 exclude brand, 2 unbranded Example: {} |
fulfillment | array | optional | Fulfillment method array, fixed options: OZON, FBO, FBS, RFBS, FBP Example: [] |
labels | array | optional | Label array, fixed options: 0 new product, 1 genuine product, 2 best seller Example: [
2
] |
creationDate | integer | optional | Listing time filter (months), fixed options: 1 last 30 days, 3 last 90 days, 6 last 180 days, 12 last year, 24 last two years; no filtering if omitted Example: 1 |
variationsMerge | integer | optional | Whether to merge variants: 0 do not merge, 1 merge Example: 1 |
searchDate | string | optional | Query date yyyy-MM-dd. Omit for a rolling last-30-days period; provide a date to query the preceding complete historical month (2026-04-01 selects March 2026), not month-to-date. Example: 2026-04-01 |
tag | string | optional | Tag word Example: {} |
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 |
monthlySales | object | optional | Monthly sales range: {min, max}; either bound may be omitted Example: {
"min": 5000
} |
monthlySalesRate | object | optional | Sales growth-rate range: {min, max}; either bound may be omitted Example: {
"min": 10
} |
monthlyRevenue | object | optional | Monthly revenue range in RUB: {min, max}; either bound may be omitted Example: {
"min": 100000
} |
price | object | optional | Price range in RUB: {min, max}; either bound may be omitted Example: {
"max": 500
} |
convToCartPdp | object | optional | Cart conversion-rate range: {min, max}; either bound may be omitted Example: {
"min": 20
} |
reviewRating | object | optional | Rating range from 0 to 5: {min, max}; either bound may be omitted Example: {
"min": 4
} |
reviewCount | object | optional | Review-count range: {min, max}; either bound may be omitted Example: {
"min": 100
} |
questionsAndAnswers | object | optional | Question-and-answer count range: {min, max}; either bound may be omitted Example: {
"min": 1
} |
variants | object | optional | Variant-count range: {min, max}; either bound may be omitted Example: {
"min": 1
} |
drr | object | optional | Advertising cost-share range: {min, max}; either bound may be omitted Example: {
"max": 20
} |
grossMargin | object | optional | Gross-margin range: {min, max}; either bound may be omitted Example: {
"min": 10
} |
returnCancellationRate | object | optional | Return and cancellation-rate range: {min, max}; either bound may be omitted Example: {
"max": 10
} |
weight | object | optional | Weight range in grams: {min, max}; either bound may be omitted. The supplier does not specify whether packaging is included. Example: {
"max": 1000
} |
volume | object | optional | Volume range in liters: {min, max}; either bound may be omitted. The supplier does not specify whether this measures the item or parcel. Example: {
"max": 10
} |
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 | The total number of matching records, not the number of entries on the current page; it may reach tens of millions without filtering. Example: {} |
data | array | optional | Product report data, element fields are shown in the multiple field tables below. Example: {} |
products | array | optional | Product report data is completely consistent with the content of `data`. Example: {} |
columns | array | optional | Column definition, elements containing `field`, `title`, `cellType`, `sortable`, `filterable`. Example: {} |
type | string | optional | Response display type, such as `productWorkbenches`. Example: {} |
costTime | integer | optional | The interface consumes time in milliseconds. Example: {} |
costToken | integer | optional | The number of tokens consumed. Example: {} |
sku | integer | optional | Product SKU. Example: {} |
productId | integer | optional | Unified product ID, equal to `sku`. Example: {} |
title | string | optional | Product title, original Russian text. Example: {} |
imageUrl | string | optional | Product main image URL. Example: {} |
productUrl | string | optional | Product link. Example: {} |
productPageUrl | string | optional | Unified product page URL, equal to `productUrl`. Example: {} |
currency | string | optional | Currency, fixed to `β½`. Example: {} |
sourceType | string | optional | Data source, fixed to `ozon`. Example: {} |
sales | integer | optional | Monthly sales volume. Example: {} |
monthlySalesUnits | integer | optional | The unified monthly sales volume is equal to `sales`. Example: {} |
revenue | number | optional | Monthly sales in rubles. Example: {} |
monthlySalesRevenue | number | optional | Unified monthly sales, equal to `revenue`. Example: {} |
missedRevenue | number | optional | Lost sales in rubles. Example: {} |
price | number | optional | Price in rubles. Example: {} |
convToCartPdp | number | optional | Shopping cart conversion rate, percentage. Example: {} |
orderConversionRate | number | optional | Order conversion rate, percentage. Example: {} |
salesRate | number | optional | Sales growth rate, percentage. Example: {} |
revenueRate | number | optional | Sales growth rate, percentage. Example: {} |
drr | number | optional | Advertising cost share, ratio. Example: {} |
grossMargin | number | optional | Gross profit margin, percentage. Example: {} |
returnCancellationRate | number | optional | Return cancellation rate, percentage. Example: {} |
views | integer | optional | Views. Example: {} |
reviewRating | number | optional | Rating, 0β5. Example: {} |
rating | number | optional | Unified rating, equal to `reviewRating`. Example: {} |
reviewCount | integer | optional | Number of comments. Example: {} |
questionsAndAnswers | integer | optional | QA quantity. Example: {} |
variants | integer | optional | Number of variants. Example: {} |
fulfillment | array<string> | optional | Delivery method: `OZON`, `FBO`, `FBS`, `RFBS`, `FBP`. Example: {} |
weight | number | optional | Weight, unit g. Example: {} |
volume | number | optional | Volume, unit L. Example: {} |
upTime | integer | optional | Listing timestamp, milliseconds. Example: {} |
upDays | integer | optional | Number of days on shelf. Example: {} |
upMonths | integer | optional | Number of months on shelves. Example: {} |
brandName | string | optional | Brand name. Example: {} |
brand | string | optional | Unified brand, equal to `brandName`. Example: {} |
brandId | integer | optional | Brand ID. Example: {} |
brandUrl | string | optional | Brand link. Example: {} |
sellerName | string | optional | Seller name. Example: {} |
sellerId | integer | optional | Seller ID; Ozon self-operated may be negative. Example: {} |
categoryInfo | object | optional | Category information and structure are shown in the table below. Example: {} |
cnTitlePath | string | optional | Chinese category path. Example: {} |
enTitlePath | string | optional | English category path. Example: {} |
titlePath | string | optional | Russian category path. Example: {} |
fullCategoryId | array<string> | optional | A hierarchical array of complete category IDs. Example: {} |
category | object | optional | Category nodes, including `cnTitle`, `enTitle`, `title`, `level`, `id`, `pid`, `crossBorderSellable`, `disabled`. Example: {} |
Examples
Example arguments
{
"page": {
"page": 1,
"pageSize": 20
},
"skus": [
1664362124
]
}Example structuredContent
{}