<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: soloviber</title>
    <description>The latest articles on DEV Community by soloviber (@soloviber).</description>
    <link>https://dev.to/soloviber</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4194672%2F8251054b-0564-4bc3-9346-a4672fc31b6b.png</url>
      <title>DEV Community: soloviber</title>
      <link>https://dev.to/soloviber</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/soloviber"/>
    <language>en</language>
    <item>
      <title>AI Crawlers Are Silently Running Up Your Hosting Bill</title>
      <dc:creator>soloviber</dc:creator>
      <pubDate>Mon, 19 Oct 2026 21:24:30 +0000</pubDate>
      <link>https://dev.to/soloviber/ai-crawlers-are-silently-running-up-your-hosting-bill-4mbj</link>
      <guid>https://dev.to/soloviber/ai-crawlers-are-silently-running-up-your-hosting-bill-4mbj</guid>
      <description>&lt;p&gt;You opened your Vercel dashboard last Tuesday and did a double-take. The bandwidth graph looks like a ski slope. The bill is three times what you expected. Your site hasn't gone viral — you'd know about that.&lt;/p&gt;

&lt;p&gt;What happened? GPTBot, ClaudeBot, meta-externalagent, and a dozen other AI training crawlers paid you a visit. They didn't ask. They didn't check if they were welcome. And they definitely didn't contribute to your MRR.&lt;/p&gt;

&lt;p&gt;This isn't a fringe problem. It's happening to developers every week, and most don't realize it until the invoice arrives.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Scale of the Problem
&lt;/h2&gt;

&lt;p&gt;Let me share some real numbers from Hacker News threads in the past year:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Read the Docs&lt;/strong&gt; (the open source documentation hosting service) published a post-mortem describing how they got hit "to the tune of thousands of dollars" by AI crawlers. The AI company that caused the most damage did eventually compensate them — but that required them to notice, document, and escalate the issue.&lt;/p&gt;

&lt;p&gt;One developer running a self-hosted git instance reported &lt;strong&gt;37,212,377 requests in 60 days&lt;/strong&gt;, with &amp;gt;99% from bots. Their nginx access log grew to &lt;strong&gt;12 GiB&lt;/strong&gt;. The constant crawling caused a baseline 30-50% CPU utilization — just from bots, not from actual users.&lt;/p&gt;

&lt;p&gt;Another developer with a small browser game (~120 weekly users) had to put their wiki behind a login wall because AI crawlers were "causing massive amounts of spurious traffic" that crashed the game's MariaDB process multiple times.&lt;/p&gt;

&lt;p&gt;And an operator of a "very, very low traffic" site reported OpenAI's crawler hitting it "tens of thousands of times a minute non-stop" until they blocked it via Cloudflare.&lt;/p&gt;

&lt;p&gt;These are not enterprise companies with armies of ops engineers. These are indie developers, solo founders, and hobbyists — people running on platforms like Vercel, Fly.io, Railway, and Render where bandwidth and serverless invocations cost real money.&lt;/p&gt;




&lt;h2&gt;
  
  
  How AI Crawlers Burn Your Budget
&lt;/h2&gt;

&lt;p&gt;Understanding the mechanism helps you defend against it.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why serverless/edge hosting is especially vulnerable
&lt;/h3&gt;

&lt;p&gt;When you run a traditional server, a bot hammering it is annoying but the marginal cost per request approaches zero after you've paid for the instance.&lt;/p&gt;

&lt;p&gt;On serverless platforms, &lt;strong&gt;every invocation costs money&lt;/strong&gt;. Vercel charges per function invocation and GB of bandwidth. Fly.io bills per CPU-second. If a bot hits 10,000 pages of your Next.js app with SSR enabled, that's 10,000 cold-ish function calls, not "traffic to a static file."&lt;/p&gt;

&lt;p&gt;One commenter nailed the structural problem:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Combine inconsiderate crawler (AI or otherwise) with a server-side logic that doesn't really need to be there and you have a recipe for a crash, a big hosting bill, or both."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h3&gt;
  
  
  Why AI crawlers bypass caches
&lt;/h3&gt;

&lt;p&gt;Traditional search crawlers eventually learn to respect ETags and If-Modified-Since headers. Many AI crawlers don't. Several developers have observed that some bots &lt;strong&gt;actively avoid caches&lt;/strong&gt; — they add cache-busting query strings or ignore Vary headers. This means your CDN won't save you. Every request hits origin.&lt;/p&gt;

&lt;h3&gt;
  
  
  User-Agent strings to know
&lt;/h3&gt;

&lt;p&gt;Here are the actual User-Agent strings you'll see in your logs:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# OpenAI
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.3; +https://openai.com/gptbot)

# Anthropic
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)

# Meta
meta-externalagent/1.1 +https://developers.facebook.com/docs/sharing/webmasters/crawler)

# Amazon
Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Amazonbot/0.1; +https://developer.amazon.com/support/amazonbot)

# Apple
Applebot-Extended/0.1

# Common Data
CCBot/2.0 (https://commoncrawl.org/faq/)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There are currently 30+ distinct AI crawler User-Agents in the wild, and new ones appear regularly as every AI lab builds their own data pipeline.&lt;/p&gt;




&lt;h2&gt;
  
  
  Does robots.txt Actually Work?
&lt;/h2&gt;

&lt;p&gt;This is where it gets complicated.&lt;/p&gt;

&lt;p&gt;In theory, you can block all of these with a simple &lt;code&gt;robots.txt&lt;/code&gt; addition:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight conf"&gt;&lt;code&gt;&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;GPTBot&lt;/span&gt;
&lt;span class="n"&gt;Disallow&lt;/span&gt;: /

&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;ClaudeBot&lt;/span&gt;
&lt;span class="n"&gt;Disallow&lt;/span&gt;: /

&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;meta&lt;/span&gt;-&lt;span class="n"&gt;externalagent&lt;/span&gt;
&lt;span class="n"&gt;Disallow&lt;/span&gt;: /

&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;Amazonbot&lt;/span&gt;
&lt;span class="n"&gt;Disallow&lt;/span&gt;: /

&lt;span class="n"&gt;User&lt;/span&gt;-&lt;span class="n"&gt;agent&lt;/span&gt;: &lt;span class="n"&gt;CCBot&lt;/span&gt;
&lt;span class="n"&gt;Disallow&lt;/span&gt;: /
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The major labs (OpenAI, Anthropic, Google, Amazon) claim to respect &lt;code&gt;robots.txt&lt;/code&gt;. In practice, the situation is messier:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Respecting robots.txt doesn't mean not crawling&lt;/strong&gt; — it means they'll skip the page for training data but may still hit it for real-time search/summarization features.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Many crawlers are flat-out lying&lt;/strong&gt; — security researchers have documented crawlers that claim to be GPTBot or ClaudeBot but don't originate from those companies' IP ranges.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;New crawlers appear faster than blocklists update&lt;/strong&gt; — by the time you've added the top 10 bots to robots.txt, five new ones have appeared.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;One developer put it bluntly:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"It's also basically impossible to block most AI crawlers. Most completely ignore robots.txt. Some claim to respect it but I've found the majority that claim to also ignore it. You have to block their User-Agent and then their IPs if they spoof it and use botnets like some China-based AI crawlers."&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  Practical Mitigation Strategies
&lt;/h2&gt;

&lt;p&gt;Here's what actually works, in order of increasing effort:&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Add robots.txt entries (5 minutes, partial protection)
&lt;/h3&gt;

&lt;p&gt;Start here. For the well-behaved crawlers (OpenAI, Anthropic, Google), this works. It won't stop everything but it's zero cost.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Block known User-Agents at your CDN (15 minutes, good protection)
&lt;/h3&gt;

&lt;p&gt;If you're on Cloudflare (even the free tier), you can block AI crawler User-Agents with a firewall rule:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight vcl"&gt;&lt;code&gt;&lt;span class="p"&gt;(&lt;/span&gt;http.user_agent contains &lt;span class="s2"&gt;"GPTBot"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; or
&lt;span class="p"&gt;(&lt;/span&gt;http.user_agent contains &lt;span class="s2"&gt;"ClaudeBot"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; or
&lt;span class="p"&gt;(&lt;/span&gt;http.user_agent contains &lt;span class="s2"&gt;"meta-externalagent"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; or
&lt;span class="p"&gt;(&lt;/span&gt;http.user_agent contains &lt;span class="s2"&gt;"CCBot"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; or
&lt;span class="p"&gt;(&lt;/span&gt;http.user_agent contains &lt;span class="s2"&gt;"Amazonbot"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; or
&lt;span class="p"&gt;(&lt;/span&gt;http.user_agent contains &lt;span class="s2"&gt;"Applebot-Extended"&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This stops the honest bots before they hit your origin.&lt;/p&gt;

&lt;p&gt;Cloudflare also maintains a managed ruleset specifically for AI bots — you can enable it under Security → Bots → "Block AI Scrapers and Crawlers."&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Rate limit by ASN (30 minutes, strong protection)
&lt;/h3&gt;

&lt;p&gt;Most AI crawlers run from major cloud provider IP ranges. Aggressively rate limiting requests from AWS, GCP, Azure, and Meta's ASNs cuts off the majority of well-funded crawlers. You'll occasionally catch a legitimate developer testing from cloud IPs, but for most personal projects the tradeoff is worth it.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Serve static where possible (architectural, maximum protection)
&lt;/h3&gt;

&lt;p&gt;The most bulletproof solution: export your site as static HTML so bot traffic has no marginal cost. If you're using Next.js and don't actually need SSR, the &lt;code&gt;output: 'export'&lt;/code&gt; option in &lt;code&gt;next.config.js&lt;/code&gt; makes your site immune to per-invocation charges regardless of bot traffic.&lt;/p&gt;




&lt;h2&gt;
  
  
  First Step: Know What's Already Happening
&lt;/h2&gt;

&lt;p&gt;Before you build defenses, you need to know your exposure. Most developers don't realize how many AI crawlers have free access to their sites right now.&lt;/p&gt;

&lt;p&gt;I built a free tool to check this: &lt;strong&gt;&lt;a href="https://lior-seats.github.io/crawl-check/" rel="noopener noreferrer"&gt;crawl-check&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;It checks your site's &lt;code&gt;robots.txt&lt;/code&gt; against all major AI crawler User-Agents and tells you which ones are currently blocked and which have unrestricted access. Takes about 10 seconds, no signup required.&lt;/p&gt;

&lt;p&gt;Try it on your current domain — you might be surprised.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Bigger Picture
&lt;/h2&gt;

&lt;p&gt;This isn't going away. The number of AI crawlers is increasing, not decreasing, as every company building an LLM needs fresh training data. The economic incentives are completely misaligned: the crawlers capture value (training data) while you absorb the cost (bandwidth, compute).&lt;/p&gt;

&lt;p&gt;The developers most affected are the ones with the least resources to fight back — small indie projects, side projects, documentation sites, personal blogs. The same sites that often have the highest-quality, most useful content.&lt;/p&gt;

&lt;p&gt;If you want to stay ahead of this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up alerts on your hosting platform for unusual bandwidth/invocation spikes&lt;/li&gt;
&lt;li&gt;Audit your &lt;code&gt;robots.txt&lt;/code&gt; regularly as new bots appear&lt;/li&gt;
&lt;li&gt;Consider CrawlGuard (currently in waitlist) for ongoing monitoring: &lt;a href="https://crawlguard.user-sentry.com" rel="noopener noreferrer"&gt;crawlguard.user-sentry.com&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Check Cloudflare's &lt;a href="https://developers.cloudflare.com/bots/additional-configurations/block-ai-bots/" rel="noopener noreferrer"&gt;block AI bots documentation&lt;/a&gt; if you use their CDN&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The bots aren't going anywhere. But you can at least make sure they're not running up your bill without your permission.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Found this useful? Check out &lt;a href="https://lior-seats.github.io/crawl-check/" rel="noopener noreferrer"&gt;crawl-check&lt;/a&gt; — a free tool to see which AI crawlers have access to your site right now.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>webdev</category>
    </item>
  </channel>
</rss>
