Ozon Brand Products API
REST API and MCP service documentation generated from server-side API definitions. Responses use the shared code, msg, and data envelope.
API selector
REST API and MCP service documentation generated from server-side API definitions. Responses use the shared code, msg, and data envelope.
List products under an Ozon brand with sales, revenue, price, rating, stock, turnover, and lost-revenue metrics for brand benchmarking.
https://api.nexscope.ai/api/skill-api/v1/skills/ozon-brand-products/runnexscope_ozon_brand_productsAll run endpoints require a user API key. Send it as a bearer token in the Authorization header.
Authorization: Bearer nk-xxxxxxxxxxxxxxxxxhttps://api.nexscope.ai/api/skill-api/v1/skills/ozon-brand-products/runRequest parameters documented by ecommerce.ozon-brand-products.
| Slug | ozon-brand-products |
| Headers | Authorization: Bearer nk-...Content-Type: application/json |
| Request body | API-specific JSON object. |
| Response body | Platform envelope: code, msg, data, ts, time, cost, traceId. Inspect data.status for asynchronous completion. |
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
Replace YOUR_API_KEY, then run this command in your terminal.
curl -X POST 'https://api.nexscope.ai/api/skill-api/v1/skills/ozon-brand-products/run' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"endDate": "2026-01-31",
"page": 1,
"brandName": "COMMO",
"currencyRate": 1,
"startDate": "2026-01-01",
"includeFbs": false,
"pageSize": 100
}'https://api.nexscope.ai/api/skill-api/v1/skills/ozon-brand-products/runSend a JSON request to execute this API and receive the documented response payload.
| Method | POST |
| Path | https://api.nexscope.ai/api/skill-api/v1/skills/ozon-brand-products/run |
| Auth | Bearer API key |
| Content-Type | application/json |
| Name | Type | Required | Description |
|---|---|---|---|
brandName | string | required | Ozon brand display name (Russian or Latin) Example: COMMO |
startDate | string | optional | Statistics start date, YYYY-MM-DD; latest is yesterday Example: 2026-01-01 |
endDate |
{
"endDate": "2026-01-31",
"page": 1,
"brandName": "COMMO",
"currencyRate": 1,
"startDate": "2026-01-01",
"includeFbs": false,
"pageSize": 100
}Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"total": 1,
"products": [
{
"productId": 1,
"brandId": 1,
"sellerId": 1,
"nicheId": 1,
"firstDate": "2026-01-01",
"imageUrl": "https://example.com/image.jpg",
"productPageUrl": "https://example.com/image.jpg",
"price": 1,
"oldPrice": 1,
"ozonCardPrice": 1,
"minPrice": 1,
"maxPrice": 1,
"averagePrice": 1,
"rating": 1,
"reviewCount": 1,
"balance": 1,
"balanceFbs": 1,
"frozenStocks": 1,
"warehousesCount": 1,
"isFbs": false,
"salesPerDay": 1,
"monthlySalesUnits": 1,
"monthlySalesRevenue": 1,
"lostProfit": 1,
"daysInSite": 1,
"daysInStock": 1,
"turnoverDays": 1,
"position": 1,
"categoryPosition": 1,
"revenueSharePercent": 1
}
],
"columns": [],
"costTime": 1,
"costToken": 1
},
"code": 0,
"msg": null,
"ts": "0",
"time": "2026-01-01 00:00:00",
"cost": "-1",
"traceId": null
}| Name | Type | Required | Description |
|---|---|---|---|
data | any | required | Data value used by this API operation. |
code | integer | required | 0 means accepted or successful; nonzero is a platform error. |
msg | string | null | required | Msg value used by this API operation. |
ts |
| Code | Description |
|---|---|
| 200 | HTTP request completed. Check JSON code; only 0 indicates business success or acceptance. |
| 400 | Request JSON or required API parameters are invalid. |
| 401 | API key is missing, invalid, or cannot be matched to a user. |
| 5xx | API execution or upstream service failed. |
Source, freshness, coverage, rate limits, and estimation notes are not specified in this API definition unless they appear in the request or response field documentation above. Do not assume official marketplace data or real-time freshness when it is not explicitly documented.
Connect remote agents through the standard MCP 2025-11-25 Streamable HTTP endpoint. Use OAuth 2.1 Authorization Code with PKCE, or an API key for compatibility.
POST https://api.nexscope.ai/api/skill-api/v2/mcp
MCP-Protocol-Version: 2025-11-25
Content-Type: application/jsonOAuth clients request the mcp:tools scope. The endpoint's 401 response advertises protected-resource metadata for authorization discovery.
{
"jsonrpc": "2.0",
"id": "tool-call-1",
"method": "tools/call",
"params": {
"name": "nexscope_ozon_brand_products",
"arguments": {
"endDate": "2026-01-31",
"page": 1,
"brandName": "COMMO",
"currencyRate": 1,
"startDate": "2026-01-01",
"includeFbs": false,
"pageSize": 100
}
}
}Existing API-key clients can continue using the compatibility endpoint. New integrations should use MCP v2.
GET / POST /api/skill-api/v1/mcpExecute the current API with your API key and JSON payload.
Send a real request with the same contract shown in the reference.
https://api.nexscope.ai/api/skill-api/v1/skills/ozon-brand-products/runnexscope_ozon_brand_productscurl -X POST \
https://api.nexscope.ai/api/skill-api/v1/skills/ozon-brand-products/run \
-H "Authorization: Bearer nk-..." \
-H "Content-Type: application/json" \
-d '{ "endDate": "2026-01-31", "page": 1, "brandName": "COMMO", "currencyRate": 1, "startDate": "2026-01-01", "includeFbs": false, "pageSize": 100 }'No response yet. Run the request to see the response here.
List products in an Ozon category with sales, revenue, price, rating, stock, turnover, and lost-revenue metrics.
Analyze products in an Ozon category by category ID, including aggregate sales, revenue, pricing, ratings, seasonality, brand, and seller data.
Retrieve full details for up to 100 Ozon SKUs, including price, discount, ratings, stock, sales, revenue, listing date, and images.
Retrieve a single Ozon SKU’s pricing, sales, stock, ranking, trend, brand, seller, fulfillment, weight, and listing-age data.
string| optional |
Statistics end date, YYYY-MM-DD; latest is yesterday Example: 2026-01-01 |
page | integer | optional | Page number, starting from 1 Example: 1 |
pageSize | integer | optional | Rows per page, 1-100, default 100 Example: 100 |
sortField | string | optional | Sort column name (snake_case), e.g., sales, revenue, final_price, balance, rating |
sortDirection | string | optional | asc ascending / desc descending |
currency | string | optional | Currency code for result amounts, default RUB, e.g., USD / EUR / CNY Example: RUB |
currencyRate | integer | optional | Custom exchange rate (for non-default currency) Example: 1 |
includeFbs | boolean | optional | Whether to include FBS data Example: false |
filters | array | optional | Numeric conditions combined with AND Example: [] |
filters[].field | string | optional | Snake-case numeric column name, such as sales, final_price, rating, comments, balance, revenue, days_in_stock, turnover_days, lost_profit or category_position Example: sales |
filters[].op | string | optional | GTE, LTE, GT, LT, EQ, NOT_EQ or BETWEEN Example: GTE |
filters[].value | number | optional | Primary value; lower bound for BETWEEN Example: 1 |
filters[].value2 | number | optional | Required upper bound for BETWEEN Example: 2 |
string |
| required |
Epoch milliseconds. |
time | string | required | Server local time: yyyy-MM-dd HH:mm:ss. |
cost | string | required | Elapsed milliseconds, never credits; -1 outside web requests. |
traceId | string | null | required | Trace id value used by this API operation. |
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.total | integer | optional | Total number of matched products under the brand Example: 1 |
data.products | array | optional | Product list (see details below) Example: [] |
data.products[] | object | required | Item in data products. |
data.products[].productId | integer | optional | SKU ID Example: 1 |
data.products[].title | string | optional | Product name (Russian) Example: null |
data.products[].brand | string | optional | Brand Example: null |
data.products[].brandId | integer | optional | Brand ID Example: 1 |
data.products[].sellerName | string | optional | Seller name Example: null |
data.products[].sellerId | integer | optional | Seller ID Example: 1 |
data.products[].category | string | optional | Category path (Russian, / separated) Example: null |
data.products[].nicheName | string | optional | Niche path (Russian) Example: null |
data.products[].nicheId | integer | optional | Niche ID Example: 1 |
data.products[].country | string | optional | Country of sale, always RU for Ozon Example: null |
data.products[].firstDate | string | optional | Listing date (yyyy-MM-dd) Example: 2026-01-01 |
data.products[].imageUrl | string | optional | Main image URL Example: https://example.com/image.jpg |
data.products[].productPageUrl | string | optional | Product page URL Example: https://example.com/image.jpg |
data.products[].sourceTool | string | optional | Source tool identifier Example: null |
data.products[].sourceType | string | optional | Data source identifier Example: null |
data.products[].price | number | optional | Current selling price Example: 1 |
data.products[].oldPrice | number | optional | Original price before discount Example: 1 |
data.products[].ozonCardPrice | number | optional | Ozon Card price Example: 1 |
data.products[].minPrice | number | optional | Minimum price during the statistics period Example: 1 |
data.products[].maxPrice | number | optional | Maximum price during the statistics period Example: 1 |
data.products[].averagePrice | number | optional | Average price during the statistics period Example: 1 |
data.products[].currency | string | optional | Currency symbol (₽ / $ / €) Example: null |
data.products[].rating | number | optional | Rating, 0-5 Example: 1 |
data.products[].reviewCount | integer | optional | Number of reviews Example: 1 |
data.products[].balance | integer | optional | Current stock (units) Example: 1 |
data.products[].balanceFbs | integer | optional | FBS stock (seller self-ship units) Example: 1 |
data.products[].frozenStocks | integer | optional | Slow-moving stock Example: 1 |
data.products[].warehousesCount | integer | optional | Number of FBO warehouses Example: 1 |
data.products[].isFbs | boolean | optional | Whether shipped via FBS Example: false |
data.products[].salesPerDay | number | optional | Average daily sales (units/day) Example: 1 |
data.products[].monthlySalesUnits | integer | optional | Sales volume during the statistics period (units) Example: 1 |
data.products[].monthlySalesRevenue | number | optional | Sales revenue during the statistics period Example: 1 |
data.products[].lostProfit | number | optional | Lost revenue (due to stockouts, etc.) Example: 1 |
data.products[].daysInSite | integer | optional | Days on sale (statistics period, including out-of-stock days) Example: 1 |
data.products[].daysInStock | integer | optional | Days in stock Example: 1 |
data.products[].turnoverDays | number | optional | Turnover days (lower is faster) Example: 1 |
data.products[].position | integer | optional | Ranking within the current query dimension (brand for this endpoint) Example: 1 |
data.products[].categoryPosition | integer | optional | Ranking within the category Example: 1 |
data.products[].revenueSharePercent | number | optional | Revenue share of this SKU within the current query dimension, 0-100 Example: 1 |
data.columns | array | optional | Rendered column definitions Example: [] |
data.costTime | integer | optional | API latency (milliseconds) Example: 1 |
data.costToken | integer | optional | Tokens consumed Example: 1 |
data.type | string | optional | Response type Example: null |
data.title | string | optional | Provider-specific response title. Example: null |
data.sourceType | string | optional | Provider-specific source platform type. Example: null |
data.sourceTool | string | optional | Provider-specific source tool name. Example: null |
data.page | integer | optional | Current page returned by the upstream provider. Example: null |
data.pageSize | integer | optional | Page size returned by the upstream provider. Example: null |
data.pageItemCount | integer | optional | Item count on the current page returned by the upstream provider. Example: null |
data.totalPage | integer | optional | Total page count returned by the upstream provider. Example: null |
data.dataSnapshotMonth | string | optional | Data snapshot month returned by the upstream provider. Example: null |
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |