[Home](https://scrapfly.io/)/[Scrapers](https://scrapfly.io/scrapers)/Walmart

Products · prices · search results · reviews

# // Walmart Scraper API

Get Walmart product details, prices, availability, search results and reviews as clean JSON. Scrapfly handles the bot checks, so you send a URL and read the data.

- **Clone it and run it.** An open-source Walmart scraper for product pages, their reviews and paginated search results, tested against live Walmart every night.
- **Prices, stock and seller in one request.** Read the product data Walmart embeds in each page, without browser rendering.
 
 [Get free API key](https://scrapfly.io/register) [View GitHub scraper](https://github.com/scrapfly/scrapfly-scrapers/tree/main/walmart-scraper) [Read Unblocker docs](https://scrapfly.io/docs/scrape-api/unblocker) 

1,000 free credits. No credit card required.

 [  ](https://scrapeway.com/web-scraping-api/scrapfly) [  ](https://www.capterra.com/p/212653/Scrapfly/)  

 4.9/5 from 238 reviews 

 



 

 

 Walmart pages · illustration

 

 

 Product JSON**Output**

```
{
  <span class="c-str">"item_id"</span>: <span class="c-str">"715596133"</span>,
  <span class="c-str">"brand"</span>: <span class="c-str">"Apple"</span>,
  <span class="c-str">"price"</span>: <span class="c-num">489</span>,
  <span class="c-str">"currency"</span>: <span class="c-str">"USD"</span>,
  <span class="c-str">"availability"</span>: <span class="c-str">"IN_STOCK"</span>,
  <span class="c-str">"rating"</span>: <span class="c-num">4.5</span>,
  <span class="c-str">"reviews"</span>: <span class="c-num">5015</span>,
  <span class="c-str">"seller"</span>: <span class="c-str">"Reebelo"</span>
}
```

Printed by the Python request below[See the request ↓](#implementation)

  

What you can scrape from Walmart

Four kinds of Walmart data you can scrape with Scrapfly, no Walmart account required.

 ## // Scrape Walmart product data

Product name, brand, item ID, description, photos, rating and review count, plus the selected offer's seller. Use item IDs to match the same product across repeat requests.

- name
- brand
- usItemId
- description
- images
- seller

  ## // Scrape Walmart prices and availability

Current price, currency and stock status for the selected offer, along with color options and linked variant IDs. Fetch a variant's own product URL to follow that offer over time.

- currentPrice
- currencyUnit
- availabilityStatus
- variantCriteria
- sellerDisplayName

  ## // Scrape Walmart search results

Product URLs, names, prices, photos, ratings and review counts for a search query, with seller names and the total result count. Follow the page parameter to collect the next results page.

- usItemId
- canonicalUrl
- name
- price
- rating
- sellerName
- total results

  ## // Scrape Walmart product reviews

The reviews included on product pages: title, text, star rating and submission date, with helpful-vote counts and verified-purchase badges. Keep the review ID alongside the product ID for deduplication.

- reviewId
- reviewText
- rating
- reviewSubmissionTime
- positiveFeedback
- badges

  



Reliability

## // Get past Walmart's "Robot or human?" check

Walmart's PerimeterX check can return a "Robot or human?" page with HTTP 200 instead of product data. Use Unblocker (formerly ASP) with residential proxies to fetch the product or search page.

`unblocker=true`Enable Scrapfly's [Unblocker](https://scrapfly.io/products/unblocker) for Walmart's bot checks.



`proxy_pool=residential`Send requests through residential proxies, with `country=US` for Walmart.com.



`__NEXT_DATA__`Product and search data sit in the page's embedded JSON. Check for that data before parsing: HTTP 200 alone does not identify a usable page.



 



Choose your tools

## // Scrapfly products for Walmart scraping

Start with the Web Scraping API, Unblocker and residential proxies. Add a product extraction model, screenshots, a browser session or a URL-list crawl as your workflow needs them. One API key covers all five products.

 ### Web Scraping API for Walmart

Fetch product and search URLs with Unblocker and residential proxies. Product details and search cards are in the HTML, so these requests do not need browser rendering.

Parse the `__NEXT_DATA__` script for the product, its offer and the reviews included on the page.

 

```
GET /scrape?url=https://www.walmart.com/ip/715596133&unblocker=true&proxy_pool=residential&country=US
```

 [Explore Web Scraping API →](https://scrapfly.io/products/web-scraping-api)  ### Data Extraction API for Walmart products

Add `extraction_model=product` for a standard product record, with no parser to write.

Get name, brand, price, currency, images and aggregate rating in the same schema you use for other shops.

 

```
GET /scrape?url=https://www.walmart.com/ip/715596133&unblocker=true&proxy_pool=residential&country=US&extraction_model=product
```

 [Explore Data Extraction API →](https://scrapfly.io/products/extraction-api)  ### Screenshot API for Walmart products

Capture the product page with its photos, selected offer, price and seller. Keep a dated visual record alongside your JSON.

Set `timeout=120000` to allow time for Walmart's checks and the screenshot render.

 

```
GET /screenshot?url=https://www.walmart.com/ip/715596133&country=us&capture=fullpage&format=png&timeout=120000
```

 [Explore Screenshot API →](https://scrapfly.io/products/screenshot-api)  ### Cloud Browser API for Walmart sessions

Connect Playwright or Puppeteer to hosted Chromium when your workflow needs a browser session.

Load the product page and read its rendered content. Set the residential pool and US country on the connection URL.

 

```
chromium.connect_over_cdp("wss://browser.scrapfly.io?key=KEY&proxy_pool=residential&country=us")
```

 [Explore Cloud Browser API →](https://scrapfly.io/products/cloud-browser-api)  ### Crawler API for lists of Walmart URLs

Submit product and search URLs as one bounded job, with Unblocker and residential proxies applied to the requests.

Ask for HTML output and parse the embedded product or search JSON after the job finishes.

- url\_list
- unblocker
- proxy\_pool
- country
- content\_formats

 [Explore Crawler API →](https://scrapfly.io/products/crawler-api)  



One request

## // Fetch a Walmart product and read its price, stock and seller

The JSON at the top is what this code prints for a restored MacBook Air offer: one request, then selected fields from the page's embedded product data.

Install `scrapfly-sdk` and replace the key below. The example uses only the SDK and Python's standard library.

**Prefer the full scraper?** The open-source [Walmart scraper on GitHub](https://github.com/scrapfly/scrapfly-scrapers/tree/main/walmart-scraper) covers product details, reviews included on product pages and search results with pagination in Python 3.10. It runs against live Walmart every night. Clone it, set `SCRAPFLY_KEY`, and run `poetry run python run.py`.

 

 Python · scrapfly-sdkscrape + parse

```
<span class="c-key">import</span> json, re
<span class="c-key">from</span> scrapfly <span class="c-key">import</span> ScrapeConfig, ScrapflyClient

client = ScrapflyClient(key=<span class="c-str">"YOUR_SCRAPFLY_KEY"</span>)
result = client.scrape(ScrapeConfig(
    <span class="c-str">"https://www.walmart.com/ip/715596133"</span>,
    unblocker=<span class="c-key">True</span>,
    proxy_pool=<span class="c-str">"residential"</span>, country=<span class="c-str">"US"</span>,
))
payload = re.search(
    <span class="c-str">r'<script[^>]+id="__NEXT_DATA__"[^>]*>(.*?)</script>'</span>,
    result.content, re.S,
)
<span class="c-key">if</span> payload <span class="c-key">is</span> <span class="c-key">None</span>:
    <span class="c-key">raise</span> RuntimeError(<span class="c-str">"Walmart returned no product data"</span>)
data = json.loads(payload.group(<span class="c-num">1</span>))
product = data[<span class="c-str">"props"</span>][<span class="c-str">"pageProps"</span>][<span class="c-str">"initialData"</span>][<span class="c-str">"data"</span>][<span class="c-str">"product"</span>]
price = product[<span class="c-str">"priceInfo"</span>][<span class="c-str">"currentPrice"</span>]
item = {
    <span class="c-str">"item_id"</span>: product[<span class="c-str">"usItemId"</span>],
    <span class="c-str">"brand"</span>: product[<span class="c-str">"brand"</span>],
    <span class="c-str">"price"</span>: price[<span class="c-str">"price"</span>],
    <span class="c-str">"currency"</span>: price[<span class="c-str">"currencyUnit"</span>],
    <span class="c-str">"availability"</span>: product[<span class="c-str">"availabilityStatus"</span>],
    <span class="c-str">"rating"</span>: product[<span class="c-str">"averageRating"</span>],
    <span class="c-str">"reviews"</span>: product[<span class="c-str">"numberOfReviews"</span>],
    <span class="c-str">"seller"</span>: product[<span class="c-str">"sellerDisplayName"</span>],
}
print(json.dumps(item, indent=<span class="c-num">2</span>))
```

 

 



What the data is used for

## // Common Walmart scraping use cases

### Price monitoring

Track the selected offer's price and seller over time, with currency and item ID on each record.



### Availability tracking

Record stock status for product URLs and spot when an offer becomes available again.



### Search tracking

Follow which products and sellers appear for a query, and compare successive results pages.



### Catalog enrichment

Fill product records with brand, descriptions, images and linked color options.



### Review analysis

Collect the review text and ratings included on product pages, deduplicated by review ID.



### Marketplace research

Compare public product offers, sellers and ratings across a set of Walmart item URLs.



 



Common questions

## // Walmart scraping FAQ

 Is scraping Walmart legal?There is no universal answer. Legality depends on your jurisdiction, the data, the access method and how you use the result. Keep the workflow to public pages, avoid signed-in content, treat reviewer names as personal data, review Walmart's terms, and get legal advice for commercial use.

 Do I need a Walmart account or developer API key?No. These requests read public Walmart.com pages signed out. You only need a Scrapfly API key, not a Walmart account or developer app.

 Why does Walmart return a "Robot or human?" page?That is Walmart's PerimeterX bot check. It can return HTTP 200 with a challenge page instead of product or search data. Set `unblocker=true`, `proxy_pool=residential` and `country=US`. Check that the response contains the expected product or search JSON before parsing it.

 Can I scrape Walmart prices and stock?Yes. A product page embeds the selected offer's current price, currency, availability and seller in `__NEXT_DATA__`. It also links color variants. Fetch each variant URL for the offer you want to track. Availability describes the returned offer, not an exact inventory count or every local store.

 Can I scrape Walmart search results?Yes. Search pages embed product cards with item ID, URL, name, price, image, rating, review count and seller, plus the total result count. Set `q` to your query and follow `page=2` for the next page. The open-source scraper handles pagination.

 Can I scrape Walmart reviews?Yes. Product pages include review text, title, rating, date, helpful-vote counts and verified-purchase badges. Read those reviews from the embedded JSON together with the aggregate rating and total review count. The total count is separate from the reviews included on the page.

 How much does scraping Walmart cost?A product or search page with residential proxies and no browser rendering costs 25 credits. The product extraction model adds credits based on the response size; a Screenshot API capture costs 60 credits. Every account starts with 1,000 free credits.

 What are the rate limits when scraping Walmart?Scrapfly sets no Walmart-specific limit. Your maximum parallelism is the concurrency quota on your plan, or a lower cap configured for the project. Each in-flight request uses one slot until it finishes.

 



Start with one request

## Fetch the URL. Read the JSON.

Web Scraping API with Unblocker and residential proxies, one call per Walmart URL.

Proxies across 190+ countries

 [Walmart scraper on GitHub](https://github.com/scrapfly/scrapfly-scrapers/tree/main/walmart-scraper) [How to scrape Walmart](https://scrapfly.io/blog/posts/how-to-scrape-walmartcom) [All scraper pages](https://scrapfly.io/scrapers) 

 

 [Get free API key](https://scrapfly.io/register) [Read the docs](https://scrapfly.io/docs/scrape-api/unblocker)