Walmart Intelligence ST
Walmart Product Analysis
Analyze Walmart products, detail records, performance trends, and dated sales volume. Results come back as structured JSON. Call it via REST API or MCP.
MCP tool name
nexscope_walmart_product_analysisMCP 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": "walmart-product-analysis-1",
"method": "tools/call",
"params": {
"name": "nexscope_walmart_product_analysis",
"arguments": {
"operation": "detail",
"productId": "5169493923"
}
}
}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
operation: searchByName
| Name | Type | Required | Description |
|---|---|---|---|
name | string | required | Product name required by searchByName Minimum length: 1 |
operation | string | required | Operation: searchByName, detail, trend, or salesVolume Constant: searchByName |
pageIndex | integer | optional | Page number, starting at 1 Default: 1 Minimum: 1 |
operation: detail
| Name | Type | Required | Description |
|---|---|---|---|
operation | string | required | Operation: searchByName, detail, trend, or salesVolume Constant: detail |
productId | string | required | Walmart product ID required by detail, trend, and salesVolume Minimum length: 1 |
operation: trend
| Name | Type | Required | Description |
|---|---|---|---|
operation | string | required | Operation: searchByName, detail, trend, or salesVolume Constant: trend |
productId | string | required | Walmart product ID required by detail, trend, and salesVolume Minimum length: 1 |
operation: salesVolume
| Name | Type | Required | Description |
|---|---|---|---|
operation | string | required | Operation: searchByName, detail, trend, or salesVolume Constant: salesVolume |
pageIndex | integer | optional | Page number, starting at 1 Default: 1 Minimum: 1 |
productId | string | required | Walmart product ID required by detail, trend, and salesVolume Minimum length: 1 |
queryDate | string | optional | Sales-volume start date in YYYY-MM-DD format Format: date |
queryEndDate | string | optional | Sales-volume end date in YYYY-MM-DD format Format: date |
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 Example: {} |
data | object | optional | Fixed response container; `data.value` retains each operation's ST primitive object, array, scalar, or `null` Example: {} |
operation | string | optional | `searchByName`, `detail`, `trend` or `salesVolume` actually executed 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` (no data), 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: {} |
searchByName | array<object> | optional | Related product summary array Example: {} |
detail | object | optional | Single product details object Example: {} |
trend | object | optional | Single product trend object Example: {} |
salesVolume | array<array> | optional | Sales record row array; each row is `[date, sales, type]` 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 / null | optional | Variant data; `searchByName` is encoded differently than `detail`, see 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: {} |
Pickup | integer | optional | Detail extension: Pickup tag mark; `1` indicates existence Example: {} |
Savewith | integer | optional | Detail extension: Save with label mark; `1` indicates existence Example: {} |
Bestseller | integer | optional | Detail extension: Best Seller tag; `1` indicates existence Example: {} |
UpdateDate | string / null | optional | Detail extension: product data update time, usually `yyyy-MM-dd` 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: {} |
ProductId | string | optional | Walmart ProductId Example: {} |
ListingSalesVolumeOfMonth | integer | optional | Estimated sales volume of the current Listing dimension in the past 30 days Example: {} |
ListingSalesOfMonth | integer | optional | Estimated sales of the current Listing dimension in the past 30 days; the unit for the US site is cents Example: {} |
ListingSalesVolumeOfMonthTrend | array<string> | optional | Monthly sales history, coded by `[yyyy-MM-dd, sales volume, ...]` Example: {} |
ListingSalesOfMonthTrend | array<string> | optional | Monthly sales history, coded by `[yyyy-MM-dd, sales, ...]`; amount unit is cents Example: {} |
PriceTrend | array<string> | optional | Price history, encoded by `[yyyy-MM-dd, price, ...]`; amounts are in cents Example: {} |
ReviewsTrend | array<string> | optional | Comment count history, encoded by `[yyyy-MM-dd, comment count, ...]` Example: {} |
StarTrend | array<string> | optional | Rating history, encoded as `[yyyy-MM-dd, rating, ...]`; current response example value is `5.00` Example: {} |
RankTrend | array<array<string>> | optional | Ranking history of each category; each row is encoded by `[category name, NodeId, date, ranking, date, ranking, ...]` Example: {} |
Examples
Example arguments
{
"operation": "detail",
"productId": "5169493923"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}