Ozon Intelligence SR
Ozon Intelligence SR: ozon/shop Search API
Ozon Intelligence SR: ozon/shop Search API.
MCP tool name
nexscope_data_sr_ozon_shop_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": "data-sr-ozon-shop-search-1",
"method": "tools/call",
"params": {
"name": "nexscope_data_sr_ozon_shop_search",
"arguments": {
"id": 1362816,
"page": {
"orders": [
{
"direction": "DESC",
"field": "sales"
}
],
"page": 1,
"pageSize": 20
}
}
}
}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 |
|---|---|---|---|
id | integer | required | Store (seller) ID, which is the `sellerId` returned by other SR Ozon tools; negative values are self-operated sellers on the Ozon platform, and positive values are third-party sellers. Example: {} |
page | object | required | Paging and sorting: `{page, pageSize, orders[]}`. Example: {} |
page.page | integer | optional | Page number, starting from 1. Example: 1 |
page.pageSize | integer | optional | The maximum number of items per page is 20. If exceeded, `errcode 1002` will be returned. Example: 20 |
page.orders | array | optional | Sorting rule, the element is `{field, direction}`; `direction` takes `DESC` or `ASC`. Commonly used fields: `sales`, `price`, `reviewRating`, `upTime`. Example: {} |
uId | string | optional | User ID, up to 1000. Example: {} |
memberId | string | optional | Member ID; a member's unique identifier, the data belongs to this member, the maximum number is 1000. Example: {} |
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 number of records returned on this page is equal to the number of data items on the current page, not the total number of items in the store. Example: {} |
totalSales | integer | optional | The total sales volume of the store in the past 30 days. Example: {} |
totalRevenue | integer | optional | Total store sales in rubles. Example: {} |
dailySales | integer | optional | The average daily sales volume of the store. Example: {} |
rating | number | optional | Store rating, 0–5. Example: {} |
productCount | integer | optional | The total number of products in the store, the entire store, not the number of items on the current page. Example: {} |
fulfillment | object | optional | The distribution of store delivery methods, the key is `FBO` / `FBS`, and the value is the number of corresponding products; it is different from the product-level delivery array. Example: {} |
data | array | optional | Store product list, element fields are shown in the table below. Example: {} |
products | array | optional | The store product list is completely consistent with the content of `data`. Example: {} |
hasNextPage | boolean | optional | Is there a next page? 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: {} |
productId | integer | optional | Unified product ID, mapped from `sku`. Example: {} |
sku | integer | optional | Product SKU. Example: {} |
rating | number | optional | Unified scoring, mapped from `reviewRating`. Example: {} |
reviewRating | number | optional | Product ratings. Example: {} |
weight | number | optional | Product weight, unit g. Example: {} |
sales | integer | optional | Product sales in the past 30 days. Example: {} |
monthlySalesUnits | integer | optional | Unified monthly sales, mapped from `sales`. Example: {} |
upTime | integer | optional | Product shelf time, millisecond timestamp. Example: {} |
price | number | optional | Commodity price in rubles. Example: {} |
currency | string | optional | Currency, fixed to `₽`. Example: {} |
imageUrl | string | optional | Unify the main image URL. Example: {} |
fulfillment | array | optional | Product shipping method, such as `["FBO"]`, may contain multiple values. Example: {} |
sellerType | integer | optional | Seller type: `0` local, `1` cross-border. Example: {} |
returnCancellationRate | number | optional | Product return cancellation rate, percentage; may be missing for self-operated sellers on the Ozon platform. Example: {} |
sourceType | string | optional | Data source, fixed to `ozon`. Example: {} |
Examples
Example arguments
{
"id": 1362816,
"page": {
"orders": [
{
"direction": "DESC",
"field": "sales"
}
],
"page": 1,
"pageSize": 20
}
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}