Walmart Intelligence ST
Walmart Category Market
Find Walmart categories and review category market reports. Call the Walmart Category Market API via REST or MCP in your app or AI agent.
MCP tool name
nexscope_walmart_category_marketMCP 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-category-market-1",
"method": "tools/call",
"params": {
"name": "nexscope_walmart_category_market",
"arguments": {
"operation": "tree"
}
}
}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: tree
| Name | Type | Required | Description |
|---|---|---|---|
operation | string | required | Operation: tree, searchByName, or marketReport Constant: tree |
operation: searchByName
| Name | Type | Required | Description |
|---|---|---|---|
name | string | required | Category name required by searchByName Minimum length: 1 |
operation | string | required | Operation: tree, searchByName, or marketReport Constant: searchByName |
operation: marketReport
| Name | Type | Required | Description |
|---|---|---|---|
nodePath | string | required | Underscore-separated category node path required by marketReport Pattern: ^\d+(?:_\d+)+$ |
operation | string | required | Operation: tree, searchByName, or marketReport Constant: marketReport |
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; `data.value` retains ST primitive array, object, scalar or `null` by operation Example: {} |
operation | string | optional | `tree`, `searchByName` or `marketReport` 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: {} |
tree | array<object> | optional | Complete category tree; array elements are category nodes Example: {} |
searchByName | array<object> | optional | Related categories; maximum 3 items Example: {} |
marketReport | array<object> | optional | Category product summary array; return the array directly without covering the `Products` layer Example: {} |
Id | integer | optional | Category ID Example: {} |
ParentId | integer | optional | Parent category ID; `0` represents the top level Example: {} |
NodeId | string | optional | Walmart category node ID Example: {} |
Name | string | optional | English category name Example: {} |
CNName | string | optional | Chinese category name Example: {} |
URL | string | optional | Category URL Example: {} |
NodeId | string | optional | The complete category path separated by underscores can be used directly as `marketReport.nodePath` Example: {} |
CategoryName | string | optional | Category display name 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: {} |
Examples
Example arguments
{
"operation": "tree"
}Example structuredContent
{
"code": 0,
"cost": "-1",
"data": {},
"msg": null,
"time": "2026-01-01 00:00:00",
"traceId": null,
"ts": "0"
}