Diffbot Fetcher
Operated by Diffbot
Quick Facts
- User-Agent:
- Diffbot-User
- Category:
- AI & LLM Bots
- Operator:
- Diffbot
- Safety:
- Safe
- Blocking Impact:
- Low - No SEO ranking impact
- SEO Impact Score:
- 2/10
- Official docs:
- docs.diffbot.com
Confirmed by the operator
Diffbot names Diffbot-User on its own documentation page, linked above. The token, purpose and robots.txt behaviour on this profile come from that page, re-checked on October 19, 2026.
What is Diffbot Fetcher?
Diffbot Fetcher is an on-demand AI fetcher operated by Diffbot. It retrieves a page only when a user explicitly asks an AI assistant or agent to read, summarize, or act on a specific URL. Because it is triggered by real user intent rather than bulk crawling, blocking it mainly prevents users from pulling your content into Diffbot's assistant.
Diffbot Fetcher is an on-demand AI fetcher operated by Diffbot. It retrieves a page only when a user explicitly asks an AI assistant or agent to read, summarize, or act on a specific URL. Because it is triggered by real user intent rather than bulk crawling, blocking it mainly prevents users from pulling your content into Diffbot's assistant.
Diffbot Fetcher uses the user-agent token Diffbot-User. You can control it via robots.txt, meta tags (noai), or the emerging llms.txt standard. Robots.txt is voluntary; for hard enforcement, combine it with server-level IP blocking.
What happens if you block Diffbot Fetcher?
User-agent / Disallow: / without any SEO penalty.Want to see whether Diffbot Fetcher actually visits you? Read how do I monitor AI bot traffic to my website?
How to block Diffbot Fetcher with robots.txt
<code>User-agent: Diffbot-User</code> - Matching is case-insensitive. Robots.txt is fetched from the root of each subdomain separately.
Is Diffbot Fetcher safe to allow?
What does Diffbot Fetcher do?
Understanding Diffbot Fetcher's purpose helps you decide whether to allow or block it.
- Fetches a page only when a user asks an AI assistant to read it
- Summarizes or extracts the URL the user provided
- Triggered by real user intent, not bulk crawling
- Low traffic volume compared with training crawlers
- Blocking it prevents users from pulling your content into the assistant
Diffbot Fetcher in context
Diffbot Fetcher is a user-triggered agent operated by Diffbot. In plain terms, it fetches a page when a person asks an assistant or app to open it. Our database files it under AI and LLM crawlers and ranks it Tier 3, mid-priority crawlers with a clear purpose but a smaller audience. 15 of the 104 AI and LLM crawlers in our database share this tier.
Its safety rating is safe and its blocking impact is low. So the decision about Diffbot Fetcher rests on what you want from Diffbot, not on its behaviour. How we rate safety and impact.
How site owners treat Diffbot Fetcher
Our robots.txt study of the Tranco top 10,000 did not track Diffbot-User as a named token, so we do not publish an adoption figure for it. If you run a large site, your own logs are the best evidence of how often it visits.
Does it follow robots.txt?
Diffbot Fetcher's operator does not clearly document how it treats robots.txt. Write the Diffbot Fetcher rule anyway, then confirm in your logs that its requests stop.
Diffbot crawlers and close alternatives
Diffbot Fetcher is one of 2 Diffbot crawlers in our database. A User-agent: Diffbot-User group controls Diffbot Fetcher only; the other Diffbot tokens below need their own lines.
Diffbot-User: this crawler (Tier 3)Diffbot: Diffbot Scraper, harvests pages for a dataset or data product (Tier 6)
To give Diffbot Fetcher the same answer as its siblings, stack User-agent: Diffbot-User with their lines above one set of rules; to treat Diffbot Fetcher differently, give it its own group.
Other AI and LLM crawlers that do the same job (fetches a page when a person asks an assistant or app to open it) include ChatGPT Agent from OpenAI, ChatGPT Operator from OpenAI, ChatGPT-User from OpenAI, ChatGPT-User/2.0 from OpenAI, Claude-SearchBot from Anthropic, Claude-User from Anthropic. Deciding about Diffbot Fetcher is usually a decision about the whole group, so check how your file treats these too.
We first recorded Diffbot-User on September 22, 2026. Diffbot documents it on docs.diffbot.com, and we recheck that page before each release.
Which rule Diffbot Fetcher actually follows
Diffbot Fetcher reads exactly one group in robots.txt, the most specific one that names Diffbot-User, and never combines rules across groups. This short file shows the trap:
User-agent: *
Disallow: /private/
User-agent: Diffbot-User
Disallow: /drafts/
- Find the group. Diffbot Fetcher looks for a group naming
Diffbot-User. One exists, so it ignoresUser-agent: *completely. - Apply only that group. It is refused
/drafts/and nothing else. - The surprise.
/private/is open to Diffbot Fetcher, because that rule lives in the*group it no longer reads. To keep it out of both, repeatDisallow: /private/inside its own group.
Test yourself: does a rule under User-agent: * apply to Diffbot Fetcher if the file also has a User-agent: Diffbot-User group?
No. Once a group names it, Diffbot Fetcher reads only that group. Put every rule you want it to follow inside its own group.
Test yourself: will blocking Diffbot Fetcher remove your pages from AI answers?
Often, yes. Diffbot Fetcher is a user-triggered agent, so pages it cannot fetch can drop out of the answers or results it supports.
Test yourself: is User-agent: diffbot-user the same as User-agent: Diffbot-User?
Yes. RFC 9309 makes user-agent matching case-insensitive. Paths are a different story: Disallow: /Blog/ does not block /blog/.
Should you allow Diffbot Fetcher? Decide by situation
| If you are... | Recommended setting |
|---|---|
| You publish content and want AI answers to cite it | Allow it. Diffbot Fetcher fetches pages for answers, so blocking it can remove you from them. |
| You license content and want to stop AI training | Blocking it does not stop training, because Diffbot Fetcher is a user-triggered agent. Block the operator's training crawler instead. |
| You run an online shop | Allow it on product and category pages, which are the pages shoppers ask assistants about. |
| Your server is under load from bots | Rate-limit before blocking. It is rated safe in our database. |
Check Diffbot Fetcher on your own site
- Open
/robots.txton your domain and search forDiffbot-User. If it is not named, it followsUser-agent: *. - List the
Disallowlines in the group Diffbot Fetcher follows and test your key URLs against them; the longest match wins, andAllowwins a tie. - Look beyond the file. A firewall or bot manager can refuse Diffbot Fetcher even when robots.txt allows it, and that never shows in the file.
- Run our website crawlability test to see how Diffbot Fetcher and every other crawler we track are treated in one pass, including firewall refusals.
Common mistakes with Diffbot Fetcher
The errors we see most often with Diffbot Fetcher in the files and firewalls we test:
- Assuming a robots.txt rule will stop Diffbot Fetcher. User-triggered fetches act for a person, and some operators say robots.txt may not apply to them. Check the operator's statement above.
- Blocking Diffbot Fetcher as if it were a bulk crawler. It fetches one page because a person asked; blocking it means that person's assistant cannot read your page.
- Counting Diffbot Fetcher visits as crawl volume. Each request maps to a real user question, which makes the paths it requests a useful signal of what people ask about you.
All three hide inside a file that looks correct, so check Diffbot Fetcher from outside after every change.
Spotting Diffbot Fetcher in your logs
robots.txt says what Diffbot Fetcher may do; your access logs show what it actually did.
Count requests
On a server with standard Nginx or Apache logs, this counts matching requests per day (adjust the log path for your host):
grep -iE "Diffbot-User" /var/log/nginx/access.log \
| awk '{print $4}' | cut -d: -f1 | sort | uniq -c
And this shows which paths it requested most, which is the quickest way to see whether your Disallow lines are being respected:
grep -iE "Diffbot-User" /var/log/nginx/access.log \
| awk '{print $7}' | sort | uniq -c | sort -rn | head -20
Check the requests are genuine
Anyone can send the Diffbot Fetcher user-agent, so confirm the source before acting on a match:
Diffbot-User: we hold no published IP list, so use reverse DNS where the operator documents a hostname and treat an unverifiable Diffbot Fetcher request with caution.
Frequently Asked Questions
What is the official user-agent string for Diffbot Fetcher?
Diffbot-User. Use this exact string in robots.txt, Nginx, Apache, or Cloudflare firewall rules to target this bot. Matching in robots.txt is case-insensitive. Verify a request genuinely comes from Diffbot Fetcher by performing a reverse-DNS lookup on the source IP.Is Diffbot Fetcher safe?
Will blocking Diffbot Fetcher hurt my SEO?
User-agent / Disallow: / without any SEO penalty.How do I block Diffbot Fetcher in robots.txt?
/robots.txt file:User-agent: Diffbot-User Disallow: /
This instructs Diffbot Fetcher not to crawl any path on your site. To block only specific sections, replace / with the path (e.g.,
Disallow: /blog/).Does Diffbot Fetcher respect robots.txt?
/robots.txt before crawling, following RFC 9309. For hard enforcement, combine robots.txt with server-level IP or user-agent blocking.How do I verify if Diffbot Fetcher is crawling my site?
Diffbot-User (case-insensitive: grep -i "Diffbot-User" /var/log/nginx/access.log). Filter by user-agent in your log analytics tool (GoAccess, AWStats, etc.).