Decide which automated visitors you want, verify them by something they cannot fake, and check everyone else. In practice that means allowing search engines and AI assistants only when the request comes from the IP ranges their operators publish (or carries a valid Web Bot Auth signature), and judging the remaining traffic on how it behaves, where it really comes from and whether the browser's claims hold together. robots.txt and user-agent blocking help with crawlers that behave, but neither stops a scraper that has decided to ignore them.
Scraping Protection: Stop Web Scrapers and Spoofed AI Crawlers
Let verified search engines and AI assistants read your site, and stop the scrapers pretending to be them. Prosopo Protect is a script tag on your pages, with edge protection on Cloudflare Workers or AWS Lambda@Edge, so scrapers are stopped before they reach your servers.
Who scrapes websites now
Scraping used to mean a competitor copying your prices or a script lifting your listings. Those still happen, but four kinds of scraper now arrive, and they need different answers.
AI training crawlers. Bots such as OpenAI's GPTBot collect pages that may be used to train AI models. The large operators name their crawlers, publish the IP addresses they use, and say they follow robots.txt.
AI answer engines fetching live. When someone asks ChatGPT, Claude or Perplexity a question, the assistant may fetch your page there and then to answer it. OpenAI's bot documentation says that because a person starts these requests, "robots.txt rules may not apply" to ChatGPT-User. This traffic is often traffic you want, because it is how your pages end up quoted in an answer. Between 19 October and 1 November 2026, verified answer-time fetches by AI assistants to prosopo.io averaged 248 a day.
Price, content and data scrapers. Competitors, aggregators and resellers who want your catalogue, your prices, your listings or the results of your search. They do not announce themselves.
Scrapers using residential proxies and anti-detect browsers. The serious operators send each request through a different home broadband connection and run a real browser that has been altered to report a believable device. Each request looks like a separate ordinary visitor, and nothing about the rate stands out. AI agents that drive a real browser, which we cover in agentic browsers, look much the same from the server.
robots.txt is a request, not a block
robots.txt tells crawlers which parts of a site you would like them to leave alone. The standard, RFC 9309, says plainly that "these rules are not a form of access authorization". A crawler that obeys it does so voluntarily.
It is still worth maintaining, because the crawlers that behave really do read it. Between 6 and 17 October 2026, verified AI crawlers fetched our robots.txt 511 times and our llms.txt three times. But a scraper that wants your content ignores the file, and an assistant fetching a page for a person may not consult it either.
More than half the AI user agents in our logs were spoofed
Blocking or allowing by user agent assumes the client is telling the truth. Between 5 and 18 October 2026, prosopo.io received 17,935 requests carrying an AI user agent, and 53% of them came from IP addresses that did not belong to the vendor named. Most of the impostors were on Google Cloud, and single addresses presented 11 to 13 different AI user agents each.
So the user agent cannot be trusted whether you allow or block by it. If you let anything calling itself GPTBot or ClaudeBot through, scrapers will use those names. If you block by AI user agent, you stop only the crawlers that were honest about who they are, while scrapers carry on with an ordinary Chrome user agent. We go through the checks for each AI agent in how to detect AI agents.
Which crawlers to allow and which to stop
Start from what you want, then verify it by something a scraper cannot copy.
Allow verified search engines and AI assistants. Google, OpenAI, Anthropic, Perplexity and others publish the IP ranges their crawlers use. A request that claims to be one of their crawlers and comes from inside the published range is genuine, and one that comes from anywhere else is an impostor. Some agents can also sign each request using Web Bot Auth, which proves who sent it without relying on an IP list, but a signature tells you who the agent is and not what it is doing, so a verified agent can still take more than you intended.
Decide on AI training crawlers as a business question. Whether you want your content used to train models is up to you. The named training crawlers can be refused in robots.txt and, if you want certainty, with a block rule that matches their user agent and published IP range together.
Stop everything else that behaves like a scraper. That means automation with no verified identity that is reading pages, prices or API responses at scale, whatever user agent it sends and whatever network it comes from.
How Prosopo Protect stops scrapers
Prosopo distinguishes legitimate visitors, search crawlers and authorised AI agents from scraping infrastructure on every request, and you set the policy rather than choosing between allowing all automation and blocking all of it.
- How the visitor behaves. Mouse movement, scroll rhythm and typing cadence. Automation repeats itself in ways a person does not, and that holds even when every other detail about the session looks ordinary.
- Where the traffic really comes from. Attackers route through home broadband connections and racks of real phones so each request looks like a separate ordinary visitor. Residential proxy detection checks the TCP connection for signs of a relay, scores every request against IP intelligence, and matches exit addresses against the proxy networks we rent and probe ourselves.
- Browsers that contradict themselves. An altered browser reports one device and behaves like another. Named detectors such as Inconsistent hardware readings for device and HTTP header fingerprint mismatches catch the contradiction.
- Sudden surges from the wrong places. A normal day sees steady traffic from your usual markets. A coordinated burst from hosting networks or unfamiliar regions gets extra checks, without slowing anyone else down.
- Your own allow and block rules. Access Rules match on IP range, ASN, country, user agent, JA4 TLS fingerprint and IP category (VPN, proxy, datacentre), alone or combined. Allow a crawler by its user agent and published IP range together, block hosting networks a scraper uses, or send suspicious traffic to an image, puzzle or proof-of-work challenge. Rules take effect the moment they are saved.
- Pages and APIs handled differently. Blocked HTML pages get a branded interstitial, and JSON APIs get the right HTTP status and an
X-Prosopo-Decisionheader, so scraping through your API is stopped as well as scraping of your pages.
Every block names the reason it was made, and Protect's edge protection runs on Cloudflare Workers or AWS Lambda@Edge, so scraper traffic is stopped before it consumes capacity on your servers.
Choosing scraping protection
Check these before you compare prices:
- APIs as well as pages. Scrapers move to your JSON API as soon as the pages are protected. Protection that only covers HTML pages leaves the API unprotected.
- Verified crawlers allowed by address, not by name. Search engines and AI assistants are how people find you. Allow them by their published IP ranges, because their user agents are the first thing a scraper copies.
- Residential proxies caught on the connection. IP block-lists do not catch a scraper that rents home broadband addresses. Look for checks on the connection itself.
- A reason on every block. When a real customer is stopped, you need to be able to see why.
- A price that does not rise with the attack. If you pay per request, a scraping surge raises your bill. Prosopo Protect is priced by number of sites rather than per request, within fair use, from $1,990 a month, and starts with 14 days in preview mode so you see what it would block first.
A competitor scraping a search product
A subscription search product had its free tier consumed at scale by a competitor reselling the results. Over thirty days: 7,824,429 sessions scored, 315,766 stopped as automated, and 79% of real visitors cleared without seeing a puzzle. The scraper was running slowly from home broadband addresses, so nothing about its rate stood out. What caught it was the client contradicting itself. The full figures are in the scraped SaaS case study.
Prosopo products for stopping scrapers
- Enterprise (Prosopo Protect) — put bot-aware verification in front of catalogue, search and content APIs.
- Residential Proxy Detection — catch scrapers renting home broadband addresses.
- Access Control — block hosting ASNs, TLS fingerprints and user agents associated with scraping toolchains.
- Bot Protection — surface a 0–1 score per request so your backend can rate-limit or throttle suspicious patterns.
See what's reaching your site
A Bot Exposure Assessment is a 30-minute call with an engineer. We look at your traffic, show where your current setup leaves gaps, and agree how a trial would be judged. Nothing to install first.
Questions
Something else? Ask an engineer.
How do I prevent website scraping?
Does robots.txt stop AI scrapers?
Only the ones that choose to obey it. The robots.txt standard, RFC 9309, says its rules are not a form of access authorisation. The large AI operators document which of their crawlers follow it, and verified AI crawlers fetched our robots.txt 511 times between 6 and 17 October 2026, so it is worth keeping up to date. But OpenAI says robots.txt rules may not apply to ChatGPT-User because a person started the request, and a scraper that wants your content can ignore the file entirely.
Can I block AI scrapers by user agent?
Not reliably. A user agent is text the client chooses to send. Between 5 and 18 October 2026, prosopo.io received 17,935 requests carrying an AI user agent, and 53% of them came from addresses that did not belong to the vendor named. Most came from Google Cloud addresses, each presenting 11 to 13 different AI user agents. A scraper that does not want to be noticed sends an ordinary Chrome user agent instead, so blocking by name only stops crawlers that were honest about who they are.
How do I allow Googlebot and AI assistants but block scrapers?
Match on the user agent and the source address together. Google, OpenAI, Anthropic, Perplexity and others publish the IP ranges their crawlers use, so a request claiming to be GPTBot from outside OpenAI's published range is an impostor. Some agents can also sign their requests with Web Bot Auth, which proves who sent them. With Prosopo Protect you can write an Access Rule that combines a user agent with an IP range, and let the detection decide for everything that is not on your allow list.
What is web scraping protection?
Web scraping protection is a service that tells wanted automated visitors, such as search engines and AI assistants, apart from scrapers collecting your content, prices or data without permission, and stops the scrapers. Good protection checks every request, including API calls, and works without making ordinary visitors solve a puzzle. Prosopo Protect does this with a script tag on your pages and edge protection on Cloudflare Workers or AWS Lambda@Edge, with a reason named on every block.
What should I look for in scraping protection software?
It should check API calls as well as pages, run before your origin so scraper traffic does not cost you capacity, let verified search engines and AI assistants through by their published IP ranges, catch scrapers on residential proxies rather than relying on IP block-lists, and name the reason for every block so you can answer a customer who was stopped. Ask how it is priced too: if you pay per request, a scraping surge raises your bill. Prosopo Protect is priced by number of sites rather than per request, from $1,990 a month.
Can you stop scrapers that use residential proxies and anti-detect browsers?
Yes. A residential proxy gives each request a real home broadband address, so IP block-lists do not catch it. Prosopo checks the connection itself, which often shows a different operating system from the one the browser claims or the shape of a proxy tunnel, and matches exit addresses against proxy networks we rent and probe ourselves. An anti-detect browser changes what the browser reports about itself, and the change tends to leave the client contradicting itself, which is what caught the scraper in our scraped SaaS case study.
Other attacks Prosopo stops
- Account takeover prevention: stop takeover bots at login Account takeover prevention for login, password reset and account recovery. Stop takeover bots at the form, auth API or CDN edge; real users pass invisibly.
- Stop Black Friday Sale Automation with Prosopo Stop hoarding bots, card testers and checkout scripts during Black Friday sales — drops into cart, checkout API or CDN edge without slowing real shoppers.
- Stop Click-Through Rate Fraud with Prosopo Stop click-farms and bot clicks polluting ad spend. Prosopo verifies clicks at your tracking endpoint, ad server or CDN edge — metrics reflect real users.
- Credential stuffing prevention: stop breached-password replay at login Credential stuffing prevention and protection for your login form, auth API and password reset. Stop breached-password replay at the edge; real users pass.
- Stop Denial of Inventory Attacks with Prosopo Stop hoarding bots locking up carts and reservations. Prosopo blocks add-to-cart abuse at checkout API or CDN edge — real buyers get the stock.
- Stop Loyalty Programme Automation with Prosopo Stop fake signups and points-farming bots at signup, claim and redemption endpoints — real members earn and redeem unimpeded, backend or CDN edge.






