Appearance
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:
| Product | Type | Product code | What it does |
|---|---|---|---|
| Walmart Search API | Scraper API (synchronous) | walmart_search | Search walmart.com and get one page of results. |
| Walmart Product API | Scraper API (synchronous) | walmart_product | Give one item id or product URL, get the product detail. |
| Walmart Scraper | No-code scraper | walmart | Sweep 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| Parameter | Type | Example | Description |
|---|---|---|---|
q | string | laptop | Required. Search query, up to 200 characters. |
page | number | 2 | Results page, 1–25. Defaults to 1. |
sort | string | price_low | best_match (default), price_low, price_high, best_seller, rating_high, new. |
min_price | number | 200 | Lowest price to include, in whole US dollars. |
max_price | number | 400 | Highest price to include, in whole US dollars. |
brand | string | HP | Only this brand, as the walmart.com Brand filter names it. |
in_stock_only | boolean | true | Only items that can be bought now ("Show available items only"). |
sold_by_walmart | boolean | true | Only items sold by Walmart itself (sponsored results excepted, see below). |
include_html | boolean | true | Also 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"
}
}
}| Field | Description |
|---|---|
results[].position | 1-based position among the product cards of this page, sponsored ones included. |
results[].us_item_id | walmart.com item id; pass it to the Product API as item_id. |
results[].product_id | Walmart's catalog product id. |
results[].url | Product page URL without tracking parameters. |
results[].price | Current price, or null when the card shows none (some cards show it only in the cart). |
results[].was_price | Struck-through "was" price when the card shows a discount. |
results[].price_per_unit | Unit price as walmart.com prints it, e.g. $1.23/100 ct; null for items priced by the piece. |
results[].rating | Average rating out of 5; null for an item without reviews. |
results[].seller_id, seller_name | Who sells the item: Walmart (Walmart.com) or a marketplace seller. |
results[].additional_offers_count | Offers from other sellers on top of the shown one. |
results[].availability | Availability as walmart.com words it, e.g. In stock. |
results[].stock_alert | Low-stock warning of the card, e.g. Only 2 left, Low stock. |
results[].fulfillment | Delivery and pickup promises of the card, e.g. Free shipping, arrives tomorrow. |
results[].badges | Merchandising badges, e.g. Best seller, Rollback, Only at Walmart, Overall pick. |
results[].categories | Category breadcrumbs, outermost first. |
results[].product_type | walmart.com's product type, e.g. Laptop Computers. |
results[].sponsored | true for a paid placement. |
related_searches | The related queries walmart.com suggests. |
pagination.total_results | Results walmart.com reports for the query and filters; 0 for a query without hits. |
pagination.total_pages | Last 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| Parameter | Type | Example | Description |
|---|---|---|---|
item_id | string | 18611919209 | walmart.com item id, the digits ending the product URL, e.g. 18611919209. Send either item_id or url. |
url | string | https://www.walmart.com/ip/HP-14-inch-HD-Windows-11-Laptop-Intel-N150-4GB-RAM-128GB-Storage-Tranquil-Pink-14-ep2111wm/18611919209 | A https://www.walmart.com/ip/…/<item_id> product URL. Send either item_id or url. |
include_html | boolean | true | Also 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"]
}
]
}
}| Field | Description |
|---|---|
price | Current price; null when the page offers none. |
was_price | Struck-through "was" price when the page shows a discount. |
price_per_unit | Unit price as walmart.com prints it, e.g. $2.42/100 ct; null for items priced by the piece. |
availability | Availability status, e.g. IN_STOCK, OUT_OF_STOCK; in_stock is true only for IN_STOCK. |
condition | Item condition, e.g. New, Restored, Pre-Owned. |
badges | Merchandising badges, e.g. Rollback, Best seller, Only at Walmart. |
seller | The buy-box seller: id, display name and type (INTERNAL for Walmart itself). |
additional_offers_count | Offers from other sellers on top of the buy-box one. |
fulfillment | Pickup, delivery and shipping options as the page words them, for the US store walmart.com picks for the request's exit. |
return_policy | Whether and for how many days the item can be returned, whether returns are free, and the return line the page shows. |
warranty | The manufacturer's warranty as walmart.com states it; null when the item has none. |
images | Product images, full size. |
categories | Category breadcrumbs, outermost first. |
description | The long description as plain text. |
specifications | The "Specifications" rows as name/value pairs. |
variants | One 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_counts | How many reviews gave five to one stars. |
recommended_percentage | Share of reviewers who recommend the item, 0 to 100. |
review_highlights | walmart.com's summary of what reviews praise or criticize, each with a sentiment of positive, negative or neutral. |
reviews | The 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}| Parameter | Type | Example | Description |
|---|---|---|---|
q | string | laptop | Required. Search query. |
sort | string | price_low | Result ordering, as in the Search API. |
min_price | number | 200 | Lowest price, as in the Search API. |
max_price | number | 400 | Highest price, as in the Search API. |
brand | string | HP | Only this brand, as in the Search API. |
in_stock_only | boolean | true | Only items that can be bought now. |
sold_by_walmart | boolean | true | Only items sold by Walmart itself, as in the Search API. |
max_pages | number | 10 | Search pages to sweep, 1–20. Defaults to 5. |
output_format | array | ["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
| Code | HTTP | Meaning |
|---|---|---|
VALIDATION_ERROR | 400 | Missing q; both or neither of item_id/url; a URL that is not an https walmart.com /ip/ page. |
NOT_FOUND | 404 | walmart.com has no product page for this item id. |
TARGET_BLOCKED | 502 | Every 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
pageto 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.
Related pages
- Amazon Scraper API - search results and product pages of ten Amazon marketplaces.
- Web Scraping API - the general single-URL scraper behind these APIs.
- Billing & credits - credit prices and plans.
- Files & artifacts - downloading the no-code result files.
- Managed Walmart scraping - ScrapeIt builds, runs and monitors the scraper for you and delivers ready-to-use data.