Skip to content
Blog

AI search

Counting AI Crawls: What a Crawl Quota Actually Measures

Crawl allowances look comparable and are not. What one crawl hit is, why spoofed hits still count, and the four things that can happen when an allowance runs out.

Jay Patel7 min read

Crawl allowances have started to appear on analytics pricing pages. One tool includes 100,000 a month, another 650,000, a third pauses at its limit and sells more by the million. The figures look comparable. They are not, because "one crawl" is defined differently from tool to tool, and so is what happens when you run out.

It matters more than it would for page views, because crawl volume is traffic you do not control. A training crawler that decides to re-read your documentation this week moves your count without you shipping anything. This post defines a crawl hit precisely, explains why verified and unverified hits are counted the same way, and sets out the four things that can happen when an allowance runs out.

What one crawl hit is

In Traceten, a crawl hit is one request to your server from a user agent that matches a known AI crawler, reported by a small piece of middleware running on that server. Browser-based analytics cannot do this, because a crawler never runs your tracking script, so the count starts where the request arrives.

Several filters run before anything is counted, and they decide most of what a quota means:

  • Methods. Only GET and HEAD requests are considered by default.
  • Assets. Requests for scripts, stylesheets, images, fonts and similar files are skipped, as are API and build paths. A crawler fetching your page and its forty assets is one hit, not forty-one.
  • Crawler-facing files. robots.txt, llms.txt and sitemaps are always counted, even though a naive text-file rule would skip them. A GPTBot request for llms.txt is one of the most informative events you can log.
  • Anchored matching. The user agent must contain the crawler's token at a word boundary, so GPTBot/1.1 matches and a string that merely contains those letters inside another word does not.

You also choose which categories to report: answer fetchers such as ChatGPT-User and Claude-User, search indexers such as OAI-SearchBot and PerplexityBot, training crawlers such as GPTBot and ClaudeBot, and uncategorised others. Switching off a category you have no interest in is the most effective way to keep a count, and a bill, to what you care about.

Verified and unverified hits count the same

A user agent is a claim that anyone can type. Verification is how you test the claim, and it is a ladder with several rungs because vendors publish different things.

What each verification result proves

Every rung is recorded on the hit. 'Could not check' is kept distinct from 'checked and did not match', so a missing reference list never reads as an impostor.

ResultWhat was checkedWhat it proves
Published IP rangeThe request's IP sits in a range the vendor publishes, as OpenAI and Anthropic doThe request came from that vendor's crawler fleet
Reverse DNSThe IP resolves to the vendor's domain, and that name resolves back to the same IPThe vendor controls the address
Operator networkThe IP sits in the operator's announced network, not a crawler listThe operator's network, not necessarily its crawler
User agent onlyThe token matched, and the vendor publishes nothing to check againstOnly what the request says about itself
SpoofedThe vendor publishes ranges, and this IP is outside themSomeone is using the vendor's name

Every reported hit counts toward the allowance, whichever row it lands in. That can look unfair for spoofed requests until you consider the alternative. Receiving and checking a hit costs the same whether it turns out real or fake. And a sudden wave of requests calling themselves GPTBot from addresses OpenAI does not publish is not noise to be filtered away. It is a finding, and it is stored and shown rather than dropped.

Per site or per account, per month or per cycle

Where the allowance applies changes what a figure means. Traceten's crawl allowance belongs to the account, pooled across all of its sites, and resets with each billing period: 100,000 crawl hits on Starter, 650,000 on Growth and 1,500,000 on Pro. Crawl hits never draw on the event allowance, and events never draw on crawl hits, so a crawler rereading your blog cannot use up the allowance your visitors need.

DataFast's documentation describes a similar shape with a different size: 100,000 accepted requests per account, reset with the billing cycle. The word "accepted" is doing work in that sentence, which is the general point. Before comparing two allowances, find the sentence that defines one unit.

What happens at the limit

This is where tools differ most, and where the pricing page is least likely to say.

Four things that can happen past a crawl allowance

Totals means the daily crawl counts per site and per page. Detail means the individual crawl records and the reverse DNS check.

StateWhen it appliesTotalsDetailCost
UnderWithin the allowanceExactKept, with full verificationIncluded
DegradedPast it on a paid plan, without crawl overageStill exactIndividual records and reverse DNS skippedNothing extra
MeteredPast it, with crawl overage switched onExactKept, with full verification$0.00004 per crawl hit beyond the plan
CappedPast it on the free planStop at the capNone past the capNothing

Three of the four keep your crawl totals exact. What varies is how much per-crawl detail survives and whether the excess is billed. Only the free plan genuinely stops counting, because a plan with no revenue behind it cannot carry unbounded crawler traffic. In every state, the middleware's report is accepted in exactly the same way, so nothing about your allowance ever reaches your server's responses or the crawler.

DataFast documents a different contract: reaching its allowance pauses bot traffic ingestion while normal web analytics keep working, and extra capacity costs $9 a month for each additional million requests. Pausing, degrading, metering and capping are all reasonable designs. They answer different questions about what you would rather lose when the crawlers get busy: the counts, the detail or the money.

Reading any crawl quota

Five questions turn a crawl allowance into something you can compare.

  1. What is one unit? A request, an accepted request, a verified request, or a page?
  2. Which requests are skipped before counting? Assets, non-GET methods, crawler-facing files?
  3. Per site or per account, and when does it reset? Calendar month or billing cycle?
  4. Do unverified and spoofed requests count? And are they shown to you?
  5. What happens past the limit? Paused, degraded, metered or capped, and what exactly is lost in each?

Then estimate your own volume before choosing a plan. Filter a month of your server's access log to the AI crawler user agents you care about, excluding asset requests, and you will have a figure close to what any server-side crawl meter will count. It is usually larger than people expect, and it moves with the crawlers' schedules rather than with anything you do.

Frequently asked

01

What counts as one AI crawl hit?

It depends on the tool, which is why quotas are hard to compare. In Traceten, one crawl hit is one GET or HEAD request to your server from a user agent matching a known AI crawler, excluding requests for assets such as scripts, images and fonts, but always including robots.txt, llms.txt and sitemaps.
02

Do spoofed or unverified crawler requests count toward a crawl quota?

In Traceten, yes. Receiving and checking a hit costs the same whether it is real or fake. Unverified and spoofed hits are also exactly what you want to see: a wave of requests using a vendor's name from addresses that vendor does not publish is a finding, so it is stored and shown rather than dropped.
03

What happens when I exceed my AI crawl allowance?

It varies by tool. DataFast pauses bot traffic ingestion. In Traceten, a paid plan without crawl overage keeps exact daily totals but skips individual crawl records and reverse DNS checks, a paid plan with overage keeps full detail and is billed $0.00004 per crawl hit beyond the plan, and the free plan stops counting at the cap.
04

How can I estimate my AI crawler volume before choosing a plan?

Filter a month of your server access log to the AI crawler user agents you care about, such as GPTBot, ClaudeBot, OAI-SearchBot and PerplexityBot, and exclude requests for assets. The result is close to what a server-side crawl meter will count. Switching off categories you do not need, such as training crawlers, is the main way to reduce it.

Sources and further reading

  1. 01Bot traffic tracking, DataFast Docs
  2. 02Overview of OpenAI crawlers, OpenAI
  3. 03Does Anthropic crawl data from the web, and how can site owners block the crawler?, Claude Help Center
  4. 04Verifying Googlebot and other Google crawlers, Google Search Central
Share

Keep reading