Walmart Remote MCP Server
Server Details
Walmart search, product pages and customer reviews on walmart.com and walmart.ca, as JSON.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- HasData/walmart-mcp
- GitHub Stars
- 0
- Server Listing
- Walmart MCP Server
TDQS
Scored across 3 tools
The three tools target clearly distinct resources and actions: product detail lookup, reviews retrieval, and keyword/category search. Descriptions explicitly frame search results as feeding item ids into the product and reviews endpoints, so an agent can easily route intent to the right tool with no overlap.
All three follow the same hasdata_walmart_<resource>_get<Resource> pattern, so the convention is predictable across the set. It is slightly verbose and mixes snake_case prefixes with camelCase verbs, but it is applied consistently without deviation.
Three tools is on the lean side, but each maps to a genuine, non-redundant capability (search, product, reviews) that is well-scoped for a Walmart scraping API. No filler or overlapping tools pad the set.
The surface covers the core retail-data workflow: searching for products, fetching full product detail, and mining reviews, including the hand-off from search to the other endpoints. Minor gaps exist (e.g., no category/taxonomy browse or seller/store endpoint), but agents can work around these via search.
Available Tools
3 toolshasdata_walmart_product_getWalmartProductwalmart_product: GET /AInspect
Get Walmart Product Details
Scrapes one Walmart product page on a chosen storefront by item id or URL. Returns title, brand, model, UPC, condition, availability, price with strikethrough before-price and unit price, the seller holding the buy box with its rating and return policy, badges, SNAP EBT eligibility, Walmart+ savings, star rating with the per-star review breakdown and AI review summaries, images, category path, highlights, specifications, AI-generated key item features, variant axes with every option and the itemId each combination resolves to, fulfillment details, and the other-sellers block: how many competitors the page advertises and the cheapest competing price always, plus - when otherOffers is enabled - the offer list with each seller name, storefront URL, price, condition, shipping cost, delivery date and return policy. Use for price and buy-box monitoring, seller and marketplace competitor tracking, assortment enrichment of item ids harvested from search, and variant mapping.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | A full Walmart product URL to scrape as is. When provided, it overrides `itemId` and the storefront is taken from the URL itself. Required unless `itemId` is provided. | |
| domain | No | Walmart storefront the item belongs to. Each storefront has its own catalog, item ids, prices and currency, so an id from one storefront does not resolve on another. Ignored when `url` is provided. Default is `walmart.com`. | |
| itemId | No | Walmart item id, taken from a product URL or from the id field of the Walmart Search API response. On `walmart.com` it is numeric (for example `14977205582`), on `walmart.ca` an alphanumeric code (for example `6NZMJ5CW6MH2`). Required unless `url` is provided. | |
| language | No | Language of the product details. Availability depends on the storefront - `walmart.com` serves `en` and `es`, `walmart.ca` serves `en` and `fr`. A language the storefront does not support falls back to its default. | |
| otherOffers | No | Also collect the offers of other sellers competing for this item - each seller name, storefront, price, condition, shipping cost, delivery date and return policy. This takes an extra request to Walmart and costs 5 credits on top of the base 10, whether or not the item turns out to have competing sellers. How many competitors the item advertises, and the cheapest competing price, are returned in the `otherOffers` block whether the switch is on or off, so it can be left off until the count shows there is something to collect. Default is `false`. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description must carry the behavioral disclosure burden. It does convey that the tool performs a live scrape and that the other-sellers block behaves conditionally based on otherOffers. However, the credit cost, extra request behavior, and storefront-specific item id incompatibility appear only in the input schema descriptions, not in the main description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but purposefully so: it opens with a one-sentence action summary, then enumerates the full set of returned fields because there is no output schema. The final use-case sentence earns its place. It could be made more scannable with bullets, but there is little redundant prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the absence of both annotations and an output schema, the description thoroughly documents the return payload, including the conditional other-sellers block and the always-returned competitor count and cheapest competing price. Combined with the detailed input schema descriptions, an agent has sufficient context to call this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100% with rich property descriptions that already explain url/itemId precedence, domain defaults, language fallback, and otherOffers costs. The main description adds value through the returned field list and use cases, but it does not add further parameter-level meaning, so it stays at the high-coverage baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action: 'Scrapes one Walmart product page on a chosen storefront by item id or URL.' It clearly names the resource and the primary access modes, and the long field list clarifies the product-detail scope. It does not explicitly name sibling tools, but the single-product-page scope distinguishes it from search and reviews.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description closes with explicit use cases: 'price and buy-box monitoring, seller and marketplace competitor tracking, assortment enrichment of item ids harvested from search, and variant mapping.' This gives clear context for when to use it, though it does not directly contrast with the sibling getWalmartReviews or getSearchResults tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_walmart_reviews_getWalmartReviewswalmart_reviews: GET /AInspect
Get Walmart Product Reviews
Scrapes the customer reviews of one Walmart product on a chosen storefront by item id or URL, ten reviews a page. Returns each review with its rating, title, full text with paragraphs preserved, submission date, author, verified-purchase flag, helpful and not-helpful vote counts, badges, marketplace seller, photos and videos, and the review aspects it was tagged with. Alongside the reviews it returns the item rating, how many ratings versus how many written reviews exist, the per-star breakdown, the AI review summary, per-aspect scores such as Quality or Value for money, and a filters block listing exactly which star ratings, frequent mentions and conditions this item can be filtered by, with a count for each - the values in that block are the ones to pass back as request parameters. Sort by most relevant, most recent, most helpful, highest rated, lowest rated or oldest, and filter by star rating, frequent mention, condition or verified purchases only. Use for review mining and sentiment analysis, tracking what buyers praise or complain about per product, monitoring new reviews over time, and pulling only verified-purchase feedback.
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | A full Walmart product URL whose reviews to scrape. When provided, it overrides `itemId` and the storefront is taken from the URL itself. Required unless `itemId` is provided. | |
| page | No | Page of reviews to return, ten reviews a page. The response reports the last available page in `pagination.totalPages`, the next one in `pagination.nextPage`, and how many reviews the current filters select in `pagination.totalResults`. Note that only reviews carrying written text are paginated, so the ceiling follows `reviewsInformation.totalReviews` rather than the larger `reviewsInformation.totalRatings`. Default is `1`. | |
| sort | No | Order of the returned reviews, named as the Walmart review page names it. Default is `mostRelevant`. | |
| domain | No | Walmart storefront the item belongs to. Each storefront has its own catalog, item ids and review pool, so an id from one storefront does not resolve on another. Ignored when `url` is provided. Default is `walmart.com`. | |
| itemId | No | Walmart item id, taken from a product URL or from the id field of the Walmart Search API response. On `walmart.com` it is numeric (for example `14977205582`), on `walmart.ca` an alphanumeric code (for example `6NZMJ5CW6MH2`). Required unless `url` is provided. | |
| rating | No | Return only reviews carrying this star rating, from `1` to `5`. The Star rating group of the `filters` block lists the ratings this item actually has, each with the `value` to send here and a `count` of how many reviews to expect. | |
| aspectId | No | Return only reviews mentioning one topic. Send the `value` of the topic you want, taken from the Frequent mentions group of the `filters` block in the response - given `{"name": "Battery Life", "value": "6049", "count": 8}` you send `6049`, and `count` is how many reviews to expect. **Only one topic per request**, Walmart rejects a list of them. Topics belong to the product rather than to Walmart: a phone offers Battery Life or Display, a coffee offers Flavor or Aroma, and some items offer none at all - so make an unfiltered request first and read the block, instead of reusing a topic id across products. | |
| language | No | Language of the review page. Availability depends on the storefront - `walmart.com` serves `en` and `es`, `walmart.ca` serves `en` and `fr`. A language the storefront does not support falls back to its default. Reviews themselves are returned in the language their author wrote them in. | |
| condition | No | Return only reviews written about one condition of the item. Send the `value` from the Condition group of the `filters` block - given `{"name": "Restored: Like New", "value": "5"}` you send `5`. **Only one condition per request.** This group appears for items Walmart sells in several conditions, and only when the request already names one: reach the variant through the `url` parameter with its `conditionGroupCode`, as in `https://www.walmart.com/ip/1028936148?conditionGroupCode=2`, and the block then lists the condition that variant carries. An item sold in a single condition has no such group, and no reviews to separate by it. | |
| verifiedPurchasesOnly | No | Return only reviews left by customers whose purchase Walmart confirmed. Narrows the pool considerably, since most reviews are unverified or syndicated from the manufacturer. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it does so thoroughly. It discloses the ten-reviews-per-page behavior, pagination limits tied to written reviews, the need to pass filter-block values back as request parameters, single-topic and single-condition limits, language/storefront fallback behavior, and the narrowing effect of verifiedPurchasesOnly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with its purpose and then packs substantial response and filtering detail into the following sentences. It is long, but nearly every clause contributes useful information; the use-case sentence is somewhat discretionary, and a few overly long sentences could be split without losing content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description appropriately explains what the response contains: review fields, item rating, rating-versus-review counts, per-star breakdown, AI summary, aspect scores, and the filters block. Combined with the schema's detailed parameter documentation, an agent has enough context to invoke the tool and interpret its results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all 10 parameters at 100% coverage, including concrete examples, enums, defaults, and filter-value mappings. The tool description mostly summarizes these capabilities at a high level rather than adding new parameter-level meaning, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with 'Get Walmart Product Reviews' and immediately specifies the action: scraping the customer reviews of one Walmart product by item id or URL. It also enumerates the extracted review data and aggregate info, making it clearly distinguishable from the sibling product and search tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases such as 'review mining and sentiment analysis', 'tracking what buyers praise or complain about per product', 'monitoring new reviews over time', and 'pulling only verified-purchase feedback'. It does not explicitly name the sibling tools or state when not to use this one, but the review-focused scope makes the intended context clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
hasdata_walmart_search_getSearchResultswalmart_search: GET /AInspect
Get Walmart Search Results
Runs a keyword or category search on a chosen Walmart storefront with pagination, price range and fulfillment filters, facet narrowing, and sort order (best match, price low-to-high, price high-to-low, bestseller, highly rated, new arrivals). Returns the product list with item id, title, product URL, brand, price and strikethrough before-price, star rating, review count, seller, availability, sponsored flag, badges, SNAP EBT eligibility, Walmart+ savings, variants, other offers and fulfillment details (shipping, pickup, delivery messages), plus the facets block listing every filter the query supports with the exact value to send back in the facet parameter, pagination, and the store the prices belong to. Use for SERP monitoring, price and assortment tracking, share-of-shelf analysis, competitor discovery, and harvesting item ids to feed downstream product or reviews endpoints.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | The search term for which to get the search results. It can be omitted only when `catId` is provided, to browse a whole category instead of searching. | |
| url | No | A full Walmart search or category URL to scrape as is. When provided, it overrides `q`, `catId` and the other search parameters, and the storefront is taken from the URL itself. | |
| page | No | Page number for pagination (e.g., `1` for the first page, `2` for the second page, etc.). Walmart stops serving results after roughly page 10, returning an empty page beyond that. | |
| sort | No | The sorting option for the search results. | |
| catId | No | Walmart category id, taken from a category URL (for example `976759_1086446_1229651`). Combine it with `q` to search inside a category, or send it alone to browse the whole category. Required unless `q` is provided. | |
| facet | No | Walmart filter in the `name:value` form, for example `brand:Great Value`. Every value available for a query is listed in the facets block of the response, each one carrying the exact string to send back here, so a first unfiltered request tells you what can be filtered on. To combine filters, put each one on its own line. The double-pipe form Walmart's own urls use `brand:Great Value||retailer_type:Walmart` is also accepted. | |
| domain | No | Walmart storefront to search. Each storefront has its own catalog, prices and currency. Default is `walmart.com`. | |
| language | No | Language of the results. Availability depends on the storefront - `walmart.com` serves `en` and `es`, `walmart.ca` serves `en` and `fr`. A language the storefront does not support falls back to its default. | |
| maxPrice | No | Upper bound of the price range, in the storefront currency. | |
| minPrice | No | Lower bound of the price range, in the storefront currency. | |
| deliveryType | No | Keep only the products available with the selected fulfillment method. Default is `shipping`. Note that `pickup` is answered against one Walmart store, so an item in stock nationally can still be unavailable for `pickup` nearby - the response then reports that nothing matched the filters rather than that the query had no results. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the behavioral burden: it discloses that this is a read-only search operation and describes the full response shape, including product items, facets block, pagination, and store attribution. It doesn't mention rate limits or edge cases like the page-10 cutoff, but those are covered in the parameter descriptions and the search framing gives an accurate side-effect-free mental model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single dense paragraph but is front-loaded with the core action and packs all key capability and output information into one long sentence. It is appropriately sized for an 11-parameter tool with no output schema, though it could be broken into shorter sentences or bullets for easier scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex tool with no output schema, the description thoroughly covers return value composition (items, facets, pagination, store) and practical use cases, while the schema covers all 11 parameters at 100% coverage. The combination is sufficient for an agent to select this tool over the product/reviews siblings and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description broadly mentions filters, facets, and sort options but adds little beyond the schema's parameter documentation. The only mild value-add is connecting the facets block to the facet parameter's exact-value contract, though even that is detailed in the schema's facet description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource statement, 'Get Walmart Search Results,' and expands on the exact capability: keyword/category search with filters, facets, and sort order on a chosen storefront. It lists the returned data and ends by framing the tool as upstream ID harvesting for product and reviews endpoints, which distinguishes it from the product and reviews siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases: SERP monitoring, price/assortment tracking, share-of-shelf analysis, competitor discovery, and harvesting item ids for downstream product or reviews endpoints. It does not explicitly name the sibling tools or state when not to use it, but the downstream-product/reviews phrasing clearly implies the product and reviews tools are the alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- First observed
hasdata_walmart_product_getWalmartProduct - First observed
hasdata_walmart_reviews_getWalmartReviews - First observed
hasdata_walmart_search_getSearchResults
Related MCP Connectors
Amazon keyword search, product details, seller profiles and seller catalogues, as structured JSON.
The public product catalogue and collections of any Shopify storefront, as structured JSON.
Yellow Pages local business search and full business listings, as structured JSON.
Live Amazon product, review, search, deal, offer/stock and seller data across 20 marketplaces.
Related MCP Servers
- AlicenseBqualityDmaintenanceEnables scraping Walmart product data, including product details, top products by category, and monitoring scraping tasks.4MIT

@retailerapi/mcpofficial
AlicenseAqualityDmaintenanceEnables AI agents to access Walmart product data including lookups, price history, offers, seller profiles, reviews, and sales stats via tools callable in MCP-compatible clients like Claude Desktop and Cursor.5171MIT- AlicenseBqualityFmaintenanceEnables AI agents to search products, manage cart, and track orders on Walmart.com via browser automation.12893MIT
- FlicenseAqualityDmaintenanceEnables natural language shopping through Walmart's backend API, supporting product discovery, cart management, coupon handling, and order history.102-
Glama MCP Gateway
Add one secure layer between your agents and this server.