~ / guides / Is Scraping Walmart Legal? ToS, robots.txt & Policy

Is Scraping Walmart Legal? ToS, robots.txt & Policy

RC
Russ Calder
Walmart data engineer · about the author
the short version
  • Does Walmart allow scraping? No. Walmart's Terms of Use prohibit using any robot, spider, or automatic device to retrieve, index, scrape, or data mine its Materials without Walmart's express prior written consent.
  • A terms breach is a contract matter. After Van Buren and hiQ v. LinkedIn, scraping public Walmart pages while logged out is unlikely to break the US CFAA. Walmart can still block you or pursue a breach claim.
  • Walmart's robots.txt disallows /search, /account/, and /orders, and explicitly allows /reviews/product/ and /reviews/seller/. Product /ip/ pages carry no disallow rule.
  • Personal data changes the analysis. Under GDPR, public does not mean free to process. Collect product facts (price, title, ratings), stay logged out, keep request rates low, and skip seller personal data.

I wanted a straight answer to one question before I pointed a scraper at Walmart: is scraping Walmart legal, and if Walmart’s terms say no, what actually happens when you do it anyway? So I did the boring part. I read Walmart’s Terms of Use, I pulled its robots.txt and read the directives line by line, and I re-read the scraping case law that gets cited every time this comes up. This article is what I found, written for a working engineer in plain terms.

Short version: Walmart’s own rules say no to automated access without permission, the criminal-law picture under the CFAA is narrower than most people fear, and the civil-law picture (breach of contract and trespass) is where the real exposure sits. Personal data is a separate axis again. I will take each in turn with the primary sources linked, so you can verify every claim yourself. I work on Walmart data pipelines for a living, so treat this as a careful engineer’s reading of public documents. It is not a substitute for a lawyer’s sign-off.

Does Walmart allow web scraping?

No. Walmart does not allow web scraping without its express prior written consent, and it says so directly in its Terms of Use.

The relevant clause sits in the prohibited-uses section of the Walmart.com Terms of Use, last updated May 28, 2021. It prohibits you from using “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 reproduce or circumvent the navigational structure or presentation of the Walmart Sites, without Walmart’s express prior written consent.” A companion clause bars systematically downloading and storing Materials. So the Walmart terms of service scraping question, and the closely related Walmart terms of use scraping question, both have the same clear contract answer: prohibited without permission.

This is the distinction most blog posts blur, and it decides what kind of trouble you are actually in:

QuestionWhat governs itWorst realistic outcomeWhere it is decided
Does scraping breach Walmart’s terms?Walmart’s contract with youAccount ban, IP block, cease-and-desist, breach claimWalmart Terms of Use
Is scraping Walmart a crime?Computer Fraud and Abuse Act (US)Liability for unauthorized accessFederal courts
Is it a copyright problem?Copyright ActDamages for copying protected expressionFederal courts
Is it a privacy problem?GDPR, CCPARegulatory fines, data-subject claimsData regulators

A terms breach is the easy one to trigger and the cheapest to suffer: Walmart can throttle you, block your IP ranges, or close an account. A criminal or civil claim under the CFAA is far harder for Walmart to win on public data, for reasons the case-law section covers. The walmart terms of use automated access scraping prohibition is a real, enforceable contract term, but it is a different thing from a criminal statute, and conflating the two is how people end up either paralyzed or reckless. The rest of this guide keeps them apart.

What does Walmart’s Terms of Use actually prohibit?

Walmart’s Terms of Use prohibit automated retrieval, automated data gathering, and circumventing the site’s structure, all without prior written consent. The prohibited-uses list is broad on purpose, and the walmart terms of service prohibit scraping language is only one row in it.

I mapped the access-related prohibitions so you can see what each one targets:

Prohibited activityWhat it coversWhy Walmart includes it
Robots, spiders, retrieval applicationsAny automated client reading pagesCore anti-scraping prohibition
Scrape and data mine MaterialsBulk harvesting of product or price dataProtects the catalog and bandwidth
Systematically download and store MaterialsBuilding a local copy of the catalogDatabase and intellectual-property protection
Reproduce or circumvent the navigational structureDefeating the intended page flowAnti-circumvention
Manual or automatic deviceCloses the “I did it by hand” loopholeCovers headless browsers and click farms

That last row matters more than it looks. The clause covers a “manual or automatic device,” so framing your collection as semi-manual does not move you outside the language. The contract treats a headless Chrome session and a Python requests loop the same way.

One practical point on robots.txt before the policy section gives way to the law. Walmart’s robots.txt is a voluntary standard, and the Robots Exclusion Protocol was only formalized as RFC 9309 in 2022; no statute says you must obey it. Ignoring it will not by itself send you to court, but it does two quieter things: it removes any argument that you did not know automated access was unwelcome, and in the EU it weakens a legitimate-interest defense, which regulators have stated plainly. The next section reads the file itself, because the specific allow and disallow rules are more useful than the general principle.

What does Walmart’s robots.txt allow and disallow?

Walmart’s robots.txt sets one User-agent: * block that disallows dozens of paths and explicitly allows a few. I pulled the live file and read the directives line by line. Here are the rules that matter for a walmart robots.txt scraping policy decision:

Pathrobots.txt ruleWhat lives there
/searchDisallowSearch results listings
/account/DisallowLogged-in account pages
/api/DisallowInternal JSON endpoints
/ordersDisallowOrder history
/giftregistry/DisallowRegistry data
/reviews/product/AllowProduct review pages
/reviews/seller/AllowSeller review pages
/store/finderAllowStore locator
/ip/... (product pages)No ruleIndividual product detail pages

Two things stood out when I read the file. First, Walmart disallows /search outright, so crawling search-results pages runs against both the robots.txt and the Terms of Use at once. Second, product detail pages under /ip/ carry no disallow rule, and product and seller review paths are explicitly allowed. A concrete product URL like an iPhone 14 listing at walmart.com/ip/587451676 sits on an allowed path, while the search query that surfaced it does not. The file also sets a Crawl-delay: 5 directive, though it is scoped to Yahoo’s Slurp user-agent and does not apply to the catch-all * block.

robots.txt is a signal, and it stops short of being a permission slip. An allowed path in the file does not override the Terms of Use, which still require consent for automated gathering. What the file gives you is evidence of intent: honoring it keeps a good-faith posture, and that posture is exactly what the civil case law weighs. That is the bridge to the question everyone actually worries about, which is whether any of this is a crime.

Is scraping Walmart illegal under the CFAA?

Scraping Walmart’s public pages while logged out is unlikely to be a federal crime under the US Computer Fraud and Abuse Act (CFAA) after two recent rulings. This is the area where fear and reality diverge the most, so I will be specific about the walmart scraping legality or terms of service split.

The CFAA punishes accessing a computer “without authorization” or in a way that “exceeds authorized access.” For years, companies argued that violating a website’s terms flipped your access into unauthorized and triggered the statute. Two cases narrowed that reading sharply.

In Van Buren v. United States (2021), the Supreme Court held 6 to 3 that “exceeds authorized access” applies when you reach areas of a system that are off-limits to you, such as files or databases you were never permitted to touch. Using data you are allowed to see for a purpose someone disapproves of falls outside the statute. The Congressional Research Service summary is a clean read of the holding.

In hiQ Labs v. LinkedIn, the Ninth Circuit applied that logic to scraping. In its April 18, 2022 ruling, the court reaffirmed that scraping data from public profiles, where no login or authorization gate stands in the way, likely does not constitute access “without authorization” under the CFAA. Firm analyses from Jenner & Block and Loeb & Loeb walk through the reasoning.

So where does that leave a Walmart scraper? Here is the line I drew for myself:

Access patternCFAA riskReasoning
Reading public /ip/ product pages, logged outLowPublic data, no authorization gate (hiQ)
Scraping behind your own Walmart loginHigherAuthentication gate plus terms you accepted
Using credentials that are not yoursHighClassic unauthorized access
Defeating an IP block or the “Press & Hold” challengeContestedA technical barrier was placed in your way

The hiQ outcome carried a footnote the headlines skipped. Even though hiQ won the CFAA question, the case ended in a December 2022 settlement with a $500,000 judgment and a stipulation that LinkedIn could establish liability under the CFAA and California’s state-law equivalent, as Morgan Lewis reported. Beating the federal statute did not make the contract problem disappear. That is the cleanest possible bridge to the civil theories, which is where Walmart’s actual leverage lives.

What civil claims could Walmart bring, and what do recent cases show?

Walmart’s realistic leverage against a scraper is civil, built on breach of contract and on a trespass-style theory that heavy automated load burdens its servers. The recent Bright Data rulings show how courts are treating those claims for public, logged-out data.

There is no published Walmart-versus-scraper decision to point at, so the relevant guidance comes from the cases the whole industry watches. Two of them involved Bright Data, and both went against the platform on public-data claims:

CaseCourt / dateHolding on public dataLimit on the holding
Meta v. Bright DataN.D. Cal., Jan 2024Meta’s terms did not bar scraping public Facebook and Instagram data while logged outTurned on Meta’s “your use” wording; logged-in scraping is different
X Corp. v. Bright DataN.D. Cal., May 2024X’s contract and tort claims over public data were dismissed, copying public data was preempted by the Copyright ActA complaint at the pleading stage; reasoning may not bind other courts

Judge William Alsup’s X Corp. v. Bright Data ruling is the one I would read first, because the court warned that letting a platform lock up public facts by contract would “entrench its own private copyright system that rivals, even conflicts with, the actual copyright system enacted by Congress.” Proskauer, which defended Bright Data, summarizes both dismissals. The lesson for Walmart scraping is direct: a terms prohibition is enforceable as a contract, but courts have been skeptical of stretching it to bar logged-out collection of public data.

Trespass to chattels is the older theory, and it is the one Walmart’s facts would fit best if a scraper ran hot. It turns on server burden, so request volume is the decisive fact. Keeping load light is a legal control in its own right, on top of being good engineering. My step-by-step Walmart scraping guide covers the rate-limiting mechanics in detail.

Walmart prices, product titles, and specifications are facts, and US copyright does not protect facts. The Supreme Court settled this in Feist Publications v. Rural Telephone Service, which held that facts and the raw data in a compilation are not copyrightable, even though a sufficiently original selection or arrangement can be.

Walmart has tested the edges of this before. In 2002, Walmart, along with Best Buy, Target, and Staples, sent DMCA notices to the bargain site FatWallet, claiming their posted sale prices were protected. The claim drew attention precisely because sale prices are facts and cannot be copyrighted. That history is a useful reminder that a takedown letter is not the same as a winning legal theory.

Here is how the copyright line maps to what a Walmart scraper typically collects:

Data you collectCopyright statusPractical note
Price, was-price, rollback flagFactual, uncopyrightableCore price-monitoring data, low copyright risk
Product title, brand, modelFactual, uncopyrightableCatalog attributes, low risk
Specifications, ratings, review countsFactual, uncopyrightableNumeric and attribute data, low risk
Product description prosePossibly protected expressionStore the facts, avoid copying long descriptions verbatim
Product photography on i5.walmartimages.comProtected expressionHotlink or store the URL, do not rehost the image file

The clean pattern is to keep the facts and skip the protected expression. When I build a Walmart pipeline, I store the structured fields (price, title, ratings) and at most the image URL on i5.walmartimages.com, never a rehosted copy of the photo or a verbatim block of marketing prose. That keeps the dataset on the factual side of the line. Copyright is not the only non-CFAA axis, though. The moment your collection touches people, with product data set aside, data-protection law switches on.

Yes. The moment you collect personal data, such as reviewer names, seller contact details, or anything tied to an identifiable person, EU and UK data-protection law applies on top of everything above, and “the data was public” is not a defense.

EU regulators have been blunt about this. France’s data-protection authority, the CNIL, published a focus sheet on legitimate interest for data collection by web scraping that is the clearest regulator statement available. The CNIL accepts that scraping publicly accessible data can rely on the legitimate-interest basis under Article 6(1)(f), but only after a documented three-part test (legitimacy, necessity, and a balancing test), and it expects controllers to honor site restrictions such as terms of use and exclusion protocols and to maintain an exclusion or push-back list.

The fines show this is not theoretical. The Italian DPA fined Clearview AI 20 million euros in 2022, and the Dutch DPA followed with a 30.5 million euro penalty in May 2024, both over scraping personal data without a valid basis. Those are personal-data cases, and that is the distinction to hold onto for a Walmart project.

For Walmart specifically, the cleanest way to stay out of this bucket is to scope your collection to product facts and away from people:

Walmart data typePersonal data?Practical guidance
Product title, price, specsNoLowest risk, factual market data
Ratings and aggregate review countsNoNumeric data, low risk
Review text with a reviewer display nameSometimesThe name can identify a person, drop it where you can
Seller business name and storefrontSometimesA business name is lower risk than an individual’s
Seller real name, address, contactYesGDPR and UK GDPR apply, document a basis

If your use case is price intelligence, catalog building, or competitor monitoring, you can get everything you need from the top rows of that table and skip the personal-data minefield entirely. When I build pipelines, I drop personal fields at the parsing stage so they never reach storage. The next question is the practical one: how to collect Walmart product data at a scale that stays inside all of these lines.

How do I scrape Walmart data without crossing the line?

You reduce risk by controlling the four things the law actually weighs: access method, request volume, what data you keep, and whether you have permission. None of this is legal advice, and a lawyer should sign off on anything commercial. As an engineering matter, here is the checklist I work from.

For most teams the hard part is not knowing these rules. It is implementing the rate control, retries, residential proxies and proxy rotation, and clean JSON parsing while staying off logged-in pages and out of personal-data fields. That is the work I hand to a scraper API. ChocoData accepts a Walmart product URL and returns parsed product data, handling the request management on its side so I stay on public pages at a controlled rate. Here is the exact call I run against a product page:

curl "https://chocodata.com/api/v1/walmart/product?url=https://www.walmart.com/ip/587451676&api_key=$CHOCO_API_KEY"

That returns the factual product fields (title, price, ratings, and specifications) as structured JSON, without me logging in, rendering the React page myself, or pulling reviewer personal data into storage. For price tracking across many SKUs, the Walmart price monitoring API follows the same shape, and review collection uses the Walmart review scraper against the /reviews/product/ paths Walmart’s robots.txt allows. If you want to try it on your own targets, you can grab a free ChocoData key and run the call above in a couple of minutes.

For the build-it-yourself side, the public write-ups from vendors like Oxylabs walk through the proxies and headless-browser setup, and you can watch the raw HTTP response shift from a product page to a “Press & Hold” challenge once the request rate climbs. I cover the same proxy and anti-bot mechanics in my Python walkthrough and my guide to avoiding blocks when scraping Walmart. For a side-by-side of the managed options, my best Walmart scrapers and APIs in 2026 lays out the tradeoffs.

After reading the documents myself, here is the honest summary. Walmart’s Terms of Use say no to automated access without permission, full stop, but US criminal law under the CFAA is narrower than the policy and probably does not reach scraping of public, logged-out Walmart pages. US civil law (breach of contract and trespass) is the real exposure, and the recent Bright Data rulings have leaned against platforms trying to lock up public data by contract. US copyright does not protect Walmart’s prices or product facts, while EU data-protection law is a separate track that switches on the instant you collect personal data, public or not.

Legal axisDoes it restrict Walmart scraping?Your main lever
Walmart Terms of UseYes, prohibits it without permissionGet permission or use a managed route
robots.txtYes, as policy and evidenceHonor it, avoid /search, back off on blocks
CFAA (US criminal)Mostly no for public, logged-out dataStay logged out, no gate-breaking
Trespass / contract (US civil)Yes, this is the real riskKeep volume and server load low
Copyright (US)No for prices and factsStore facts, do not rehost images or prose
GDPR / UK GDPRYes, for personal data onlyCollect product facts, drop personal fields

The practical takeaway is not complicated. Use a permissioned or public-page route, stay logged out, keep the request rate gentle, collect product facts and not people, and document what you are doing and why. That combination keeps you on the right side of the facts that courts and regulators actually weigh. When you are ready to build the pipeline itself, start with my step-by-step Walmart scraping guide and the Python walkthrough.

FAQ

Does Walmart allow web scraping?

No. Walmart's Terms of Use prohibit using any robot, spider, site search/retrieval application, or other automatic device to retrieve, index, scrape, data mine, or otherwise gather any Materials without Walmart's express prior written consent. Scraping Walmart without permission breaches those terms even when the pages are public and visible to any logged-out shopper.

Is scraping Walmart illegal in the US?

Scraping publicly visible Walmart product pages while logged out is unlikely to violate the US Computer Fraud and Abuse Act after Van Buren v. United States (2021) and hiQ v. LinkedIn (9th Cir. 2022), which read the CFAA narrowly for public data. It can still be a breach of Walmart's Terms of Use, which is a contract question and a separate matter from criminal liability.

What does Walmart's robots.txt say about scraping?

Walmart's robots.txt sets a User-agent: * block that disallows paths including /search, /account/, /api/, /orders, and /giftregistry/, while it explicitly allows /reviews/product/, /reviews/seller/, and /store/finder. robots.txt is a policy and technical signal. It is not a law, but ignoring it removes any argument that automated access was unexpected.

Can Walmart sue me for scraping its prices?

In principle yes, on a breach-of-contract or trespass theory, though Walmart prices are factual data that US copyright does not protect under Feist v. Rural Telephone. The practical risk rises with request volume, server load, account use, and whether you collect personal data. Reading public product facts at a modest rate carries far less exposure than high-volume automated access behind a login.

Is it legal to scrape Walmart product and price data for price monitoring?

Scraping public Walmart product and price data for price monitoring is generally treated as lawful in the US when the pages are public, you stay logged out, and you avoid personal data, because prices and product attributes are facts. It still breaches Walmart's Terms of Use without permission, so the lower-risk pattern is a permissioned route or a managed scraper API that controls request rate on your behalf.

RC
Russ Calder
I've built Walmart data pipelines for years. On walmartscraperapi.com I run Walmart scraping methods against live pages and publish what actually holds up.