Diffbot
Operated by Diffbot
Quick Facts
- User-Agent:
- Diffbot
- Category:
- Data Scrapers
- 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 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?
Diffbot uses computer vision and NLP to extract structured data from web pages.
Diffbot uses computer vision and NLP to extract structured data from web pages.
Diffbot is a data aggregation crawler. Unlike search bots or AI crawlers, its purpose is typically to collect content for private datasets, price monitoring, or research. Blocking Diffbot via robots.txt or at the server level has NO negative SEO impact. If you see excessive crawl volume from this bot in your logs, a hard block is recommended.
What happens if you block Diffbot?
How to block Diffbot with robots.txt
<code>User-agent: Diffbot</code> - Matching is case-insensitive. Robots.txt is fetched from the root of each subdomain separately.
Is Diffbot safe to allow?
Diffbot is verifiable via reverse-DNS lookup on the crawling IP addresses. You can safely allow it unless you have a specific reason to block (e.g., AI training opt-out or SEO tool visibility).What does Diffbot do?
Understanding Diffbot's purpose helps you decide whether to allow or block it.
- Extracts content, prices, or data from websites
- May be used for competitive intelligence
- Often operates without explicit permission
- Can increase server load and bandwidth usage
- May violate terms of service or copyright
Diffbot in context
Diffbot is a training crawler operated by Diffbot. In plain terms, it harvests pages for a dataset or data product. Our database files it under data scrapers and ranks it Tier 6, the lowest priority: scrapers and tools that offer most sites little or nothing. 37 of the 39 data scrapers in our database share this tier.
Its safety rating is safe and its blocking impact is low. So the decision about Diffbot rests on what you want from Diffbot, not on its behaviour. How we rate safety and impact.
How site owners treat Diffbot
Our robots.txt study of the Tranco top 10,000 did not track Diffbot 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's robots.txt behaviour is documented with exceptions or has been publicly questioned, so pair a Diffbot rule in robots.txt with a server-side rule if blocking matters to you.
Diffbot crawlers and close alternatives
Diffbot is one of 2 Diffbot crawlers in our database. A User-agent: Diffbot group controls Diffbot only; the other Diffbot tokens below need their own lines.
Diffbot: this crawler (Tier 6)Diffbot-User: Diffbot Fetcher, fetches a page when a person asks an assistant or app to open it (Tier 3)
To give Diffbot the same answer as its siblings, stack User-agent: Diffbot with their lines above one set of rules; to treat Diffbot differently, give it its own group.
Other data scrapers that do the same job (harvests pages for a dataset or data product) include Amazon Kendra from Amazon, ApifyBot from Apify, Barkrowler from Babbar, BLEXBot from WebMeUp, coccocbot-web from Unknown, Crawl4AI from Unknown. Deciding about Diffbot is usually a decision about the whole group, so check how your file treats these too.
We first recorded Diffbot on March 17, 2026. Diffbot documents it on docs.diffbot.com, and we recheck that page before each release.
Which rule Diffbot actually follows
Diffbot reads exactly one group in robots.txt, the most specific one that names Diffbot, and never combines rules across groups. This short file shows the trap:
User-agent: *
Disallow: /private/
User-agent: Diffbot
Disallow: /drafts/
- Find the group. Diffbot looks for a group naming
Diffbot. 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, 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 if the file also has a User-agent: Diffbot group?
No. Once a group names it, Diffbot reads only that group. Put every rule you want it to follow inside its own group.
Test yourself: will blocking Diffbot remove your pages from AI answers?
No. Diffbot collects training data. Blocking it changes what future models learn, not which pages AI answers cite today.
Test yourself: is User-agent: diffbot the same as User-agent: Diffbot?
Yes. RFC 9309 makes user-agent matching case-insensitive. Paths are a different story: Disallow: /Blog/ does not block /blog/.
Should you allow Diffbot? Decide by situation
| If you are... | Recommended setting |
|---|---|
| You publish content and want AI answers to cite it | Your call. Diffbot is a training crawler, so blocking it does not remove you from AI answers; retrieval crawlers do that job. |
| You license content and want to stop AI training | Block it by name with User-agent: Diffbot and Disallow: /. |
| You run an online shop | Consider blocking it, especially on price and stock pages that competitors scrape. |
| Your server is under load from bots | Rate-limit before blocking. It is rated safe in our database. |
Check Diffbot on your own site
- Open
/robots.txton your domain and search forDiffbot. If it is not named, it followsUser-agent: *. - List the
Disallowlines in the group Diffbot 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 even when robots.txt allows it, and that never shows in the file.
- Run our AI visibility checker to see how Diffbot and every other crawler we track are treated in one pass, including firewall refusals.
Common mistakes with Diffbot
The errors we see most often with Diffbot in the files and firewalls we test:
- Assuming that blocking Diffbot removes you from AI answers. It is a training crawler; AI answers are fed by retrieval and user-triggered crawlers with different tokens.
- Blocking Diffbot with a broad
User-agent: *rule that also catches search engines. NameDiffbotin its own group instead. - Expecting a Diffbot block to remove content already collected. robots.txt only affects future visits.
All three hide inside a file that looks correct, so check Diffbot from outside after every change.
Spotting Diffbot in your logs
robots.txt says what Diffbot 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" /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" /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 user-agent, so confirm the source before acting on a match:
Diffbot: we hold no published IP list, so use reverse DNS where the operator documents a hostname and treat an unverifiable Diffbot request with caution.
Frequently Asked Questions
What is the official user-agent string for Diffbot?
Diffbot. This is the exact string you must use in robots.txt, Nginx, Apache, or Cloudflare firewall rules to target this bot. User-agent matching in robots.txt is case-insensitive, but the string must be spelled correctly. You can verify that a request genuinely comes from Diffbot by performing a reverse-DNS lookup on the source IP - legitimate bots resolve back to their operator's domain.Is Diffbot safe?
Diffbot is verifiable via reverse-DNS lookup on the crawling IP addresses. You can safely allow it unless you have a specific reason to block (e.g., AI training opt-out or SEO tool visibility).Will blocking Diffbot hurt my SEO?
How do I block Diffbot in robots.txt?
/robots.txt file:User-agent: Diffbot Disallow: /
This instructs Diffbot not to crawl any path on your site. The Disallow: / directive covers the entire domain including subfolders. To only block specific sections, replace / with the path (e.g.,
Disallow: /blog/). Note: robots.txt is publicly readable - any bot or human can inspect it at yourdomain.com/robots.txt.Does Diffbot respect robots.txt?
How do I verify if Diffbot is crawling my site?
Diffbot (case-insensitive grep: grep -i "Diffbot" /var/log/nginx/access.log). You can also check Google Search Console → Coverage → Crawl Stats for Googlebot variants. For Diffbot specifically, filter by user-agent in your log analysis tool (GoAccess, AWStats, etc.).What is the crawl frequency of Diffbot?
User-agent: Diffbot Crawl-delay: 10(10 second delay between requests).
Can I block Diffbot from specific pages only?
Disallow: / you can restrict Diffbot to specific paths:User-agent: Diffbot Disallow: /private/ Disallow: /staging/ Allow: /
This allows Diffbot everywhere except the listed paths. Path matching in robots.txt uses prefix matching -
Disallow: /private/ blocks /private/page.html but NOT /public/private/.Is Diffbot causing high server load?
1. Add
Crawl-delay: 30 below the User-agent directive in robots.txt.2. Rate-limit the user-agent via Nginx's
limit_req_zone or Apache's mod_ratelimit.3. Block it outright at Cloudflare WAF with rule:
http.user_agent contains "Diffbot".4. Use fail2ban to auto-block IPs exceeding request thresholds.