Skip to content

Walmart Scraper API ​

Turn walmart.com search results and product pages into structured data. Send a query - optionally with a price range, brand, in-stock or sold-by-Walmart filter - and get back one normalized results page: item id, title, price, was price and unit price, rating, review count, seller, availability and low-stock warning, delivery and pickup promises, badges, categories, sponsored flag. Or send one item id and get the full product: price, condition, seller and other offers, stock, fulfillment, return policy, warranty, images, category breadcrumbs, description, specifications, variants with their own item ids and prices, star breakdown, review highlights and the first reviews. No proxy pool, bot-check handling or parser maintenance on your side.

It ships as two synchronous Scraper APIs and a no-code scraper:

ProductTypeProduct codeWhat it does
Walmart Search APIScraper API (synchronous)walmart_searchSearch walmart.com and get one page of results.
Walmart Product APIScraper API (synchronous)walmart_productGive one item id or product URL, get the product detail.
Walmart ScraperNo-code scraperwalmartSweep up to 20 search pages and export JSON, CSV or XML.

Every field is snake_case, the same convention as the Web Scraping API. walmart.com sells to the United States, so prices are US dollars. Requests run from US residential exits first; when walmart.com refuses them, the page is retried from another country at no extra charge.

Walmart Search API ​

GET https://api.scrapeit.io/api/v1/scrape/walmart/search
x-api-key: YOUR_SCRAPEIT_API_KEY
ParameterTypeExampleDescription
qstringlaptopRequired. Search query, up to 200 characters.
pagenumber2Results page, 1–25. Defaults to 1.
sortstringprice_lowbest_match (default), price_low, price_high, best_seller, rating_high, new.
min_pricenumber200Lowest price to include, in whole US dollars.
max_pricenumber400Highest price to include, in whole US dollars.
brandstringHPOnly this brand, as the walmart.com Brand filter names it.
in_stock_onlybooleantrueOnly items that can be bought now ("Show available items only").
sold_by_walmartbooleantrueOnly items sold by Walmart itself (sponsored results excepted, see below).
include_htmlbooleantrueAlso return the fetched page HTML in html. Paid add-on: +4 credits per request.

The filters are walmart.com's own, so total_results and total_pages already count only the matching items. Sponsored results (sponsored: true) are walmart.com ads placed regardless of sold_by_walmart, so they can come from marketplace sellers: check seller_name.

Example request ​

bash
curl -G 'https://api.scrapeit.io/api/v1/scrape/walmart/search' \
  -H 'x-api-key: YOUR_SCRAPEIT_API_KEY' \
  --data-urlencode 'q=laptop' \
  --data-urlencode 'sort=price_low' \
  --data-urlencode 'max_price=400' \
  --data-urlencode 'in_stock_only=true'
js
const response = await fetch(
  'https://api.scrapeit.io/api/v1/scrape/walmart/search?' + new URLSearchParams({ q: 'laptop' }),
  { headers: { 'x-api-key': 'YOUR_SCRAPEIT_API_KEY' } },
);
const { data } = await response.json();
for (const item of data.results)
  console.log(item.position, item.us_item_id, item.price, item.sponsored);
python
import requests

response = requests.get(
    "https://api.scrapeit.io/api/v1/scrape/walmart/search",
    headers={"x-api-key": "YOUR_SCRAPEIT_API_KEY"},
    params={"q": "laptop"},
    timeout=120,
)
for item in response.json()["data"]["results"]:
    print(item["position"], item["us_item_id"], item["price"], item["sponsored"])

Search response ​

json
{
  "data": {
    "query": "paper towels",
    "search_url": "https://www.walmart.com/search?q=paper+towels&facet=exclude_oos%3AShow+available+items+only",
    "results": [
      {
        "position": 3,
        "us_item_id": "5308263928",
        "product_id": "23D28BC1SGQB",
        "title": "Bounty Essentials Paper Towels Select-A-Size 6 Double Rolls, White, 108 Sheets Per Roll",
        "url": "https://www.walmart.com/ip/Bounty-Essentials-Paper-Towels-Select-a-Size-6-Double-Rolls/5308263928",
        "price": 7.97,
        "was_price": 9,
        "currency": "USD",
        "price_per_unit": "$1.23/100 ct",
        "rating": 4.6,
        "reviews_count": 34545,
        "seller_id": "F55CDC31AB754BB68FE0B39041159D63",
        "seller_name": "Walmart.com",
        "additional_offers_count": 21,
        "availability": "In stock",
        "stock_alert": "Low stock",
        "fulfillment": ["Shipping, arrives tomorrow"],
        "badges": [],
        "categories": [
          "Household Essentials",
          "Paper & Plastic",
          "Paper Towels",
          "All Paper Towels"
        ],
        "product_type": "Paper Towels",
        "sponsored": false,
        "thumbnail": "https://i5.walmartimages.com/seo/Bounty-Essentials-Paper-Towels.jpeg?odnHeight=180&odnWidth=180&odnBg=FFFFFF"
      }
    ],
    "related_searches": ["toilet paper", "paper plates", "paper towel great value"],
    "pagination": {
      "current_page": 1,
      "total_results": 186,
      "total_pages": 5,
      "next_page_url": "https://www.walmart.com/search?q=paper+towels&facet=exclude_oos%3AShow+available+items+only&page=2"
    }
  }
}
FieldDescription
results[].position1-based position among the product cards of this page, sponsored ones included.
results[].us_item_idwalmart.com item id; pass it to the Product API as item_id.
results[].product_idWalmart's catalog product id.
results[].urlProduct page URL without tracking parameters.
results[].priceCurrent price, or null when the card shows none (some cards show it only in the cart).
results[].was_priceStruck-through "was" price when the card shows a discount.
results[].price_per_unitUnit price as walmart.com prints it, e.g. $1.23/100 ct; null for items priced by the piece.
results[].ratingAverage rating out of 5; null for an item without reviews.
results[].seller_id, seller_nameWho sells the item: Walmart (Walmart.com) or a marketplace seller.
results[].additional_offers_countOffers from other sellers on top of the shown one.
results[].availabilityAvailability as walmart.com words it, e.g. In stock.
results[].stock_alertLow-stock warning of the card, e.g. Only 2 left, Low stock.
results[].fulfillmentDelivery and pickup promises of the card, e.g. Free shipping, arrives tomorrow.
results[].badgesMerchandising badges, e.g. Best seller, Rollback, Only at Walmart, Overall pick.
results[].categoriesCategory breadcrumbs, outermost first.
results[].product_typewalmart.com's product type, e.g. Laptop Computers.
results[].sponsoredtrue for a paid placement.
related_searchesThe related queries walmart.com suggests.
pagination.total_resultsResults walmart.com reports for the query and filters; 0 for a query without hits.
pagination.total_pagesLast page walmart.com serves for the query.

Delivery promises, pickup and stock_alert follow the US store walmart.com picks for the request's exit.

A query without hits answers an empty results list - not the "Other options to consider" items walmart.com fills such a page with. Sponsored carousels around the results are left out.

Walmart Product API ​

GET https://api.scrapeit.io/api/v1/scrape/walmart/product
x-api-key: YOUR_SCRAPEIT_API_KEY
ParameterTypeExampleDescription
item_idstring18611919209walmart.com item id, the digits ending the product URL, e.g. 18611919209. Send either item_id or url.
urlstringhttps://www.walmart.com/ip/HP-14-inch-HD-Windows-11-Laptop-Intel-N150-4GB-RAM-128GB-Storage-Tranquil-Pink-14-ep2111wm/18611919209A https://www.walmart.com/ip/…/<item_id> product URL. Send either item_id or url.
include_htmlbooleantrueAlso return the fetched page HTML in html. Paid add-on: +4 credits per request.

A url is never fetched as given: ScrapeIt reads the item id out of it and fetches walmart.com's own product page.

Example request ​

bash
curl -G 'https://api.scrapeit.io/api/v1/scrape/walmart/product' \
  -H 'x-api-key: YOUR_SCRAPEIT_API_KEY' \
  --data-urlencode 'item_id=18611919209'
js
const response = await fetch(
  'https://api.scrapeit.io/api/v1/scrape/walmart/product?' +
    new URLSearchParams({ item_id: '18611919209' }),
  { headers: { 'x-api-key': 'YOUR_SCRAPEIT_API_KEY' } },
);
const { data } = await response.json();
console.log(data.title, data.price, data.in_stock, data.seller.name);
python
import requests

response = requests.get(
    "https://api.scrapeit.io/api/v1/scrape/walmart/product",
    headers={"x-api-key": "YOUR_SCRAPEIT_API_KEY"},
    params={"item_id": "18611919209"},
    timeout=120,
)
product = response.json()["data"]
print(product["title"], product["price"], product["in_stock"], product["seller"]["name"])

Product response ​

json
{
  "data": {
    "us_item_id": "18611919209",
    "product_id": "6G9VW0QQAI2X",
    "url": "https://www.walmart.com/ip/HP-14-inch-HD-Windows-11-Laptop-Intel-N150-4GB-RAM-128GB-Storage-Tranquil-Pink-14-ep2111wm/18611919209",
    "title": "HP 14-inch HD Windows 11 Laptop, Intel N150, 4GB RAM, 128GB Storage, Tranquil Pink, 14-ep2111wm",
    "brand": "HP",
    "price": 199,
    "was_price": 259,
    "currency": "USD",
    "price_per_unit": null,
    "rating": 4.1,
    "reviews_count": 2048,
    "availability": "IN_STOCK",
    "in_stock": true,
    "condition": "New",
    "badges": ["Only at Walmart", "2K+ bought since yesterday", "Rollback"],
    "seller": {
      "id": "F55CDC31AB754BB68FE0B39041159D63",
      "name": "Walmart.com",
      "type": "INTERNAL"
    },
    "additional_offers_count": 20,
    "fulfillment": [
      "Free pickup, today at Sacramento Supercenter",
      "Delivery from store",
      "Free shipping, arrives by today to Sacramento, 95829"
    ],
    "return_policy": {
      "returnable": true,
      "free_returns": true,
      "window_days": 30,
      "text": "Free Holiday returns until Jan 31"
    },
    "warranty": "1-year limited hardware warranty. Additional information available at www.support.hp.com",
    "images": ["https://i5.walmartimages.com/seo/HP-14-inch-HD-Windows-11-Laptop.jpeg"],
    "categories": ["Electronics", "Computers, Laptops and Tablets", "Laptops"],
    "short_description": "The HP 14-inch HD laptop is a compact Windows 11 Home computer …",
    "description": "Configuration: Intel N150 processor, 4 GB RAM, 128 GB storage …",
    "specifications": [{ "name": "RAM memory", "value": "4 GB" }],
    "variants": [
      {
        "dimension": "Actual Color",
        "value": "Tranquil pink",
        "product_id": "6G9VW0QQAI2X",
        "us_item_id": "18611919209",
        "price": 199,
        "selected": true,
        "available": true
      },
      {
        "dimension": "Actual Color",
        "value": "Waterfall blue",
        "product_id": "4QPDNGIGKZZ8",
        "us_item_id": "18656507313",
        "price": 199,
        "selected": false,
        "available": true
      }
    ],
    "product_type": "Laptop Computers",
    "upc": "199764359179",
    "model": "14-ep2111wm",
    "manufacturer_part_number": "CQ5J5UA#ABA",
    "rating_counts": { "five": 1348, "four": 245, "three": 124, "two": 64, "one": 267 },
    "recommended_percentage": 69,
    "review_highlights": [
      {
        "title": "Affordable price",
        "sentiment": "positive",
        "summary": "Provides great deal for the cost."
      }
    ],
    "reviews": [
      {
        "review_id": "442395021",
        "rating": 5,
        "title": "Great Laptop for Everyday Use",
        "text": "Lightweight, easy to set up and runs smoothly for everyday tasks …",
        "published_date": "2026-09-30",
        "author_name": "Jane",
        "verified_purchase": true,
        "helpful_votes": 0,
        "photos": ["https://i5.walmartimages.com/dfw/6e29e393-297d/k2-_8b1c7200.v1.jpg"]
      }
    ]
  }
}
FieldDescription
priceCurrent price; null when the page offers none.
was_priceStruck-through "was" price when the page shows a discount.
price_per_unitUnit price as walmart.com prints it, e.g. $2.42/100 ct; null for items priced by the piece.
availabilityAvailability status, e.g. IN_STOCK, OUT_OF_STOCK; in_stock is true only for IN_STOCK.
conditionItem condition, e.g. New, Restored, Pre-Owned.
badgesMerchandising badges, e.g. Rollback, Best seller, Only at Walmart.
sellerThe buy-box seller: id, display name and type (INTERNAL for Walmart itself).
additional_offers_countOffers from other sellers on top of the buy-box one.
fulfillmentPickup, delivery and shipping options as the page words them, for the US store walmart.com picks for the request's exit.
return_policyWhether and for how many days the item can be returned, whether returns are free, and the return line the page shows.
warrantyThe manufacturer's warranty as walmart.com states it; null when the item has none.
imagesProduct images, full size.
categoriesCategory breadcrumbs, outermost first.
descriptionThe long description as plain text.
specificationsThe "Specifications" rows as name/value pairs.
variantsOne entry per option of each variation (dimension is e.g. Actual Color) with its own us_item_id and price; selected marks the shown one.
rating_countsHow many reviews gave five to one stars.
recommended_percentageShare of reviewers who recommend the item, 0 to 100.
review_highlightswalmart.com's summary of what reviews praise or criticize, each with a sentiment of positive, negative or neutral.
reviewsThe reviews the page shows first (up to ten): rating, title, text, date, verified-purchase flag, helpful votes and photos. Of the reviewer only the public nickname is kept.

A missing field is null or an empty list, never an error.

No-code Walmart Scraper ​

Prefer a dashboard run and a file? Scrapers without code → Walmart Scraper takes the same q, sort and filters, sweeps up to 20 search pages and produces JSON, CSV and XML files with one record per product (the search result fields above). The same job is available over HTTP with an API key (x-api-key; scope scrapers:run to start, scrapers:read to poll):

POST https://api.scrapeit.io/api/v1/scrapers/walmart/jobs
GET  https://api.scrapeit.io/api/v1/scrapers/walmart/jobs/{jobId}
ParameterTypeExampleDescription
qstringlaptopRequired. Search query.
sortstringprice_lowResult ordering, as in the Search API.
min_pricenumber200Lowest price, as in the Search API.
max_pricenumber400Highest price, as in the Search API.
brandstringHPOnly this brand, as in the Search API.
in_stock_onlybooleantrueOnly items that can be bought now.
sold_by_walmartbooleantrueOnly items sold by Walmart itself, as in the Search API.
max_pagesnumber10Search pages to sweep, 1–20. Defaults to 5.
output_formatarray["json", "csv"]One or more of json, csv, xml. Defaults to ["json"]; an empty list is rejected.

A sweep of five pages or fewer finishes inline and the POST already answers with the result-file ids; a larger one answers queued, so poll the GET endpoint until status is finished (or failed). A product walmart.com repeats on a later page is written once. Each swept page is billed like one Search API request; pages already swept are kept and billed even when a later page is blocked. A job started with an API key runs under that key, queued or not: its pages count in the key's usage.

Errors ​

CodeHTTPMeaning
VALIDATION_ERROR400Missing q; both or neither of item_id/url; a URL that is not an https walmart.com /ip/ page.
NOT_FOUND404walmart.com has no product page for this item id.
TARGET_BLOCKED502Every proxy attempt drew walmart.com's bot check (the "Robot or human?" page). Retry later.

See Error codes for the shared error format.

Credits and billing ​

Both APIs bill one flat price per request under their own product code - the residential proxy is part of it (billing & credits). Every request is scraped live - never served from the shared cache - so prices and stock are current.

Price per request: 40 credits, flat; the dashboard Pricing page always shows the current price. A no-code job pays the Search API price per results page it fetched.

Limits and behavior ​

  • One search request returns one results page (40–60 products, sponsored ones included). Use page to walk further.
  • Requests reuse the walmart.com cookies an earlier successful request of your organization received, which helps them pass walmart.com's bot check; cookies never cross organizations. Store-specific stock and pickup are not selectable; prices are walmart.com's online prices for a US visitor.

ScrapeIt Web Scraping API documentation. Managed web scraping services: www.scrapeit.io.