Walmart Product Data Scraper API
Our Walmart product data scraper takes any item URL or us_item_id and returns clean JSON: title, brand, current price, rating and review count, the full image set, seller, breadcrumbs, and the specifications table in a single request.
Why it is hard
Walmart renders the item page client-side and blocks datacenter IPs, so a plain fetch returns a challenge screen instead of product data. The full item, price, and specs sit inside a __NEXT_DATA__ JSON blob that shifts shape often, so hand-written selectors break within weeks.
Quickstart
curl "https://api.walmartscraperapi.com/api/v1/walmart/product?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 full Walmart /ip/ URL, or use the id alias for a us_item_id.
data = requests.get(
f"{BASE}/api/v1/walmart/product",
params={
"url": "https://www.walmart.com/ip/808715278",
"api_key": API_KEY,
},
timeout=30,
).json()
g = data["general"]
print(g["title"], "|", g["brand"])
print(data["price"]["currency"], data["price"]["price"])
print(data["rating"]["rating"], "from", data["rating"]["count"], "reviews")
for spec in data["specifications"]:
print(spec["key"], "=", spec["value"]) Response
{
"general": {
"title": "Cuisinart Stainless Steel 12-Cup Coffee Maker, Black",
"brand": "Cuisinart",
"url": "https://www.walmart.com/ip/Cuisinart-12-Cup-Coffeemaker-Stainless-Steel-Black/808715278",
"description": "Enjoy bold flavor and modern design with the Cuisinart Stainless Steel 12-Cup Coffee Machine in black...",
"main_image": "https://i5.walmartimages.com/seo/Cuisinart-12-Cup-Coffeemaker-Stainless-Steel-Black_b8985ea2-62a7-4c87-9867-e2c538980d2e.c6fa724a88d12d44d3cbc2aeda10962f.jpeg",
"images": [
"https://i5.walmartimages.com/seo/Cuisinart-12-Cup-Coffeemaker-Stainless-Steel-Black_b8985ea2-62a7-4c87-9867-e2c538980d2e.c6fa724a88d12d44d3cbc2aeda10962f.jpeg",
"https://i5.walmartimages.com/asr/558e12c4-b298-48bf-a58d-11f630ae987d.1c07f3428f277daed63ab54902480b58.jpeg"
],
"meta": { "gtin": "086279180261", "sku": "808715278" }
},
"price": { "currency": "USD", "price": 69.95 },
"rating": { "rating": 4.5, "count": 4720 },
"seller": { "id": "F55CDC31AB754BB68FE0B39041159D63", "name": "Walmart.com", "official_name": "Walmart.com" },
"fulfillment": { "out_of_stock": false, "free_shipping": false },
"breadcrumbs": [
{ "category_name": "Home", "url": "/cp/home/4044" },
{ "category_name": "Kitchen Appliances", "url": "/cp/kitchen-appliances/90546" }
],
"specifications": [
{ "key": "Number of cups", "value": "12" },
{ "key": "Finish", "value": "Stainless Steel" },
{ "key": "Model", "value": "DCC-1220BKSWM" }
],
"us_item_id": "808715278",
"product_id": "4NN9ZW0AZYDK",
"model": "DCC-1220BKSWM"
} | Field | Type | Description |
|---|---|---|
general.title | string | The product title as shown on the item page. |
general.brand | string | The manufacturer or brand name. |
general.url | string | The canonical Walmart product URL. |
general.description | string | The item description, flattened from Walmart's HTML bullets to plain text. |
general.main_image | string | URL of the primary product image. |
general.images | array | All product image URLs from the gallery. |
general.meta | object | Identifiers for the item: gtin (UPC when present) and sku (the us_item_id). |
price | object | Current price with currency and numeric price parsed from the live page. |
Params
| Parameter | Required | Default | Notes |
|---|---|---|---|
url | required | - | The Walmart product 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 canonical /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
Catalog enrichment
Competitive pricing
Content and specs sync
Marketplace seller checks
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 product data scraper?
A Walmart product data scraper is a tool that reads a Walmart item's public detail page and returns it in a structured format. Our Walmart product data scraper API takes a product URL or us_item_id and returns the title, brand, price, rating, review count, images, seller, breadcrumbs, specifications, and identifiers as JSON from a single request.
How do I scrape a Walmart product page without writing a parser?
Send one GET request to our walmart/product endpoint with the item url (or the id alias) and your API key. We route through residential proxies, handle anti-bot checks, retry on failure, and parse the page's __NEXT_DATA__ blob, so you get clean JSON back without maintaining selectors against Walmart's changing markup.
Can I look up a product by its item id instead of a URL?
Yes. Pass the numeric us_item_id as the id parameter and we build the canonical https://www.walmart.com/ip/{id} URL for you. Either url or id is required, so you can work from whichever identifier your data already has. The id also comes back on every response as us_item_id.
Why does a plain request to a Walmart product page fail?
Walmart blocks datacenter IP ranges and renders much of the page client-side, so a direct fetch from a cloud server tends to return a challenge or robot screen rather than the item. Our API routes through residential IPs, handles the anti-bot layer, and reads the product data from the embedded __NEXT_DATA__ JSON, which is why it returns structured fields where a plain request does not.
Does the response include specifications and all images?
Yes. The specifications array carries each spec as a key and value pair drawn from Walmart's detail data, and general.images returns the full gallery of image URLs with general.main_image as the primary. Both come back in the same call as the price, rating, seller, and breadcrumbs, so you assemble the whole product view from one request.
How fast is the Walmart product data scraper API?
Median end-to-end response is about 2.6 seconds, which includes residential proxy routing, anti-bot handling, retries, and parsing. One call returns the full item, so you do not chain extra requests to assemble price, specs, and images.