All posts
8 min read

Do AI Crawlers Have a Crawl Budget? What We Know, What We Don't

No AI vendor publishes a crawl-budget model. But observed bot behavior splits cleanly into training and retrieval patterns, and most classic crawl-budget discipline still pays off.

Diagram contrasting a training crawler sweeping broadly across many site pages with a retrieval bot fetching one page on demand for a user query.

Short answer: nobody outside OpenAI, Anthropic, Perplexity, and Google knows whether AI crawlers run a formal crawl-budget model, because none of them publish one. Google has documented how crawl budget works for Googlebot for years; no AI vendor has published an equivalent. What we have instead is bot documentation, server logs, and observable behavior - and those are enough to act on.

The observable pattern splits AI crawling into two very different modes. Training crawlers like GPTBot and ClaudeBot sweep broadly, fetching large numbers of pages on schedules you cannot see. Retrieval bots like OAI-SearchBot and Perplexity's user-triggered fetcher hit specific pages on demand, when a user's question makes your URL a candidate source. Most classic crawl-budget discipline - fast servers, clean robots rules, fresh sitemaps, no parameter sprawl - helps both modes. But the two modes fail differently, and the second one fails at answer time, in front of a user.

What "crawl budget" means, and why the term transfers awkwardly

In Google's published model, crawl budget is the intersection of two things: crawl capacity (how hard Googlebot can hit your server without degrading it) and crawl demand (how much of your site Google wants to recrawl, driven by popularity and staleness). It matters mostly for large sites, where wasted fetches on duplicate or junk URLs crowd out fetches of pages you care about.

For AI crawlers, the honest position is:

  • Capacity limiting clearly exists in some form. Documented AI bots respond to server behavior - they back off on errors and respect robots.txt (per each vendor's own documentation, and consistent with what we see in logs). A site that times out gets fetched less. Whether this is a Googlebot-style adaptive rate model or something cruder is not published.
  • Demand modeling is a black box. Nobody outside the vendors knows how GPTBot decides which sites to sweep this week, how deep to go, or what triggers a revisit. Log analyses across sites show wide variance in visit frequency and depth that correlates loosely with site prominence - but that is observation, not documentation.
  • The stakes are different. If Googlebot underserves you, pages index late. If a training crawler underserves you, your content is thinner in the next model's memory. If a retrieval fetch fails, you lose a citation in a live answer, immediately.

So treat "AI crawl budget" as a working metaphor, not a documented mechanism. The useful question is not "what is my budget" but "do bots get everything important, cheaply, every time they show up."

Training crawlers: broad, bursty, opaque

GPTBot (documented by OpenAI), ClaudeBot (documented by Anthropic), and their peers exist to collect text for model training. In server logs, their signature is breadth and burstiness: quiet for stretches, then a sweep that walks large portions of your site over hours or days, discovering pages through links like any conventional crawler.

What follows from that behavior:

  • Everything crawlable is a candidate. Training sweeps go deep, so junk URL spaces genuinely cost you here. If half a sweep's fetches land on faceted-navigation permutations, session-ID variants, and paginated duplicates, that is real bandwidth spent teaching a model your boilerplate instead of your best pages.
  • You cannot request a recrawl. There is no Search Console for GPTBot. Whatever state your site is in when the sweep arrives is the state that enters the corpus. This is the strongest argument for keeping the site permanently clean rather than cleaning up before "important" moments you cannot predict.
  • Revisit cadence is unknowable. Sweeps weeks or months apart are common in logs. Plan on any given fix taking one full sweep-plus-training-cycle to reach model memory.

Retrieval bots: narrow, immediate, unforgiving

The second mode is answer-time fetching: OAI-SearchBot for ChatGPT search, PerplexityBot and Perplexity-User for Perplexity, Google-Extended sitting alongside Google's normal crawl for Gemini grounding. Their log signature is the inverse of training sweeps: single-page fetches, often to deep URLs, at all hours, each one corresponding to your page being a candidate source for someone's live question.

Here "budget" barely applies - the bot fetches what the query demands. What applies instead is a per-request time budget:

  • Latency is a hard constraint. An answer is being composed while your server responds. A page that takes several seconds to deliver HTML risks being dropped from consideration in a way that never shows up as an error - the answer simply ships without you.
  • Every fetch is high-intent. A training fetch is one of thousands; a retrieval fetch is your one chance at a specific citation. A 500, a timeout, or a bot-protection challenge at that moment is a lost answer slot.
  • Demand is user-driven, not crawler-driven. You increase retrieval fetches by being the kind of source engines select - which is a content and authority problem, not a crawl-infrastructure problem.

Which classic optimizations transfer

Most of the standard crawl-budget playbook transfers, because it was never really about Google - it was about being cheap to crawl.

  • Server speed and stability. Helps both modes: training sweeps fetch more per visit from fast sites, retrieval fetches make their time budget. This is the single highest-leverage item.
  • robots.txt discipline. AI bots documented by their vendors respect RFC 9309 rules. Block junk URL spaces for all agents, and make deliberate per-bot allow/block decisions - our robots.txt guide for AI crawlers covers the exact user agents and rule patterns.
  • Sitemap freshness. A sitemap with accurate lastmod values is a cheap discovery path any crawler can use, and log evidence shows AI bots do fetch sitemaps. Details in sitemap.xml for AI crawlers.
  • Killing parameter sprawl and duplicates. Canonical URLs, consistent internal linking, and blocked facet permutations keep training sweeps on content that matters.

And where the classic playbook does not transfer:

  • No recrawl levers. URL inspection tools, indexing APIs, and ping endpoints have no AI-side equivalent. Your levers are limited to being discoverable and being worth revisiting.
  • No feedback loop. Google reports crawl stats; AI vendors report nothing. Your server logs are the only instrument you have.
  • Rendering assumptions are stricter. Googlebot renders JavaScript; there is no evidence the AI bots execute it, so content that only exists after client-side rendering may as well not exist for them. Crawl-budget thinking assumes the fetch gets the content - for AI bots, that means server-rendered HTML.

Verify in your logs, not in theory

Everything above is falsifiable against your own access logs, and that is where any crawl work should start and end.

Step 1 - isolate AI bot traffic. Filter by the documented user agents (GPTBot, ClaudeBot, OAI-SearchBot, PerplexityBot, Google-Extended and friends - the current list is in our AI crawler user agents rundown), and verify the hard-to-spoof ones against the vendors' published IP ranges.

Step 2 - separate the two modes. Bursty multi-page sweeps are training; scattered single-page fetches are retrieval. Look at what fraction of training-sweep fetches land on pages you actually want in a corpus. If it is low, you have found your parameter sprawl.

Step 3 - check the failure rate. Non-200 responses to AI user agents are the most actionable number in this whole topic: 404s reveal stale indexes needing redirects, 403s reveal bot protection eating citations, slow 200s reveal a latency problem you can measure per bot.

Step 4 - trend it monthly. Rising retrieval fetches to a page family is the earliest signal that engines consider you a source. Falling training-sweep depth after a site change is the earliest warning that you made yourself expensive to crawl.

For the full grep-to-insight workflow, including how to verify bot identity and build the recurring reports, see AI crawler log file analysis.

Frequently asked questions

Is there an official crawl budget for GPTBot or ClaudeBot?

No. OpenAI and Anthropic document their user agents, their purpose, and how to block them via robots.txt, but neither publishes anything about crawl scheduling, rate models, or revisit frequency. Any specific claim about how often these bots "should" visit a site is inference from logs, not documentation.

Do AI crawlers respect crawl-delay in robots.txt?

Crawl-delay is a non-standard directive - it is not part of RFC 9309, and major AI vendors do not document support for it. If bot load is a genuine problem, rate-limit at the server or CDN level and return 429 or 503 responses, which well-behaved crawlers treat as a back-off signal. Do not rely on crawl-delay doing anything.

Should small sites care about any of this?

Mostly no, on the training side - a few hundred clean pages get swept easily, which mirrors Google's own guidance that crawl budget concerns large sites. Every site should care about the retrieval side, though: answer-time fetches must succeed quickly regardless of site size, and one misconfigured bot-protection rule hurts a 50-page site exactly as much as a 50,000-page one.

Can I make AI crawlers visit more often?

Not directly - there is no submission or recrawl mechanism. Indirectly: keep the site fast, keep sitemaps accurate with honest lastmod values, earn links and mentions that raise your prominence, and publish content engines actually select at answer time. Retrieval demand follows user queries, so being cited is itself what drives more retrieval fetching.

How do I know whether a failed fetch cost me a citation?

You cannot tie one fetch to one answer, but the correlation is actionable: a 403 or timeout served to OAI-SearchBot or PerplexityBot was, by that bot's documented purpose, an answer-time fetch that got nothing. Treat every non-200 to a retrieval user agent as a lost opportunity and fix the class of failure, not the single URL.

Measure it instead of guessing

The honest summary: crawl scheduling is a black box, HTTP is not. You control response codes, latency, robots rules, and sitemap accuracy, and your logs tell you exactly how each bot experiences them. The free AI crawler access checker tests any URL against the major AI user agents in seconds - robots rules, response codes, and blocking layers - and a full Citevera audit scores crawlability across your whole site alongside AEO and schema readiness. Check the plumbing first; it is the one part of AI crawling where certainty is available.