Walmart proxies are sold as if walmart.com were a wall. It is a page, and most of it is free. On 26 September 2026 the home page gave a plain HTTP client behind a United States residential exit 2,190 words, with canonical, JSON-LD and an INDEX,FOLLOW robots tag; a headless browser got 2,975. Three quarters of the words arrive before any script runs. On 28 September we weighed both fetches: 347,371 bytes in 2.5 seconds without JavaScript, 2,611,433 bytes in 59.8 seconds with it. The last quarter of the page costs 7.5 times the bytes and 24 times the time, and the exit country changes which home you are handed.
Three quarters of Walmart is served before any script runs
We audited the home with the tool in our MCP server, which fetches once as a pure HTTP bot and once fully rendered and counts the words in each view, then weighed both fetches two days later.
| Fetch | Date | Exit | Status | Words | Bytes | Seconds |
|---|---|---|---|---|---|---|
| Plain HTTP, no JavaScript | 26 September | United States | 200 | 2,190 | n/a | n/a |
| Rendered in a browser | 26 September | United States | 200 | 2,975 | n/a | n/a |
| Plain HTTP, no JavaScript | 28 September | United States | 200 | 163 | 347,371 | 2.5 |
| Rendered in a browser | 28 September | United States | 200 | n/a | 2,611,433 | 59.8 |
| Plain HTTP, no JavaScript | 28 September | Canada | 200 | 566 | n/a | n/a |
| Plain HTTP, no JavaScript | 28 September | United Kingdom | 200 | 566 | n/a | n/a |
Every one of those six responses is a real page: title "Walmart | Save Money. Live better.", an h1, a canonical of https://www.walmart.com/, Organization and WebSite JSON-LD, and a robots tag that says INDEX,FOLLOW. Nothing in the set is an interstitial. The plain fetch on 28 September took one attempt, 2.5 seconds, with a Chrome TLS profile, and came back from Akamai's edge cache (cache-status: Hit), which is why it was fast: Walmart serves its home HTML from the CDN to a client that looks like a browser.
The word count moves between days because the home is a merchandising page and its blocks rotate; 2,190 on the 26th and 163 on the 28th from the same exit is the campaign content changing, not the access changing. What does not move is the ratio the render adds. On the day we measured both, the browser added 785 words to 2,190, and the words it added were carousels and recommendation rails, which is what JavaScript loads on a retail home. For product and search pages the server-rendered share is what a price monitor needs: the title, the price block and the availability text are in the HTML.
The render costs 7.5 times the bytes and 24 times the seconds
Row four is the budget line. A rendered fetch of the same URL weighed 2,611,433 bytes and took 59.8 seconds; the plain fetch weighed 347,371 bytes and took 2.5 seconds. The browser downloaded 7.5 times as much and held a residential session 24 times as long, to add the 26% of the words that a price monitor does not read. On a per-gigabyte network, bytes are the bill; on a pool, seconds of session are the capacity. Rendering Walmart spends both to buy the part of the page you do not need.
That is the sentence to put in the design doc: on Walmart, plain HTTP is the default and the browser is the exception you enable for one page type after you have measured that page type. The 26 September row is the measurement; if a product page you care about turns out to keep its price behind a script, measure that page and render only that page. Do not render the crawl.
The exit country changes the home you are handed
Rows five and six are the geo point, and it is not the one the autocomplete expects. "Walmart canada proxies" and "walmart ca proxies" are real queries, and walmart.ca is a different site; but walmart.com itself answers a Canadian exit and a British exit with the same 566-word page, and a United States exit with a 163-word one. The US visitor gets the localised, store-aware home with fewer words of generic content; the visitor from outside the US gets a national page. Same title, same canonical, same JSON-LD, different body.
The practical consequence is the one the only serious competitor guide raises and none of the vendor pages do: on Walmart, location has layers. The exit country picks the home; the store and delivery ZIP that Walmart attaches to a session pick the price, the seller and the pickup availability on product pages. A proxy sets the first layer. Your session, with its store selection cookie held on a sticky exit, sets the second. Rotating the exit in the middle of a store-scoped crawl produces rows whose price belongs to one store and whose availability belongs to another. Pin the country to us, hold the session while the store is selected, and store the ZIP with every row.
Walmart's robots.txt names no AI bot, and the terms now name AI training
walmart.com/robots.txt is 3,584 bytes, last modified on 30 July 2026, and most of it is 34 Sitemap lines: categories, stores, brands, topic pages, product sitemaps in numbered series. The wildcard rules close /search, /api/, /typeahead/, /account/, /orders and the internal electrode endpoints, and explicitly allow /reviews/product/ and /reviews/seller/. Yahoo's Slurp gets a crawl-delay of 5. No AI crawler is named: unlike Amazon, which lists 100 agents, or eBay, which lists 10 and reopens search to four, Walmart's file does not know GPTBot exists.
The Terms of Use are where the policy lives, and they were last updated on 9 September 2026, which is more recent than the June version the competitor guide quotes. The clause is one sentence: you may not use any robot, spider, site search/retrieval application or other manual or automatic device to retrieve, index, "scrape", "data mine" or otherwise gather any Materials, or use any Materials to develop, train or improve any artificial intelligence or machine learning model, without Walmart's express prior written consent. The AI-training language is the new part. That is the line, and we leave it there. What Walmart licenses is the Marketplace API on developer.walmart.com, for sellers and approved solution providers working on their own items, prices, inventory and orders; it is not a public catalogue feed.
What a gigabyte buys on Walmart
Prices from our pricing page: residential Basic $0.80/GB, the web scraping API from $0.0002 per page ($0.001 with rendering), and the walmart_search collector at $0.002 per delivered product. A gigabyte here is 10^9 bytes.
| Approach | Bytes per page | Pages per GB | Words per page | Cost per 1,000 pages |
|---|---|---|---|---|
| Plain HTTP, residential US, $0.80/GB | 347,371 | 2,878 | 2,190 (26 September) | $0.28 |
| Rendered, residential US, $0.80/GB | 2,611,433 | 382 | 2,975 (26 September) | $2.09 |
| Web scraping API, engine tls | n/a | n/a | 2,190 | $0.20 |
| Web scraping API with rendering | n/a | n/a | 2,975 | $1.00 |
| walmart_search collector, per product row | n/a | n/a | structured row | $2.00 |
Twenty-eight cents against two dollars and nine cents for the same thousand pages, and the cheaper column carries 74% of the words. The render is the line you cut. Note the second pair as well: through the API, rendering costs $1.00 per thousand pages against $2.09 for raw rendered bandwidth, because the API bills per page rather than per byte, so if you must render a page type on Walmart, render it through the API and not through the pipe. If you are sizing a catalogue crawl, how much proxy data you need does the arithmetic in the other direction, and how to price monitor covers what to store with each row.
Where we stop
Two of the ten pages ranking for this keyword are about running several Walmart accounts and about checkout bots. Walmart's terms forbid automated tools without written consent and we do not help with automated purchasing or account farming; a proxy does not restore a closed account, because the enforcement is not IP-based. Everything above is about reading public product pages for price and availability monitoring.
The setting that works on Walmart
- Network: residential, Basic line at $0.80/GB, sticky session while a store is selected. Every fetch in this post went through it, one attempt each.
- Fetch mode:
engine: tls. 2,190 words without JavaScript against 2,975 rendered, at 347,371 bytes against 2,611,433 and 2.5 seconds against 59.8. - Country:
country: "us". A Canadian or British exit is handed a 566-word national home; the US exit is handed the store-aware one. Hold the session so the store and ZIP do not drift mid-crawl. - When the proxy is not enough: the web scraping API with
engine: tlsat $0.0002 per page, and rendering through it at $0.001 only for a page type you have measured; or walmart_search at $0.002 per delivered product when you want rows instead of HTML. - Free tier: every account gets $2 of free API usage per month, which is 10,000 Walmart pages over plain HTTP at the API price.