Walmart Intelligence ST
Walmart Intelligence ST: walmart/keyword Research API
Walmart Intelligence ST: walmart/keyword Research API.
MCP tool name
nexscope_data_st_walmart_keyword_researchMCP 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-st-walmart-keyword-research-1",
"method": "tools/call",
"params": {
"name": "nexscope_data_st_walmart_keyword_research",
"arguments": {
"operation": "marketQuery",
"pageIndex": 1,
"pageSize": 20,
"pattern": {
"keyword": "wireless"
}
}
}
}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
No arguments are defined for this tool.
Response fields
Treat structuredContent as the programmatic API response payload.
| Name | Type | Required | Description |
|---|---|---|---|
errcode | integer | optional | Gateway framework layer status code; `200` indicates that the request successfully entered the business response Example: {} |
errmsg | string | optional | Gateway framework layer status message; typically `ok` on success Example: {} |
code | integer | optional | `200` indicates success Example: {} |
msg | string | optional | Response message; when there is no data, it may be "query successful, but no data" Example: {} |
data | object | optional | Fixed response container; actual business results are in `data.value` Example: {} |
operation | string | optional | The actual operation performed this time Example: {} |
requestConsumed | integer | optional | This upstream consumption; when the upstream is missing or returns 0, it is completed according to the document consumption of the operation; when ST explicitly returns `Code=11`, it remains 0 Example: {} |
costTime | integer | optional | Time taken, unit is milliseconds Example: {} |
costToken | integer / absent | optional | Production gateway response header `X-Cost-Token`; the entry script will be copied to this field, and this field is currently missing when parsing the JSON body directly. Example: {} |
costCredit | integer / absent | optional | Production gateway response header `X-Cost-Credit`, which is the actual computing power deducted this time; the entry script will be copied to this field Example: {} |
sourceType | string | optional | `st` Example: {} |
marketQuery | array<object> | optional | keyword summary array Example: {} |
searchByName | array<object> | optional | Keyword summary array related to product or category name Example: {} |
searchProducts | array<object> | optional | Product summary array in search results for the keyword in the past 15 days Example: {} |
detail | object | optional | Single keyword summary object Example: {} |
productKeywords | array<object> | optional | Records of the keywords that the product has been exposed on the first three pages of search results in the past 30 days Example: {} |
relatedKeywords | array<object> | optional | Related keyword summary array Example: {} |
favoriteAdd | integer | optional | Favorite result code Example: {} |
favoriteChange | integer | optional | Delete or move result codes Example: {} |
favoriteList | array<string> | optional | Array of keywords or directory names, the specific content is determined by `command` Example: {} |
Keyword | string | optional | keywords Example: {} |
KeywordCNName | string | optional | Keyword Chinese name Example: {} |
Images | array<string> | optional | Keyword search results Top 10 product image URL Example: {} |
Update | string | optional | Keyword last updated time, usually `yyyyMMdd` Example: {} |
Rank | integer | optional | Weekly search ranking Example: {} |
SearchVolume | number | optional | Last 30 days search volume; may be transmitted by upstream as a JSON number with decimals Example: {} |
ProductCount | integer | optional | Number of competing products displayed on Walmart search page Example: {} |
SearchFirstPageAvgPrice | integer | optional | The average price of natural products on the first page of search results; the unit on the US site is cents Example: {} |
SearchFirstPageAvgReviews | number | optional | Average number of reviews for natural products on the first page of search results Example: {} |
SearchFirstPageAvgStar | number | optional | Average rating of natural products on the first page of search results Example: {} |
ShowShare | number | optional | The proportion of exposure traffic this keyword brings to the product Example: {} |
RecentlyPosition | string | optional | The most recently exposed position, such as `1,2/18` means page 1, position 2, 18 positions in total Example: {} |
OrganicPosition | string | optional | The most recent natural exposure position, the encoding is the same as `RecentlyPosition` Example: {} |
AdPosition | string | optional | The most recent ad exposure position, coded the same as `RecentlyPosition` Example: {} |
Keyword | object | optional | Complete keyword summary object; see "Keyword Summary Field" for fields Example: {} |
Title | string | optional | Product title Example: {} |
Photo | array<string> | optional | Product image URL array Example: {} |
ListingSalesVolumeOfMonth | integer | optional | Estimated sales volume in the last 30 days in the Listing dimension, without distinguishing between variants Example: {} |
ListingSalesOfMonth | integer | optional | Estimated sales in the past 30 days in the Listing dimension; the unit for the US site is cents Example: {} |
ProductId | string | optional | Walmart ProductId Example: {} |
ParentProductId | string | optional | Parent product ProductId Example: {} |
Price | integer | optional | Selling price; the US site unit is cents, such as `1999` means `$19.99` Example: {} |
Brand | string | optional | brand Example: {} |
Seller | string | optional | Seller name at the time of collection Example: {} |
Shipedby | string | optional | The delivery method at the time of collection; the field name is the original spelling of the upstream Example: {} |
WFSFee | integer | optional | WFS fee; US site unit is cents Example: {} |
Attribute | array<string> / null | optional | Product attributes, interleaved encoding according to `[attribute name, attribute value, ...]` Example: {} |
FirstReviewsDate | string / null | optional | Date of first comment in the format `yyyy-MM-dd` Example: {} |
ReviewsCount | integer | optional | Number of comments Example: {} |
Ratings | number | optional | Rating, like `4.8` Example: {} |
NodePath | array<string\|null> | optional | Category and ranking records are grouped and coded according to `[category name, NodeId, ranking date, ranking, ...]`; when the ranking on a certain day is missing, the corresponding position is `null` Example: {} |
Label | array<string> | optional | Product tags, such as `pickup`, `savewith`, `bestsell` Example: {} |
PopularPick | integer | optional | Popular Pick tag; `1` indicates existence Example: {} |
Clearance | integer | optional | Clearance tag; `1` indicates existence Example: {} |
ReducedPrice | integer | optional | Reduced Price tag; `1` indicates existence Example: {} |
Rollback | integer | optional | Rollback token; `1` indicates existence Example: {} |
FlashDeal | integer | optional | Flash Deal tag; `1` indicates existence Example: {} |
Size | array<string> / null | optional | Outer packaging size `[longest side, second longest side, shortest side]`, unit is cm Example: {} |
Weight | number | optional | Product weight in grams Example: {} |
Variants | array<object> / null | optional | Variation list, fields are shown in the table below Example: {} |
NumberOfStar | array<number\|string> / null | optional | The number of reviews for each star rating, according to `[star rating, number of reviews, ...]` staggered coding Example: {} |
VariantId | string | optional | Variant ProductId Example: {} |
Url | string | optional | Variant product URL Example: {} |
Property | array<string> | optional | Variant attributes, encoded by `[attribute name, attribute value, ...]` Example: {} |
PriceUpdate | string / null | optional | Price update time, usually `yyyy-MM-dd` Example: {} |
DetailUpdate | string / null | optional | Details update time, usually `yyyy-MM-dd`; when there is no valid date, upstream placeholders such as `--` may be used Example: {} |
operation | `data.value` | optional | Description Example: {} |
favoriteAdd | `0` | optional | Collection successful Example: {} |
favoriteAdd | `1` | optional | Keyword already exists Example: {} |
favoriteAdd | `9` | optional | Collection failed Example: {} |
favoriteChange | `0` | optional | Delete or move successfully Example: {} |
favoriteChange | `9` | optional | Keyword does not exist Example: {} |
favoriteList | array<string> | optional | `dict` returns the directory name; `all` or `dict=<directory>` returns the keyword Example: {} |
Examples
Example arguments
{
"operation": "marketQuery",
"pageIndex": 1,
"pageSize": 20,
"pattern": {
"keyword": "wireless"
}
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}