Walmart Review Scraper API
Our Walmart review scraper takes any item URL or us_item_id and returns the overall rating, the 1-to-5 star distribution, and a page of full customer reviews: text, title, date, verified-purchase flag, and helpful-vote counts, all as JSON.
Why it is hard
Walmart's review text loads inside the item page's __NEXT_DATA__ blob behind a residential-only wall, so a datacenter fetch returns a challenge instead of reviews. Scraping it by hand means parsing that shifting blob and rebuilding the star breakdown yourself.
Quickstart
curl "https://api.walmartscraperapi.com/api/v1/walmart/reviews?url=https://www.walmart.com/ip/808715278&api_key=$API_KEY" import requests
BASE = "https://api.walmartscraperapi.com"
API_KEY = "YOUR_API_KEY"
# Pass a Walmart /ip/ URL, or use the id alias for a us_item_id.
data = requests.get(
f"{BASE}/api/v1/walmart/reviews",
params={
"url": "https://www.walmart.com/ip/808715278",
"api_key": API_KEY,
},
timeout=30,
).json()
print(data["overall_rating"], "from", data["total_reviews"], "reviews")
print("stars 5..1:", data["rating_distribution"])
for r in data["reviews"]:
tag = "verified" if r["verified_purchase"] else "unverified"
print(r["rating"], tag, r["reviewer_name"], "-", r["title"]) Response
{
"us_item_id": "808715278",
"overall_rating": 4.5,
"total_reviews": 4721,
"rating_distribution": {
"1": 244,
"2": 112,
"3": 216,
"4": 596,
"5": 3553
},
"reviews": [
{
"review_id": "393669526",
"reviewer_name": "Laurie",
"rating": 5,
"title": "Great Cuisinart coffeemaker",
"text": "Love the new sleek look of this Cuisinart 12 Cup Coffeemaker (DCC-1220 Series). I also like some of the new features ex, displaying how long the coffee has been brewed...",
"review_date": "7/29/2025",
"verified_purchase": true,
"positive_feedback": 3,
"negative_feedback": 0,
"badges": ["Verified Purchase"]
},
{
"review_id": "421664809",
"reviewer_name": "Robert",
"rating": 3,
"title": "Multiple Problems",
"text": "Not nearly as good as my previous Cuisinart. Coffeepot lid remains attached to coffee pot making it difficult to clean...",
"review_date": "4/4/2026",
"verified_purchase": true,
"positive_feedback": 5,
"negative_feedback": 1,
"badges": ["Verified Purchase"]
}
]
} | Field | Type | Description |
|---|---|---|
us_item_id | string | The Walmart listing id these reviews belong to. |
overall_rating | number | The item's average overall rating. |
total_reviews | integer | Total number of reviews on the item. |
rating_distribution | object | Count of reviews per star, keyed 1 through 5. |
reviews | array | The reviews on this page, each an object with the fields below. |
reviews[].review_id | string | Walmart's unique id for the review. |
reviews[].reviewer_name | string | The reviewer's display nickname. |
reviews[].rating | integer | The star rating this reviewer gave, 1 to 5. |
Params
| Parameter | Required | Default | Notes |
|---|---|---|---|
url | required | - | The Walmart item page URL, e.g. https://www.walmart.com/ip/808715278. This is the primary input. Required unless you pass id. |
id | optional | - | Alias for the numeric Walmart us_item_id, e.g. 808715278. We build the /ip/{id} URL from it. One of url or id is required. |
country | optional | - | Optional two-letter country code to fetch the item as seen from that region. |
api_key | required | - | Your API key, passed as a query parameter. Get one free at signup. |
Use it for
Product sentiment analysis
Star-distribution monitoring
Voice-of-customer feeds
Competitor review mining
Pricing
| Plan | Price | Best for |
|---|---|---|
| Free | 1,000 requests | Testing and small jobs |
| Pro | $0.60 / 1k | Production workloads |
| Pay-as-you-go | $0.90 / 1k | Spiky or one-off volume |
Median response 2.6s. You only pay for successful requests.
FAQ
What is a Walmart review scraper?
A Walmart review scraper is a tool that reads a Walmart item's public reviews and returns them in a structured format. Our Walmart review scraper API takes a product URL or us_item_id and returns the overall rating, the 1-to-5 star distribution, and a page of full reviews with text, title, date, verified-purchase flag, and helpful-vote counts as JSON.
How many reviews does one call return?
One call returns the first page of reviews for the item, along with the overall_rating, total_reviews, and the full rating_distribution. The reviews array holds the individual reviews from that page. The summary fields describe every review on the listing, so you always see the complete rating picture even from a single request.
Can I tell which reviews are from verified purchases?
Yes. Each review includes a verified_purchase boolean and a badges array carrying labels such as Verified Purchase. You can filter or weight your analysis to confirmed buyers by checking that flag, which is useful when you want to discount reviews that Walmart has not tied to a purchase.
Why does scraping Walmart reviews directly fail?
Walmart serves reviews inside the item page's __NEXT_DATA__ JSON and blocks datacenter IP ranges, so a direct fetch from a cloud server usually returns a challenge screen rather than the reviews. Our API routes through residential IPs, handles the anti-bot layer, and parses that JSON, which is why it returns structured review data where a plain request does not.
Do I get the star rating breakdown?
Yes. Every response includes rating_distribution, an object keyed 1 through 5 with the number of reviews at each star level, plus the overall_rating and total_reviews. That lets you chart how ratings are spread and track shifts in the distribution over time rather than watching only the single average number.
How fast is the Walmart review scraper API?
Median end-to-end response is about 2.6 seconds, which includes residential proxy routing, anti-bot handling, retries, and parsing. The rating summary, star distribution, and first page of reviews all come back in that one call.