https://api.nexscope.ai/api/skill-api/v1/skills/ozon-product-report-search/runRun this API
Send a JSON request to execute this API and receive the documented response payload.
Endpoint
| Method | POST |
| Path | https://api.nexscope.ai/api/skill-api/v1/skills/ozon-product-report-search/run |
| Auth | Bearer API key |
| Content-Type | application/json |
Request body
| Name | Type | Required | Description |
|---|---|---|---|
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: 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: [
{
"field": "sales",
"direction": "DESC"
}
] |
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 (Seerfar 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 (e.g., 2026-04-01); defaults to last 30 days if omitted; passing 2026-04-01 queries March 2026 data Example: 2026-01-01 |
tag | string | optional | Tag word |
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 Example: {
"max": 1000
} |
volume | object | optional | Volume range in liters: {min, max}; either bound may be omitted Example: {
"max": 10
} |
Request example
{
"skus": [
"1664362124"
],
"page": {
"pageSize": 10,
"page": 1
}
}Response body
| 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 | 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. |
Any of option 1
| Name | Type | Required | Description |
|---|---|---|---|
data | object | required | Data value used by this API operation. |
data.total | integer | optional | Total matched record count (can reach tens of millions with no filters; equals hit count when using skus precise lookup) Example: 1 |
data.data | array | optional | Product report data (see details below), content identical to products Example: [] |
data.products | array | optional | Product report data (identical to data, two keys for the same data) Example: [] |
data.columns | array | optional | Column definitions, elements contain {field, title, cellType, sortable, filterable}, identifying sortable/filterable fields Example: [] |
data.type | string | optional | Response display type, e.g., productWorkbenches Example: null |
data.costTime | integer | optional | API latency (milliseconds) Example: 1 |
data.costToken | integer | optional | Tokens consumed Example: 1 |
data.data[].sku | integer | optional | Product SKU Example: 1 |
data.data[].productId | integer | optional | Unified product ID (= sku) Example: 1 |
data.data[].title | string | optional | Product title (original Russian) Example: null |
data.data[].imageUrl | string | optional | Product main image URL Example: https://example.com/image.jpg |
data.data[].productUrl | string | optional | Product URL Example: https://example.com/image.jpg |
data.data[].productPageUrl | string | optional | Unified product page URL (= productUrl) Example: https://example.com/image.jpg |
data.data[].currency | string | optional | Currency, always ₽ Example: null |
data.data[].sourceType | string | optional | Data source, always ozon Example: null |
data.data[].sourceTool | string | optional | Source tool identifier for the Ozon bestseller report endpoint Example: null |
data.data[].sales | integer | optional | Monthly sales volume Example: 1 |
data.data[].monthlySalesUnits | integer | optional | Unified monthly sales (= sales) Example: 1 |
data.data[].revenue | number | optional | Monthly sales revenue (RUB) Example: 1 |
data.data[].monthlySalesRevenue | number | optional | Unified monthly revenue (= revenue) Example: 1 |
data.data[].missedRevenue | number | optional | Lost revenue (RUB) Example: 1 |
data.data[].price | number | optional | Price (RUB) Example: 1 |
data.data[].convToCartPdp | number | optional | Cart conversion rate (%) Example: 1 |
data.data[].orderConversionRate | number | optional | Order conversion rate (%) Example: 1 |
data.data[].salesRate | number | optional | Sales growth rate (%) Example: 1 |
data.data[].revenueRate | number | optional | Revenue growth rate (%) Example: 1 |
data.data[].drr | number | optional | Ad cost share (ratio) Example: 1 |
data.data[].grossMargin | number | optional | Gross margin (%) Example: 1 |
data.data[].returnCancellationRate | number | optional | Return/cancellation rate (%) Example: 1 |
data.data[].views | integer | optional | Views Example: 1 |
data.data[].reviewRating | number | optional | Rating (0~5) Example: 1 |
data.data[].rating | number | optional | Unified rating (= reviewRating) Example: 1 |
data.data[].reviewCount | integer | optional | Review count Example: 1 |
data.data[].questionsAndAnswers | integer | optional | QA count Example: 1 |
data.data[].variants | integer | optional | Variant count Example: 1 |
data.data[].fulfillment | array | optional | Fulfillment methods (values OZON/FBO/FBS/RFBS/FBP) Example: [] |
data.data[].weight | number | optional | Weight (g) Example: 1 |
data.data[].volume | number | optional | Volume (L) Example: 1 |
data.data[].upTime | integer | optional | Listing timestamp (milliseconds) Example: 1 |
data.data[].upDays | integer | optional | Days since listing Example: 1 |
data.data[].upMonths | integer | optional | Months since listing Example: 1 |
data.data[].brandName | string | optional | Brand name Example: null |
data.data[].brand | string | optional | Unified brand (= brandName) Example: null |
data.data[].brandId | integer | optional | Brand ID Example: 1 |
data.data[].brandUrl | string | optional | Brand link Example: https://example.com/image.jpg |
data.data[].sellerName | string | optional | Seller name Example: null |
data.data[].sellerId | integer | optional | Seller ID (may be negative for Ozon self-operated) Example: 1 |
data.data[].categoryInfo | object | optional | Category information (see below) Example: {} |
data.columns[].cnTitlePath | string | optional | Chinese category path Example: null |
data.columns[].enTitlePath | string | optional | English category path Example: null |
data.columns[].titlePath | string | optional | Russian category path Example: null |
data.columns[].fullCategoryId | array | optional | Full category ID hierarchy array Example: [] |
data.columns[].category | object | optional | Category node: {cnTitle, enTitle, title, level, id, pid, crossBorderSellable, disabled} Example: {} |
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 |
Any of option 2
| Name | Type | Required | Description |
|---|---|---|---|
data | null | required | Data value used by this API operation. |
Response example
Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"total": 1,
"data": [
{
"sku": 1,
"productId": 1,
"imageUrl": "https://example.com/image.jpg",
"productUrl": "https://example.com/image.jpg",
"productPageUrl": "https://example.com/image.jpg",
"sales": 1,
"monthlySalesUnits": 1,
"revenue": 1,
"monthlySalesRevenue": 1,
"missedRevenue": 1,
"price": 1,
"convToCartPdp": 1,
"orderConversionRate": 1,
"salesRate": 1,
"revenueRate": 1,
"drr": 1,
"grossMargin": 1,
"returnCancellationRate": 1,
"views": 1,
"reviewRating": 1,
"rating": 1,
"reviewCount": 1,
"questionsAndAnswers": 1,
"variants": 1,
"fulfillment": [],
"weight": 1,
"volume": 1,
"upTime": 1,
"upDays": 1,
"upMonths": 1,
"brandId": 1,
"brandUrl": "https://example.com/image.jpg",
"sellerId": 1,
"categoryInfo": {}
}
],
"products": [],
"columns": [
{
"fullCategoryId": [],
"category": {}
}
],
"costTime": 1,
"costToken": 1
},
"code": 0,
"msg": null,
"ts": "0",
"time": "2026-01-01 00:00:00",
"cost": "-1",
"traceId": null
}Responses
| 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. |
Data source, freshness, and limitations
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.