The NanoScrape Walmart Scraper is an Apify actor that extracts product listings and prices from walmart.com. It returns 53 fields per result including title, description, categoryPath, itemId, url, priced at $1.3/1k product, with no API key or monthly subscription required.
Extract Walmart.com product data by URL or item ID (source platform). Returns price, list price, stock, ratings, seller (1P/3P), shipping, images, variants, specs, and 30+ more fields. Datacenter proxy rotation, pay-per-result.
| Field | Type | Example | Group |
|---|---|---|---|
url | string | (populated when data available) | Core |
title | string | null | (populated when data available) | Core |
description | string | null | (populated when data available) | Description |
stars | number | null | (populated when data available) | Reviews / rating |
reviewsCount | integer | null | (populated when data available) | Reviews / rating |
starsBreakdown | object | null | (populated when data available) | Reviews / rating |
categoryPath | string | null | (populated when data available) | Metadata |
scrapedAt | string | (populated when data available) | Metadata |
videosCount | integer | null | (populated when data available) | Media |
itemId | string | (populated when data available) | Other |
brand | string | null | (populated when data available) | Other |
manufacturer | string | null | (populated when data available) | Other |
price | object | null | (populated when data available) | Other |
listPrice | object | null | (populated when data available) | Other |
unitPrice | object | null | (populated when data available) | Other |
currency | string | null | (populated when data available) | Other |
inStock | boolean | null | (populated when data available) | Other |
availabilityStatus | string | null | (populated when data available) | Other |
stockText | string | null | (populated when data available) | Other |
thumbnailImage | string | null | (populated when data available) | Other |
highResolutionImages | array | (populated when data available) | Other |
features | array | (populated when data available) | Other |
shortDescription | string | null | (populated when data available) | Other |
breadCrumbs | array | (populated when data available) | Other |
isSponsored | boolean | null | (populated when data available) | Other |
isBestSeller | boolean | null | (populated when data available) | Other |
isRollback | boolean | null | (populated when data available) | Other |
isClearance | boolean | null | (populated when data available) | Other |
isFlashDeal | boolean | null | (populated when data available) | Other |
shipping | object | null | (populated when data available) | Other |
pickup | object | null | (populated when data available) | Other |
delivery | object | null | (populated when data available) | Other |
seller | object | null | (populated when data available) | Other |
sellerType | string | null | (populated when data available) | Other |
shipsFrom | string | null | (populated when data available) | Other |
returnPolicy | string | null | (populated when data available) | Other |
warranty | string | null | (populated when data available) | Other |
specifications | array | (populated when data available) | Other |
highlights | array | (populated when data available) | Other |
variantAttributes | array | (populated when data available) | Other |
variantDetails | array | (populated when data available) | Other |
isMultipack | boolean | null | (populated when data available) | Other |
multipackCount | integer | null | (populated when data available) | Other |
upc | string | null | (populated when data available) | Other |
gtin | string | null | (populated when data available) | Other |
wpid | string | null | (populated when data available) | Other |
usItemId | string | null | (populated when data available) | Other |
sku | string | null | (populated when data available) | Other |
modelNumber | string | null | (populated when data available) | Other |
answeredQuestions | integer | null | (populated when data available) | Other |
topReviews | array | (populated when data available) | Other |
zipCode | string | null | (populated when data available) | Other |
input | object | null | (populated when data available) | Other |
{
"startUrls": [
{
"url": "https://www.walmart.com/ip/Great-Value-Whole-Vitamin-D-Milk-1-Gallon-128-fl-oz/10450114"
},
{
"url": "https://www.walmart.com/ip/Apple-AirPods-Pro-Wireless-Earbuds-MagSafe-Case-USB-C/5689919121"
}
],
"itemIds": [],
"language": "en-US",
"maxItems": 0,
"scrapeReviewSample": true,
"scrapeVariants": true,
"concurrency": 5
}Priced at $0.0013 per product. 10 products ≈ $0.01, 100 ≈ $0.13, 1,000 ≈ $1.30. The first runs land inside Apify's $5/mo free-tier credit — pay only for what you extract, no monthly subscription.
Click Open on Apify above to run walmart-scraper in your browser - no code, no install. In the Apify console you get:
To run this actor from your own code you need an Apify API token. Get one in about a minute:
Free tier: Apify credits your account with $5 of platform usage every month, no credit card required. Enough to test any actor meaningfully - at $0.001 per result on typical scrapers, that is roughly 5,000 results for free every month.
Run this actor from any language via the Apify REST API. Replace YOUR_TOKEN with your API token and adapt the input JSON to your needs.
curl -X POST "https://api.apify.com/v2/acts/santamaria-automations~walmart-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'// npm install apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('santamaria-automations/walmart-scraper').call({});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);# pip install apify-client
from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('santamaria-automations/walmart-scraper').call(run_input={})
items = list(client.dataset(run['defaultDatasetId']).iterate_items())
print(items)// dotnet add package Apify.Client
using Apify.Client;
var client = new ApifyClient("YOUR_TOKEN");
var run = await client.Actor("santamaria-automations/walmart-scraper").CallAsync(new { });
var items = await client.Dataset(run.DefaultDatasetId).ListItemsAsync();// Maven: com.apify:apify-client
import com.apify.client.ApifyClient;
ApifyClient client = new ApifyClient("YOUR_TOKEN");
ActorRun run = client.actor("santamaria-automations/walmart-scraper").call(Map.of());
List<Map<String,Object>> items = client.dataset(run.getDefaultDatasetId()).listItems();This actor is available on the Apify MCP server, so you can drive it from any MCP-compatible AI client - Claude Desktop, Claude.ai, Cursor, VS Code, LangChain, LlamaIndex, or a custom agent - without writing any code.
https://mcp.apify.com?tools=santamaria-automations/walmart-scraperExample prompt once connected:
"Use <code>walmart-scraper</code> to run a scrape on my target list and give me the results as a table."
Clients that support dynamic tool discovery (Claude.ai, VS Code) receive the full input schema automatically via add-actor.
Trigger this actor from your favorite automation tool. Every platform below can call the Apify API in a few clicks - no code required.
@apify/n8n-nodes-apify).santamaria-automations/walmart-scraper.https://api.apify.com/v2/acts/santamaria-automations~walmart-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.application/json.https://api.apify.com/v2/acts/santamaria-automations~walmart-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, method POST, body raw JSON.https://api.apify.com/v2/acts/santamaria-automations~walmart-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN.steps.http.$return_value in subsequent steps.https://api.apify.com/v2/acts/santamaria-automations~walmart-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN, body type JSON.$1.30 / 1,000 product, billed per result on Apify. Apify's $5/month free tier covers the first runs. No monthly subscription — you only pay for what you extract.
53 fields per result. Full field catalog is listed in the 'What you can scrape' table above — includes core identifiers, descriptive text, dates, and any category-specific data.
Scraping publicly available data is generally permitted in most jurisdictions, but GDPR applies to any personal data you collect. Review your local rules and consult a lawyer for commercial use.
No. This actor reads public pages over HTTP with datacenter proxies. No API key, no OAuth, no rate-limit management on your side.
Every run pulls live data at execution time. Set up a schedule (daily/hourly/weekly cron) in the Apify console to keep your dataset current automatically.