Walmart API

Get Walmart data with one API

The Walmart API returns Walmart.com product data as clean JSON.

W
/walmart/v1

4 active endpoints, on 1 and 2 credit tiers.

  • POST/walmart/v1/search
  • POST/walmart/v1/product_detail
  • POST/walmart/v1/reviews
  • POST/walmart/v1/category

What Walmart endpoints does ReefAPI ship?

4 live read endpoints. Read-only data API: no writes, no account actions, no dashboard access on the target site.

4 endpoints

search

2 cr

Search Walmart.com by keyword → a paginated, sortable list of products with item id, name, cu…

required
query
optional
sort, page, max_results, min_price, max_price, facet

product_detail

2 cr

Full product record by Walmart item id (or product URL).

required
optional
item_id, url

reviews

1 cr

Customer reviews for a Walmart product by item id (or product URL).

required
optional
item_id, url, max_results

category

2 cr

Browse a Walmart category / department by its query term (e.g.

required
query
optional
sort, page, max_results, min_price, max_price

Every parameter, every allowed value →

Walmart API

1 of 4 endpoints, ready to run

View docs ↗

Search Walmart.com by keyword → a paginated, sortable list of products with item id, name, cu…

2 credits1 required · 0 optional
POST/walmart/v1/search
ok4798 ms · 50 records · sample
{
  "ok": true,
  "meta": {
    "api": "walmart",
    "endpoint": "search",
    "mode": "live",
    "latency_ms": 4798.1,
    "record_count": 50,
    "cache_hit": false
  },
  "data": {
    "results": [
      {
        "item_id": "18634262264",
        "name": "HP 15.6 inch HD Windows Laptop Intel Processor N250 4GB 128GB UFS Natural Silver",
        "brand": null,
        "type": "VARIANT",
        "url": "https://www.walmart.com/ip/HP-15-6-N250-4-128-Silver/18634262264?classType=VARIANT&athbdg=L1300",
        "price": 229,
        "list_price": 299,
        "savings_amount": 70,
        "price_display": "Now $229.00",
        "currency": "USD",
        "rating": 4.1,
        "review_count": 323,
        "availability": "IN_STOCK",
        "seller": "Walmart.com",
        "category": "Electronics",
        "image": "https://i5.walmartimages.com/seo/HP-15-6-N250-4-128-Silver_89a3e9e2-2a89-440f-a65b-3daaa33f7ed8.dfff37aeb4982ee749453c6261b352d1.jpeg?odnHeight=180&odnWidth=180&odnBg=FFFFFF",
        "sponsored": true,
        "availability_display": "In stock",
        "in_stock": true,
        "seller_id": "F55CDC31AB754BB68FE0B39041159D63",
        "savings_display": "SAVE $70.00",
        "price_range": "Options from $218.00",
        "min_price": 218,
        "badge": "Rollback",
        "fulfillment": {
          "methods": [
            "DELIVERY"
          ],
          "earliest_date": "2026-08-27T21:59:00.000Z"
        },
        "variant_count": null,
        "class_type": "VARIANT"
      },
      {
        "item_id": "3193557250",
        "name": "Acer Chromebook 315 15.6 inch Laptop Intel Processor N4500 4GB RAM 64GB eMMC Pure Silver",
        "brand": null,
        "type": "VARIANT",
        "url": "https://www.walmart.com/ip/Acer-Chromebook-315-15-6-inch-Laptop-Intel-Processor-N4500-4GB-RAM-64GB-eMMC-Pure-Silver-ChromeOS/3193557250?classType=VARIANT&athbdg=L1103",
        "price": 199,
        "list_price": null,
        "savings_amount": null,
        "price_display": "$199.00",
        "currency": "USD",
        "rating": 4.3,
        "review_count": 20243,
        "availability": "IN_STOCK",
        "seller": "Walmart.com",
        "category": "Electronics",
        "image": "https://i5.walmartimages.com/seo/Acer-Chromebook-315-15-6-inch-Laptop-Intel-Processor-N4500-4GB-RAM-64GB-eMMC-Pure-Silver-ChromeOS_e9b49ec2-6204-434c-841b-e4dbd1846431.c146aa580b8b9806ef9eb45067ae5094.jpeg?odnHeight=180&odnWidth=180&odnBg=FFFFFF",
        "sponsored": true,
        "availability_display": "In stock",
        "in_stock": true,
        "seller_id": "F55CDC31AB754BB68FE0B39041159D63",
        "savings_display": null,
        "price_range": "Options from $199.00 – $235.75",
        "min_price": 199,
        "badge": "In 200+ people's carts",
        "fulfillment": {
          "methods": [
            "DELIVERY"
          ],
          "earliest_date": "2026-08-29T21:59:00.000Z"
        },
        "variant_count": null,
        "class_type": "VARIANT"
      },
      {
        "item_id": "18210919718",
        "name": "ASUS Chromebook CX15 Laptop, 15.6\" FHD Display, Intel® Processor N50, 128GB Storage, 4GB RAM, ChromeOS, Pastel Purple",
        "brand": null,
        "type": "VARIANT",
        "url": "https://www.walmart.com/ip/ASUS-Chromebook-CX15-Laptop-15-6-FHD-NanoEdge-Display-Intel-N50-Processor-128GB-Storage-4GB-RAM-ChromeOS-Purple/18210919718?classType=VARIANT&athbdg=L1103",
        "price": 219,
        "list_price": null,
        "savings_amount": null,
        "price_display": "$219.00",
        "currency": "USD",
        "rating": 4.3,
        "review_count": 966,
        "availability": "IN_STOCK",
        "seller": "Walmart.com",
        "category": "Electronics",
        "image": "https://i5.walmartimages.com/seo/ASUS-Chromebook-CX15-Laptop-15-6-FHD-NanoEdge-Display-Intel-N50-Processor-128GB-Storage-4GB-RAM-ChromeOS-Purple_3507dc50-b6e7-4ac5-9fd2-412f4818d9f4.308639a4205e1d906b2dd401ae61fa72.jpeg?odnHeight=180&odnWidth=180&odnBg=FFFFFF",
        "sponsored": true,
        "availability_display": "In stock",
        "in_stock": true,
        "seller_id": "F55CDC31AB754BB68FE0B39041159D63",
        "savings_display": null,
        "price_range": "Options from $193.00",
        "min_price": 193,
        "badge": "In 500+ people's carts",
        "fulfillment": {
          "methods": [
            "DELIVERY",
            "PICKUP"
          ],
          "earliest_date": "2026-08-27T21:59:00.000Z"
        },
        "variant_count": null,
        "class_type": "VARIANT"
      }
    ],
    "total": 12063,
    "count": 50,
    "page": 1,
    "max_page": 13,
    "related_searches": [
      {
        "query": "hp laptop",
        "url": "https://www.walmart.com/search?q=hp%20laptop&searchMethod=relatedSearch"
      },
      {
        "query": "laptop computers under $200",
        "url": "https://www.walmart.com/search?q=laptop%20computers%20under%20%24200&searchMethod=relatedSearch"
      },
      {
        "query": "macbook",
        "url": "https://www.walmart.com/search?q=macbook&searchMethod=relatedSearch"
      }
    ],
    "corrected_query": null
  }
}
Real response, fetched from the live endpoint with the parameters on the left — trimmed to the first few rows, with seller names left out. Press Try it for the untrimmed response.

How the Walmart API works

Walmart is a normal ReefAPI surface — the same four rules that hold for every other engine on the key.

01
Authenticate
x-api-key header

No OAuth app, no request signing, no per-site account. One key covers all 185 engines.

02
Call
POST /walmart/v1/…

Every route is a POST with a JSON body. Parameters are validated against the published schema before anything is charged.

03
Pay
1 or 2 credits per call

Credits, not seats. Failed and blocked calls are never charged, and cache hits cost nothing.

04
Read
{ ok, data, meta, error }

One envelope everywhere. meta carries latency_ms, record_count and the endpoint that answered.

Walmart's five identifiers, and which of them this API accepts

A Walmart product carries an item number, an internal variant id, a UPC and a manufacturer part number, and only one of them is a valid input here. The shapes below were read off a live product_detail for item 20122959141 plus two searches of 50 rows and more.

FieldMeasured shapeWhere it appears, and what accepts it
item_id8 to 11 digits, e.g. 20122959141, the number in walmart.com/ip/<id>search, category and product_detail. The only id that product_detail and reviews accept.
variants[].usItemIdThe same digit shape, one per sibling build: the Ryzen 7 model is 20122959141, the Core i7 model 20543058641product_detail. Feed one back as item_id to switch builds.
variants[].id and variant_ids[]12 uppercase alphanumerics, e.g. 3QQAAF8ICNX0product_detail only. Not accepted as item_id, so map it to a usItemId first.
upc12 digits, e.g. 198155976292product_detail only. Search rows never carry it.
manufacturer_part_numberVendor SKU string, e.g. IDEAPAD1086_CTO_W1product_detail only, alongside model ('IdeaPad Slim 3').
seller_id32 uppercase hex. F55CDC31AB754BB68FE0B39041159D63 is Walmart itselfsearch and product_detail. Any other value is a third-party marketplace seller.

That Walmart seller_id held constant across unrelated searches: all 35 'Walmart.com' rows in a backpack search and all 31 in a coffee-maker search carried F55CDC31AB754BB68FE0B39041159D63. Compare against the id rather than string-matching the seller name.

What people build with Walmart

The jobs this data is most often used for.

4

endpoints

1/2

credits per call

01

Pricing teams call search to track Walmart prices, rollbacks and savings against competitors.

02

Catalog-enrichment tools use product_detail to fill product pages with specs, images and availability.

03

Review-analysis products pull reviews to monitor sentiment and rating trends for an item.

What Walmart data costs

The cheapest call here is 1 credit, so $15/mo (Pro) buys 10,000 of them — $1.50 per 1,000 credits. Credits roll over and never expire, and failed or blocked calls are not charged.

Full pricing →
$0.67–$1.50 / 1,000 credits
  • 1,000 free credits on signup, no card
  • One key, all 185 APIs, one credit pool
  • Failed and blocked calls are never charged
  • Credits roll over and never expire

Call it in two lines

Sign up, get 1,000 credits and one key that works on every engine. Then this is the whole protocol.

curl
curl -X POST https://api.reefapi.com/walmart/v1/search \
  -H "x-api-key: $REEF_KEY" \
  -H "content-type: application/json" \
  -d '{"query":"laptop"}'
python
import requests

r = requests.post(
    "https://api.reefapi.com/walmart/v1/search",
    headers={"x-api-key": REEF_KEY},
    json={
  "query": "laptop"
},
)
print(r.json()["data"])
FAQ

Have a question? We got answers.

The questions people actually ask before wiring up Walmart.

Get a free key →
How do I tell a Walmart-sold item from a marketplace seller, and does it change the data?

seller is the display name and seller_id is the stable marker: 'Walmart.com' with F55CDC31AB754BB68FE0B39041159D63 is Walmart's own inventory, anything else is a third-party seller with its own id (JanSport came back as 599E0246F55B4955AB65EECCC34AE32C). It changes fulfillment. In a measured 50-row coffee-maker search, PICKUP appeared in fulfillment.methods on 18 of the 31 Walmart-sold rows and on 0 of the 19 marketplace rows, four of which returned an empty methods list entirely. Store pickup is a Walmart-sold signal, not a general one.

What do price, list_price and savings_amount mean, and why is list_price so often null?

price is the current price, list_price is the struck-through 'was' price, and both savings_amount and savings_display exist only when list_price does. Null means Walmart is showing no strikethrough at all, which is the common case: all 50 rows of a coffee-maker search had list_price null, while a laptop row carried price 229.00, list_price 299.00, savings_amount 70 and savings_display 'SAVE $70.00'. price_display preserves Walmart's own wording, so you can distinguish 'Now $229.00' from a plain '$199.00'.

Is Rollback an enum I can filter on?

No. badge is a display label and Walmart writes whatever it likes there. Measured values across a 60-row backpack search were Rollback (11 rows), Deal (5), Best seller (5), '100+ bought since yesterday' (4), 'Overall pick', 'In 200+ people's carts', and null on 33. Match the exact string 'Rollback' if that is what you want, but expect new phrases to appear without notice.

Why is brand null on some search results?

Because Walmart only splits brand out of the title on some product classes. It came back populated on 60 of 60 backpack rows and null on the laptop rows inspected in the same session, so this is category-shaped rather than random. If you need brand on every row, resolve it from product_detail, which returned 'Lenovo' for item 20122959141 along with brand_url.

How many products can I actually get for one query?

About 360, and Walmart's own page count overstates it. A measured 'laptop' search with max_results 400 returned 362 rows, all 362 with distinct item_ids, after 9 successful page fetches and has_more false, while the same response reported max_page 13. meta.pagination.page_ceiling shows the real limit of 10. The pages are fetched together, so 400 results cost roughly the latency of one page rather than nine.

Do results repeat across pages?

The sponsored tiles are what Walmart repeats, and they are flagged. In that 362-row set, 18 rows had sponsored true and no item_id appeared twice. If you page manually instead of using max_results, filter on sponsored == false to get a set that will not duplicate itself between pages.

Why does the reviews action return fewer texts than the review count?

Because most Walmart ratings are stars with no words, and the response separates the two numbers. Item 20122959141 returned total_review_count 30 but reviews_with_text_count 6, so asking for max_results above 6 adds nothing. rating_distribution is always the full catalog total ({5:20, 4:4, 3:1, 2:3, 1:2} there), recommended_percentage came back 100, and each review carries the variant purchased ('16GB RAM | 512GB SSD'), source 'bazaarvoice', verified_purchase, and a date in M/D/YYYY form such as '3/18/2026'. aspects and photos come back null when the product has none.

What is the Walmart API?

Walmart API is a ReefAPI endpoint group for walmart It returns live JSON through POST requests under /walmart/v1.

Is the Walmart API free to try?

Yes. ReefAPI starts with 1,000 free credits, no card required. Walmart calls use the same shared credit balance as every other ReefAPI engine.

Do I need a Walmart login or account?

No login to Walmart is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.

How fresh is the Walmart data?

The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.

How many credits does the Walmart API use?

Walmart actions currently cost 1-2 credits per successful call. Failed or blocked calls are free, and all APIs draw from one credit pool.

Can I call Walmart from an AI assistant or MCP client?

Yes. Connect ReefAPI once through MCP and your assistant can call walmart actions with the same key, credit pool and JSON envelope used by normal REST requests.

Is the Walmart API a Walmart scraper?

It is the managed alternative to a DIY Walmart scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same walmart back as clean JSON.

37 E-commerce & Marketplaces APIs on the same key

One key, one credit pool, one response envelope. If you are pulling Walmart, you are one call away from the rest of the category — no second contract, no second integration.

Try it on your own data before you pay anything

The call above is the real endpoint, not a recording. A free key gives you 1,000 credits, the other 184 APIs, and the same envelope everywhere.

Endpoints, parameters and credit costs on this page are read from the live catalog and cannot drift from what the API accepts.