Ozon Keyword Back Search 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.
Reverse-lookup Ozon and Wildberries search terms for up to 20 SKUs, with volume, rank, exposure, competition, and conversion filters.
https://api.nexscope.ai/api/skill-api/v1/skills/ozon-keyword-back-search/runnexscope_ozon_keyword_back_searchAll 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-keyword-back-search/runRequest parameters documented by ecommerce.ozon-keyword-back-search.
| Slug | ozon-keyword-back-search |
| 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-keyword-back-search/run' \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"matchType": 1,
"type": [
"0"
],
"historyDate": "2026-02",
"skuIds": [
175924376
],
"page": {
"page": 1,
"pageSize": 20
},
"hasVariant": 1
}'https://api.nexscope.ai/api/skill-api/v1/skills/ozon-keyword-back-search/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-keyword-back-search/run |
| Auth | Bearer API key |
| Content-Type | application/json |
| Name | Type | Required | Description |
|---|---|---|---|
skuIds | array | required | Array of integer SKUs to back-search, max 20 Example: [
175924376
] |
hasVariant | integer | required | Whether to exclude variants: 0 do not exclude variants, 1 exclude variants Example: 1 |
page |
{
"matchType": 1,
"type": [
"0"
],
"historyDate": "2026-02",
"skuIds": [
175924376
],
"page": {
"page": 1,
"pageSize": 20
},
"hasVariant": 1
}Platform response envelope. code 0 indicates success or acceptance; data contains the business result.
{
"data": {
"total": 1,
"data": [
{
"query": "phone case",
"queryCn": "phone case",
"platform": 1,
"searchVolume": 1,
"count30GrowthRate": 1,
"productCount": 1,
"competingProducts": 1,
"sellers": 1,
"avgPrice": 1,
"itemsViews": 1,
"viewSharing": 1,
"conversionSharing": 1,
"marketSpace": 1,
"returnCancellationRate": 1,
"uniqQueriesWCa": 1,
"ca": 1,
"titleDensity": 1,
"wordCount": 1,
"categories": [],
"dimension": {
"type": 1,
"naturalRank": 1,
"exposure": 1,
"conversion": 1,
"x": []
},
"products": [
{
"ozonId": 1,
"sku": 1,
"imageUrl": "https://example.com/image.jpg",
"advert": 1
}
],
"id": "example-id",
"categoryInfos": [
{
"id": "example-id",
"crossBorderSellable": false
}
]
}
],
"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_keyword_back_search",
"arguments": {
"matchType": 1,
"type": [
"0"
],
"historyDate": "2026-02",
"skuIds": [
175924376
],
"page": {
"page": 1,
"pageSize": 20
},
"hasVariant": 1
}
}
}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-keyword-back-search/runnexscope_ozon_keyword_back_searchcurl -X POST \
https://api.nexscope.ai/api/skill-api/v1/skills/ozon-keyword-back-search/run \
-H "Authorization: Bearer nk-..." \
-H "Content-Type: application/json" \
-d '{ "matchType": 1, "type": [ "0" ], "historyDate": "2026-02", "skuIds": [ 175924376 ], "page": { "page": 1, "pageSize": 20 }, "hasVariant": 1 }'No response yet. Run the request to see the response here.
Reverse-lookup Amazon ASIN traffic keywords with organic and ad rankings, search volume, traffic share, conversion, and time-window metrics.
Expand seed keywords across 10 Amazon marketplaces with search volume, trends, PPC bids, ranking difficulty, and related metrics.
Query nearly three years of weekly Amazon Brand Analytics search-term data across 15 marketplaces. View request parameters, response fields, and MCP usage.
Evaluate competition for an Amazon keyword. Review market-level keyword metrics, request parameters, response fields, and MCP usage.
object |
| required |
Pagination & sorting: {page, pageSize, orders[]} 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) Example: [] |
matchType | integer | optional | Keyword match mode: 0 exact, 1 fuzzy Example: 1 |
type | array | optional | Array of strings: "0" organic search terms, "1" ad search terms; no filtering if omitted Example: [
"0"
] |
historyDate | string | optional | Historical month yyyy-MM (e.g., 2026-02); omitted for current period Example: 2026-02 |
includeKeywords | array | optional | Include keyword array (max 1000), only returns search terms containing the specified words Example: [] |
excludeKeywords | array | optional | Exclude keyword array (max 1000), removes irrelevant terms Example: [] |
searchVolume | object | optional | Monthly search volume range {min,max}; either bound may be omitted Example: {
"min": 1000
} |
searchChange30 | object | optional | 30-day search change range {min,max}; either bound may be omitted Example: {
"min": 0
} |
wordCount | object | optional | Keyword word count range {min,max}; either bound may be omitted Example: {
"min": 2
} |
productViews | object | optional | Product views range {min,max}; either bound may be omitted Example: {
"min": 100
} |
products | object | optional | Product count range {min,max}; either bound may be omitted Example: {
"min": 10
} |
sellers | object | optional | Seller count range {min,max}; either bound may be omitted Example: {
"min": 10
} |
marketSpace | object | optional | Market space range {min,max}; either bound may be omitted Example: {
"min": 100
} |
conversionSharing | object | optional | Conversion concentration range {min,max}; either bound may be omitted Example: {
"min": 0
} |
uniqQueriesWCa | object | optional | Add-to-cart count range {min,max}; either bound may be omitted Example: {
"min": 10
} |
ca | object | optional | Add-to-cart conversion rate range {min,max}; either bound may be omitted Example: {
"min": 0
} |
conversion | object | optional | Conversion rate range {min,max}; either bound may be omitted Example: {
"min": 0
} |
titleDensity | object | optional | Title density range {min,max}; either bound may be omitted Example: {
"min": 0
} |
adRivalCount | object | optional | Ad competitor count range {min,max}; either bound may be omitted Example: {
"min": 0
} |
adRank | object | optional | Ad ranking range {min,max}; either bound may be omitted Example: {
"min": 1
} |
naturalRank | object | optional | Organic ranking range {min,max}; either bound may be omitted Example: {
"min": 1
} |
exposure | object | optional | Exposure range {min,max}; either bound may be omitted Example: {
"min": 0
} |
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 |
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 record count Example: 1 |
data.data | array | optional | Keyword back-search data (see details below) Example: [] |
data.data[] | object | required | Item in data data. |
data.data[].query | string | optional | Keyword (original Russian) Example: phone case |
data.data[].queryCn | string | optional | Keyword Chinese translation Example: phone case |
data.data[].platform | integer | optional | Platform: 0 Ozon, 1 Wildberries Example: 1 |
data.data[].searchVolume | integer | optional | Monthly search volume Example: 1 |
data.data[].count30GrowthRate | number | optional | Monthly search growth (%, can be negative) Example: 1 |
data.data[].productCount | integer | optional | Product count (may be missing in some rows) Example: 1 |
data.data[].competingProducts | integer | optional | Competing product count Example: 1 |
data.data[].sellers | integer | optional | Seller count Example: 1 |
data.data[].avgPrice | number | optional | Average price Example: 1 |
data.data[].itemsViews | number | optional | Product visibility Example: 1 |
data.data[].viewSharing | number | optional | View concentration (%) Example: 1 |
data.data[].conversionSharing | number | optional | Conversion concentration (%) Example: 1 |
data.data[].marketSpace | number | optional | Market space Example: 1 |
data.data[].returnCancellationRate | number | optional | Return/cancellation rate (%) Example: 1 |
data.data[].uniqQueriesWCa | integer | optional | Add-to-cart count Example: 1 |
data.data[].ca | number | optional | Add-to-cart conversion rate (%) Example: 1 |
data.data[].titleDensity | number | optional | Title density Example: 1 |
data.data[].wordCount | integer | optional | Word count Example: 1 |
data.data[].categories | array | optional | Category ID array Example: [] |
data.data[].dimension | object | optional | Dimension object, carrying back-search-specific metrics (see below) Example: {} |
data.data[].dimension.type | integer | optional | Search term channel: 0 organic search term, 1 ad search term Example: 1 |
data.data[].dimension.naturalRank | integer | optional | Organic ranking (the back-searched SKU's organic position under this term) Example: 1 |
data.data[].dimension.exposure | number | optional | Exposure (0–1) Example: 1 |
data.data[].dimension.conversion | number | optional | Conversion rate (0–1) Example: 1 |
data.data[].dimension.x | array | optional | Position/pagination indicator, semantics opaque Example: [] |
data.data[].products | array | optional | Top product data (see below) Example: [] |
data.data[].products[] | object | required | Item in data data[] products. |
data.data[].products[].ozonId | integer | optional | Ozon product ID Example: 1 |
data.data[].products[].sku | integer | optional | SKU ID Example: 1 |
data.data[].products[].title | string | optional | Product title (Russian) Example: null |
data.data[].products[].imageUrl | string | optional | Main image URL Example: https://example.com/image.jpg |
data.data[].products[].advert | integer | optional | Ad indicator (0/1) Example: 1 |
data.data[].id | string | optional | Record ID Example: example-id |
data.data[].categoryInfos | array | optional | Schema-defined category information; current supplier examples omit it Example: [] |
data.data[].categoryInfos[] | object | required | Item in data data[] categoryInfos. |
data.data[].categoryInfos[].titleCn | string | optional | Category Chinese name Example: null |
data.data[].categoryInfos[].titleEn | string | optional | Category English name Example: null |
data.data[].categoryInfos[].titleRu | string | optional | Category Russian name Example: null |
data.data[].categoryInfos[].cnTitlePath | string | optional | Chinese category path Example: null |
data.data[].categoryInfos[].enTitlePath | string | optional | English category path Example: null |
data.data[].categoryInfos[].titlePath | string | optional | Russian category path Example: null |
data.data[].categoryInfos[].id | string | optional | Category ID Example: example-id |
data.data[].categoryInfos[].crossBorderSellable | boolean | optional | Whether cross-border sales are allowed Example: false |
data.columns | array | optional | Column definitions, elements contain {field, title, cellType, sortable, filterable} Example: [] |
data.costTime | integer | optional | API latency (milliseconds) Example: 1 |
data.costToken | integer | optional | Tokens consumed Example: 1 |
data.type | string | optional | Response display type, e.g., tableListWorkbenches 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. |