# Is web scraping legal? Public data, logins and AI agents

> Scraping public pages is usually legal in the US and EU, with limits. Logged-in automation is a different question. The cases, the rules and a checklist.

Source: https://cotlet.dev/blog/is-web-scraping-legal

Published: 2026-10-06

Scraping public pages is usually legal in the US and EU, with limits. Logged-in automation is a different question. The cases, the rules and a checklist.

Cotlet team

Connect account

Password never stored

Session saved

Is web scraping legal? Mostly yes, if you collect public pages without logging in, at a reasonable pace, and you stay clear of personal data and copyrighted content you have no right to reuse. It gets harder once you log in, because then you have accepted the site’s terms, and harder again after the site tells you to stop. This is not legal advice; it is a map of the cases as of October 2026, including the part most guides skip: an agent working inside your own account.

## Is web scraping legal in the US?

The US has no scraping statute. The fights run through the Computer Fraud and Abuse Act (CFAA), contract law and copyright. Four decisions set the current baseline.

| Case | Court and date | What it decided |
| ---------------------------- | ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| _Van Buren v. United States_ | Supreme Court, 3 June 2021 | The CFAA asks a “gates-up-or-down” question: can you enter the system or part of it at all. Using access you already have for a purpose the owner dislikes is not a CFAA crime. The Court left open whether the gate must be technical or can be a contract ([opinion](https://www.supremecourt.gov/opinions/20pdf/19-783%5Fk53l.pdf), footnote 8). |
| _hiQ Labs v. LinkedIn_ | 9th Cir., April 2022; consent judgment 8 December 2022 | Scraping public profiles is likely not “without authorization” under the CFAA. But hiQ still lost: the district court held LinkedIn’s User Agreement enforceable, and hiQ stipulated to a $500,000 judgment over fake accounts used to reach password-protected pages ([Proskauer](https://newmedialaw.proskauer.com/2022/12/08/hiq-and-linkedin-reach-proposed-settlement-in-landmark-scraping-case/)). |
| _Meta v. Bright Data_ | N.D. Cal., 23 January 2024 | Meta’s terms did not bar logged-off scraping of public data, because a logged-off scraper is not “using” Facebook or Instagram ([Farella Braun + Martel](https://www.fbm.com/post/102kqw7/)). |
| _X Corp. v. Bright Data_ | N.D. Cal., 9 May 2024 | Claims over scraping and selling public posts were dismissed, partly as preempted by copyright law. Judge Alsup quoted the Ninth Circuit’s warning about “information monopolies” ([order](https://bpb-us-e2.wpmucdn.com/sites.uci.edu/dist/d/2220/files/2024/09/X-Corp-v-Bright-Data-Ltd.pdf)). |

Read together: public, logged-off data is the safest ground. The moment you create an account, the site’s terms become a contract you signed, and _hiQ_ shows that contract claims can win where the CFAA fails.

Two more risks sit next to this. Copyright protects expression, not facts, so prices and opening hours are a different matter from articles and photos. And getting past a CAPTCHA can be circumvention under DMCA section 1201; [our CAPTCHA and MFA post](https://cotlet.dev/blog/captcha-mfa-ai-agents) covers _Ticketmaster v. RMG_ and _Google v. SerpApi_.

## Is scraping legal in the EU?

Europe adds two layers the US mostly lacks: database rights and the GDPR.

**Contracts.** In _Ryanair v PR Aviation_ (CJEU, C-30/14, 15 January 2015), the Court held that the Database Directive does not apply to a database protected neither by copyright nor by the sui generis right, so nothing in it stops the owner from restricting use by contract ([summary](https://eulawradar.com/case-c-3014-ryanair-grounding-a-go-compare-an-airfare-website/)). Ryanair’s site terms banned screen scraping, and those terms could be enforced.

**Database rights.** In _CV-Online Latvia v Melons_ (CJEU, C-762/19, 3 June 2021), a job-ads search engine copied and indexed another site’s listings. The Court said that counts as extraction, but infringes the sui generis right mainly where it creates “the risk that that investment may not be redeemed” ([Kluwer Copyright Blog](https://legalblogs.wolterskluwer.com/copyright-blog/access-to-information-and-competition-concerns-enter-the-sui-generis-rights-infringement-test-the-cjeu-redefines-the-database-right/)). Copying a competitor’s whole catalog is riskier than reading a few records.

**Personal data.** If what you scrape names people, the GDPR applies, public or not. The European Data Protection Board adopted draft Guidelines 03/2026 on 7 July 2026, open for consultation until 30 October 2026\. They are written for scraping to train generative AI, but the signals they list are general: robots.txt, CAPTCHAs and “robots authentication to view content” mean a site opposes scraping, and a mitigating measure is to leave logged-in data out entirely.

_EDPB Guidelines 03/2026 on web scraping in the context of generative AI, version 1.0 for consultation, paragraph 66, adopted 7 July 2026 ([PDF](https://www.edpb.europa.eu/system/files/2026-07/edpb%5Fguidelines%5F2020603%5Fwebscraping%5Fv1%5Fen%5F0.pdf))._

National criminal law can bite too. Poland’s Criminal Code, art. 267 §2, punishes gaining access to all or part of an IT system “without authorization” (_bez uprawnienia_), with no need to break a safeguard ([text](https://e-prawnik.pl/porady-prawne/bezprawne-uzyskanie-dostepu-do-informacji-nieprzeznaczonych-dla-danej-osoby.html)). That is why written, scoped consent from the account owner matters.

## API vs scraping: which should you use?

If the site offers an official API that covers your task, use it. Here is how the two compare on the things that decide legality and upkeep.

| | Official API | Screen scraping |
| ------------- | ---------------------------------------- | ------------------------------------------------------------ |
| Permission | Explicit: you hold a key under API terms | Implied at best, often contradicted by site terms |
| Stability | Versioned, with deprecation notices | Breaks when the page changes |
| Rate limits | Documented | Guessed; too fast looks like an attack |
| Personal data | Scoped by the vendor’s permissions model | Whatever the page shows |
| Legal risk | Low, if you follow the API terms | From low (public, logged off) to high (logged in after a no) |

The catch is coverage. Plenty of apps people pay for have no API, or one that stops at the boring half of the job. That gap is where the next question starts.

## Logged in on your own account: a different legal question

Most “is web scraping legal” articles stop at public pages. But a growing share of automation is not collecting strangers’ data at all. It is your agent signing in to your booking tool and moving your appointment, or downloading your own invoices. You already have access. The legal question shifts from “may I take this data” to “may a tool act for me inside an account I own”.

Two Ninth Circuit cases frame it.

### Facebook v. Power Ventures: user consent does not outrank the platform

Power Ventures ran a social aggregator. Its users clicked “Yes, I do!” to let Power send event invitations through their Facebook accounts. Facebook sent a cease-and-desist on 1 December 2008 and blocked Power’s IP addresses; Power switched IPs and kept going.

The Ninth Circuit (_Facebook v. Power Ventures_, opinion amended 9 December 2016) drew two rules ([opinion](https://cdn.ca9.uscourts.gov/datastore/opinions/2016/12/09/13-17102.pdf)). First, breaking a website’s terms of use, on its own, does not create CFAA liability. Second, once permission “has been revoked explicitly”, then “technological gamesmanship or the enlisting of a third party to aid in access will not excuse liability.” Before the letter, Power had arguable permission through its users. After it, Power was liable.

The lesson for any tool acting for users: your users’ consent gets you in the door, but the platform can still close it, and the letter is the moment it does.

### Amazon v. Perplexity: who “accesses” when an agent clicks

In November 2025 Amazon sued Perplexity over Comet, an AI browser whose Assistant shops on Amazon.com for the user. The district court granted a preliminary injunction in March 2026\. On 4 August 2026 the Ninth Circuit vacated it (_Amazon.com Services v. Perplexity AI_, No. 26-1444, [opinion](https://www.courthousenews.com/wp-content/uploads/2026/08/amazon-v-perplexity-ninth-circuit-opinion.pdf)).

_Amazon.com Services v. Perplexity AI, Ninth Circuit opinion, page 15, 4 August 2026._

What the court decided:

- The CFAA “contemplates access by a person.” An AI agent is “a tool, not a person for statutory purposes.”
- On this record, Comet ran on the user’s machine and “Perplexity’s servers never directly access Amazon’s servers.” So the user accessed Amazon, not Perplexity.
- Amazon’s theory could have made users themselves liable for using an AI browser, and the court declined to read the CFAA that broadly.

What it did not decide, in its own words:

- Whether “on a different record or new facts” Perplexity could control the agent so as to gain entry itself.
- Tort claims: “We do not establish a new legal regime governing agentic AI.”
- Contract: footnote 5 says the ruling “does not impair Amazon’s ability to regulate access to Amazon.com via private terms of service for its users.”

It also only decided a preliminary injunction; the case went back to the district court. And note the fact the opinion flags: Amazon had told Perplexity twice that its agent was not allowed. _Power Ventures_ still sits in the background of that dispute.

### Where this leaves logged-in automation

Put the two cases side by side and you get a rough gradient:

1. **You, in your own browser, with an agent helping.** Strongest position after _Amazon v. Perplexity_. Your account terms still apply to you.
2. **A service running a session for you on its own servers.** The case the court expressly left open. Your consent helps; the platform’s terms and any letter it sends still matter.
3. **Any of the above after the platform says stop.** _Power Ventures_ territory. Stop.

## Is it legal to scrape a website? A checklist

Use this before you build a scraper or let an agent loose on an account.

1. **Is there an official API or OAuth that covers the task?** Use it. Zapier, Make or a CSV export also beat a scraper when they cover the job, and doing a monthly task by hand is fine.
2. **Public or logged in?** Logged-off, public pages carry the least risk. Logging in makes the site’s terms a contract you accepted.
3. **Whose account?** Only your own, or one you have written authority to act for. Never fake accounts; that is what sank hiQ.
4. **Do the terms ban automation?** If you accepted terms that forbid it, that is a contract claim waiting for you. Some apps are not worth it: LinkedIn and Instagram are the obvious ones.
5. **Personal data?** Collect only what the task needs, keep nothing longer than you need, and leave out other people’s data behind logins.
6. **Rate and respect.** One session per account, human pace, no rotating IPs to hide, no CAPTCHA solvers, no MFA workarounds.
7. **A cease-and-desist or a block arrives?** Stop. Do not switch IPs. Talk to a lawyer.

## How Cotlet approaches it

Cotlet is built for the second row of that gradient, and we would rather say so than pretend otherwise. It hosts unofficial integrations for apps with no API or a narrow one, as an MCP server for agents and a REST API for scripts.

_Cotlet acceptable-use policy, October 2026._

How it is designed to work:

- **You act within access you already have.** You sign in to each app yourself, in a browser on our side. We keep the encrypted session, never the password, and only for the actions you ticked in consent. Under our [terms](https://cotlet.dev/terms) you confirm you own each connected account or have authority to use it, and you agree to the terms of each app you connect, because you are the party to them.
- **No tricks at the gate.** We never break CAPTCHAs or bypass MFA; you pass them yourself. The [security page](https://cotlet.dev/security) has the details.
- **A list of things we will not automate.** Banks without a licence, LinkedIn, Instagram, and any app whose terms you accepted forbid automation. The full list is in the [acceptable-use policy](https://cotlet.dev/acceptable-use).
- **We stop when a vendor objects.** A cease-and-desist pauses the integration for everyone within 24 hours, and affected credits are refunded. That is _Power Ventures_ turned into a rule.
- **Data passes through.** No payloads are kept after a call.

None of this makes logged-in automation risk-free, and no vendor can promise you that. If you would rather run an open-source scraper yourself, [weigh the upkeep first](https://cotlet.dev/blog/github-unofficial-api-vs-hosted). If you want your agent working in apps like Booksy or Skool with these rules built in, [request access](https://cotlet.dev/signup) and pick your apps.

[All posts](https://cotlet.dev/blog)

## Want your app first?

Pick it when you sign up. The most-picked apps open first.

[Request access](https://cotlet.dev/signup)
