AI crawler comparison
One documents its IP ranges and honors robots.txt; the other does neither.
Short answer
GPTBot and Bytespider do the same job — AI model training — so the choice between them is not either/or. If you want to opt out of that use entirely, you need a rule for each of them; blocking one leaves the other free to crawl.
| GPTBot | Bytespider | |
|---|---|---|
| Operator | OpenAI | ByteDance |
| Purpose | AI model training | AI model training |
| robots.txt | Respects robots.txt | Ignores robots.txt |
| Published IP ranges | Yes — verifiable | None published |
| Official docs | Yes | None |
| Blocking costs you | No traffic — training only | No traffic — training only |
GPTBot is OpenAI's web crawler for gathering training data. Content it collects may be used to improve future GPT models. It is OpenAI's broadest crawler, and the one most site owners mean when they talk about "blocking ChatGPT" — though blocking it does not remove you from ChatGPT's live search answers, which use OAI-SearchBot instead.
Full profile, with every robots.txt, nginx, Apache and Cloudflare rule: GPTBot.
Bytespider is ByteDance's aggressive web crawler, believed to gather training data for its AI products including the Doubao models. It has drawn criticism for crawling at very high volume and for continuing to fetch pages on sites that have disallowed it.
Full profile, with every robots.txt, nginx, Apache and Cloudflare rule: Bytespider.
User-agent: GPTBot Disallow: / User-agent: Bytespider Disallow: /
The split most sites want when the two agents do different jobs: opt out of one without giving up the other.
User-agent: GPTBot Disallow: / User-agent: Bytespider Allow: /
Both are AI model training agents, but they belong to different operators — GPTBot to OpenAI, Bytespider to ByteDance. GPTBot: Crawls content to train OpenAI's models. Bytespider: ByteDance's crawler, used for training its AI models.
No. robots.txt matches on the user-agent token, so a group naming GPTBot applies only to GPTBot. Bytespider reads the group that names it, or the wildcard group if none does. To stop both you need a rule for each — or a wildcard rule, which would also affect every other crawler that reads it.
It depends which outcome you want. Blocking GPTBot opts you out of OpenAI's model training and costs you no traffic today, because training crawlers send no visitors. Blocking Bytespider opts you out of ByteDance's training data on the same terms. The common choice is to block training agents and allow search agents, so your content stays citable without feeding model training.
GPTBot: OpenAI documents GPTBot's IP ranges and states it honors robots.txt disallow rules. Bytespider: ByteDance publishes no crawler documentation, and multiple independent reports have found Bytespider ignoring robots.txt; blocking it reliably requires firewall or CDN rules.
Yes — they send different user-agent strings, so grep for each token separately: grep -i "GPTBot" and grep -i "Bytespider". Be aware that a user-agent header is self-declared and anything can send either string. For a check that cannot be spoofed, match the request IP against the published ranges: GPTBot at https://openai.com/gptbot.json.
Part of our directory of every known AI crawler. Last verified: 2026-09-13.