diff --git a/.editorconfig b/.editorconfig
deleted file mode 100644
index ef3e1a7..0000000
--- a/.editorconfig
+++ /dev/null
@@ -1,9 +0,0 @@
-root = true
-
-[*]
-end_of_line = lf
-insert_final_newline = true
-trim_trailing_whitespace = true
-
-[{Caddyfile,haproxy-block-ai-bots.txt,nginx-block-ai-bots.conf}]
-insert_final_newline = false
diff --git a/.github/workflows/ai_robots_update.yml b/.github/workflows/ai_robots_update.yml
index 52d1f04..654b0b5 100644
--- a/.github/workflows/ai_robots_update.yml
+++ b/.github/workflows/ai_robots_update.yml
@@ -2,32 +2,29 @@ name: Updates for AI robots files
on:
schedule:
- cron: "0 0 * * *"
- workflow_dispatch:
jobs:
- known-agents:
+ dark-visitors:
runs-on: ubuntu-latest
- name: known-agents
+ name: dark-visitors
steps:
- uses: actions/checkout@v4
with:
- fetch-depth: 0
+ fetch-depth: 2
- run: |
pip install beautifulsoup4 requests
- git config --global user.name "Known Agents"
- git config --global user.email "knownagents@users.noreply.github.com"
- echo "Updating robots.json with data from knownagents.com ..."
- python code/robots.py --update
- echo "Updating generated files from robots.json ..."
- python code/robots.py --convert
+ git config --global user.name "dark-visitors"
+ git config --global user.email "dark-visitors@users.noreply.github.com"
+ echo "Updating robots.json with data from darkvisitor.com ..."
+ python code/dark_visitors.py --update
echo "... done."
git --no-pager diff
git add -A
- if ! git diff --cached --quiet; then
- git commit -m "Update from knownagents.com"
- git rebase origin/main
- git push
- else
- echo "No changes to commit."
- fi
+ git diff --quiet && git diff --staged --quiet || (git commit -m "Update from Dark Visitors" && git push)
shell: bash
+ call-main:
+ needs: dark-visitors
+ uses: ./.github/workflows/main.yml
+ secrets: inherit
+ with:
+ message: "Update from Dark Visitors"
diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
index 36e7a1c..cb5fefc 100644
--- a/.github/workflows/main.yml
+++ b/.github/workflows/main.yml
@@ -8,8 +8,6 @@ on:
push:
paths:
- 'robots.json'
- - '.github/workflows/**'
- - 'code/**'
branches:
- "main"
@@ -28,17 +26,10 @@ jobs:
git log -1
git status
echo "Updating robots.txt and table-of-bot-metrics.md if necessary ..."
- python code/robots.py --convert
+ python code/dark_visitors.py --convert
echo "... done."
git --no-pager diff
git add -A
- if [ -z "$(git diff --staged)" ]; then
- # To have the action run successfully, if no changes are staged, we
- # manually skip the later commits because they fail with exit code 1
- # and this would then display as a failure for the Action.
- echo "No staged changes to commit. Skipping commit and push."
- exit 0
- fi
if [ -n "${{ inputs.message }}" ]; then
git commit -m "${{ inputs.message }}"
else
diff --git a/.github/workflows/run-tests.yml b/.github/workflows/run-tests.yml
deleted file mode 100644
index 042cc13..0000000
--- a/.github/workflows/run-tests.yml
+++ /dev/null
@@ -1,28 +0,0 @@
-on:
- pull_request:
- branches:
- - main
- push:
- branches:
- - main
-jobs:
- run-tests:
- runs-on: ubuntu-latest
- steps:
- - name: Check out repository
- uses: actions/checkout@v4
- with:
- fetch-depth: 2
- - name: Install dependencies
- run: |
- pip install -U requests beautifulsoup4
- - name: Run tests
- run: |
- code/tests.py
- lint-json:
- runs-on: ubuntu-latest
- steps:
- - name: Check out repository
- uses: actions/checkout@v4
- - name: JQ Json Lint
- run: jq . robots.json
diff --git a/.htaccess b/.htaccess
deleted file mode 100644
index 2704cc3..0000000
--- a/.htaccess
+++ /dev/null
@@ -1,3 +0,0 @@
-RewriteEngine On
-RewriteCond %{HTTP_USER_AGENT} (AddSearchBot|AgentTimes|AI2Bot|AI2Bot\-DeepResearchEval|Ai2Bot\-Dolma|aiHitBot|AIWebIndex|amazon\-kendra|amazon\-QBusiness|Amazonbot|AmazonBuyForMe|Amzn\-SearchBot|Amzn\-User|Andibot|Anomura|anthropic\-ai|ApifyBot|ApifyWebsiteContentCrawler|Applebot|Applebot\-Extended|Aranet\-SearchBot|atlassian\-bot|Awario|AzureAI\-SearchBot|bedrockbot|bigsur\.ai|Bravebot|Brightbot|Brightbot\ 1\.0|BuddyBot|Bytespider|CCBot|Channel3Bot|ChatGLM\-Spider|ChatGPT\ Agent|ChatGPT\-User|Claude\-Code|Claude\-SearchBot|Claude\-User|Claude\-Web|ClaudeBot|Cloudflare\-AutoRAG|CloudVertexBot|Code|cohere\-ai|cohere\-training\-data\-crawler|Cotoyogi|CragCrawler|Crawl4AI|Crawlspace|Cursor|Datenbank\ Crawler|DeepSeekBot|Devin|Diffbot|DuckAssistBot|Echobot\ Bot|EchoboxBot|ExaBot|FacebookBot|facebookexternalhit|Factset_spyderbot|FirecrawlAgent|FriendlyCrawler|GeistHaus\-PageFetcher|Gemini\-Deep\-Research|Google\-Agent|Google\-CloudVertexBot|Google\-Extended|Google\-Firebase|Google\-Gemini\-CLI|Google\-NotebookLM|GoogleAgent\-Mariner|GoogleAgent\-URLContext|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|HenkBot|iAskBot|iaskspider|iaskspider/2\.0|IbouBot|ICC\-Crawler|ImagesiftBot|imageSpider|img2dataset|ISSCyberRiskCrawler|kagi\-fetcher|Kangaroo\ Bot|Kimi\-User|KlaviyoAIBot|KunatoCrawler|laion\-huggingface\-processor|LAIONDownloader|LCC|LinerBot|Linguee\ Bot|LinkupBot|Manus\-User|meta\-externalagent|Meta\-ExternalAgent|meta\-externalfetcher|Meta\-ExternalFetcher|meta\-webindexer|MistralAI\-User|MistralAI\-User/1\.0|Mozilla\-Tabstack|MyCentralAIScraperBot|NagetBot|netEstate\ Imprint\ Crawler|newsai|NotebookLM|NovaAct|OAI\-SearchBot|omgili|omgilibot|OpenAI|opencode|Operator|PanguBot|Panscient|panscient\.com|Perplexity\-User|PerplexityBot|PetalBot|PhindBot|Poggio\-Citations|Poseidon\ Research\ Crawler|QualifiedBot|Querit\-SearchBot|QueritBot|QuillBot|quillbot\.com|SBIntuitionsBot|Scrapy|SemrushBot\-OCOB|SemrushBot\-SWA|Shap\-User|ShapBot|Sidetrade\ indexer\ bot|Spider|TavilyBot|Terra\ Cotta|TerraCotta|Thinkbot|TikTokSpider|Timpibot|TongyiBot|Trae|TwinAgent|UseAI|VelenPublicWebCrawler|WARDBot|Webzio\-Extended|webzio\-extended|wpbot|WRTNBot|YaK|YandexAdditional|YandexAdditionalBot|YiyanBot|YouBot|ZanistaBot) [NC]
-RewriteRule !^/?robots\.txt$ - [F]
diff --git a/Caddyfile b/Caddyfile
deleted file mode 100644
index 235df36..0000000
--- a/Caddyfile
+++ /dev/null
@@ -1,3 +0,0 @@
-@aibots {
- header_regexp User-Agent "(AddSearchBot|AgentTimes|AI2Bot|AI2Bot\-DeepResearchEval|Ai2Bot\-Dolma|aiHitBot|AIWebIndex|amazon\-kendra|amazon\-QBusiness|Amazonbot|AmazonBuyForMe|Amzn\-SearchBot|Amzn\-User|Andibot|Anomura|anthropic\-ai|ApifyBot|ApifyWebsiteContentCrawler|Applebot|Applebot\-Extended|Aranet\-SearchBot|atlassian\-bot|Awario|AzureAI\-SearchBot|bedrockbot|bigsur\.ai|Bravebot|Brightbot|Brightbot\ 1\.0|BuddyBot|Bytespider|CCBot|Channel3Bot|ChatGLM\-Spider|ChatGPT\ Agent|ChatGPT\-User|Claude\-Code|Claude\-SearchBot|Claude\-User|Claude\-Web|ClaudeBot|Cloudflare\-AutoRAG|CloudVertexBot|Code|cohere\-ai|cohere\-training\-data\-crawler|Cotoyogi|CragCrawler|Crawl4AI|Crawlspace|Cursor|Datenbank\ Crawler|DeepSeekBot|Devin|Diffbot|DuckAssistBot|Echobot\ Bot|EchoboxBot|ExaBot|FacebookBot|facebookexternalhit|Factset_spyderbot|FirecrawlAgent|FriendlyCrawler|GeistHaus\-PageFetcher|Gemini\-Deep\-Research|Google\-Agent|Google\-CloudVertexBot|Google\-Extended|Google\-Firebase|Google\-Gemini\-CLI|Google\-NotebookLM|GoogleAgent\-Mariner|GoogleAgent\-URLContext|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|HenkBot|iAskBot|iaskspider|iaskspider/2\.0|IbouBot|ICC\-Crawler|ImagesiftBot|imageSpider|img2dataset|ISSCyberRiskCrawler|kagi\-fetcher|Kangaroo\ Bot|Kimi\-User|KlaviyoAIBot|KunatoCrawler|laion\-huggingface\-processor|LAIONDownloader|LCC|LinerBot|Linguee\ Bot|LinkupBot|Manus\-User|meta\-externalagent|Meta\-ExternalAgent|meta\-externalfetcher|Meta\-ExternalFetcher|meta\-webindexer|MistralAI\-User|MistralAI\-User/1\.0|Mozilla\-Tabstack|MyCentralAIScraperBot|NagetBot|netEstate\ Imprint\ Crawler|newsai|NotebookLM|NovaAct|OAI\-SearchBot|omgili|omgilibot|OpenAI|opencode|Operator|PanguBot|Panscient|panscient\.com|Perplexity\-User|PerplexityBot|PetalBot|PhindBot|Poggio\-Citations|Poseidon\ Research\ Crawler|QualifiedBot|Querit\-SearchBot|QueritBot|QuillBot|quillbot\.com|SBIntuitionsBot|Scrapy|SemrushBot\-OCOB|SemrushBot\-SWA|Shap\-User|ShapBot|Sidetrade\ indexer\ bot|Spider|TavilyBot|Terra\ Cotta|TerraCotta|Thinkbot|TikTokSpider|Timpibot|TongyiBot|Trae|TwinAgent|UseAI|VelenPublicWebCrawler|WARDBot|Webzio\-Extended|webzio\-extended|wpbot|WRTNBot|YaK|YandexAdditional|YandexAdditionalBot|YiyanBot|YouBot|ZanistaBot)"
-}
\ No newline at end of file
diff --git a/FAQ.md b/FAQ.md
index 7264819..967cf41 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -55,11 +55,3 @@ That depends on your stack.
## How can I contribute?
Open a pull request. It will be reviewed and acted upon appropriately. **We really appreciate contributions** — this is a community effort.
-
-## I'd like to donate money
-
-That's kind of you, but we don't need your money. If you insist, we'd love you to make a donation to the [American Civil Liberties Union](https://www.aclu.org/), the [Disasters Emergency Committee](https://www.dec.org.uk/), or a similar organisation.
-
-## Can my company sponsor ai.robots.txt?
-
-No, thank you. We do not accept sponsorship of any kind. We prefer to maintain our independence. Our costs are negligible as we are entirely volunteer-based and community-driven.
diff --git a/README.md b/README.md
index 9af0d86..b3c2e7c 100644
--- a/README.md
+++ b/README.md
@@ -2,77 +2,15 @@
-This list contains AI-related crawlers of all types, regardless of purpose. We encourage you to contribute to and implement this list on your own site. See [information about the listed crawlers](./table-of-bot-metrics.md) and the [FAQ](https://github.com/ai-robots-txt/ai.robots.txt/blob/main/FAQ.md).
+This is an open list of web crawlers associated with AI companies and the training of LLMs to block. We encourage you to contribute to and implement this list on your own site. See [information about the listed crawlers](./table-of-bot-metrics.md) and the [FAQ](https://github.com/ai-robots-txt/ai.robots.txt/blob/main/FAQ.md).
-A number of these crawlers have been sourced from [Known Agents](https://knownagents.com) and we appreciate the ongoing effort they put in to track these crawlers.
+A number of these crawlers have been sourced from [Dark Visitors](https://darkvisitors.com) and we appreciate the ongoing effort they put in to track these crawlers.
If you'd like to add information about a crawler to the list, please make a pull request with the bot name added to `robots.txt`, `ai.txt`, and any relevant details in `table-of-bot-metrics.md` to help people understand what's crawling.
-## Usage
-
-This repository provides the following files:
-- `robots.txt`
-- `.htaccess`
-- `nginx-block-ai-bots.conf`
-- `Caddyfile`
-- `haproxy-block-ai-bots.txt`
-- `lighttpd-block-ai-bots.conf`
-
-`robots.txt` implements the Robots Exclusion Protocol ([RFC 9309](https://www.rfc-editor.org/rfc/rfc9309.html)).
-
-`.htaccess` may be used to configure web servers such as [Apache httpd](https://httpd.apache.org/) to return an error page when one of the listed AI crawlers sends a request to the web server.
-Note that, as stated in the [httpd documentation](https://httpd.apache.org/docs/current/howto/htaccess.html), more performant methods than an `.htaccess` file exist.
-
-`nginx-block-ai-bots.conf` implements a Nginx configuration snippet that can be included in any virtual host `server {}` block via the `include` directive.
-
-`Caddyfile` includes a Header Regex matcher group you can copy or import into your Caddyfile, the rejection can then be handled as followed `abort @aibots`
-
-`haproxy-block-ai-bots.txt` may be used to configure HAProxy to block AI bots. To implement it;
-1. Add the file to the config directory of HAProxy
-2. Add the following lines in the `frontend` section;
- ```
- acl ai_robot hdr_sub(user-agent) -i -f /etc/haproxy/haproxy-block-ai-bots.txt
- http-request deny if ai_robot
- ```
- (Note that the path of the `haproxy-block-ai-bots.txt` may be different in your environment.)
-
-`lighttpd-block-ai-bots.conf` can be included with `include "fragments/lighttpd-block-ai-bots.conf"` in your lighttpd configuration either globally or in any conditional section.
-
-[Bing uses the data it crawls for AI and training, you may opt out by adding a `meta` tag to the `head` of your site.](./docs/additional-steps/bing.md)
-
-### Related
-
-- [Robots.txt Traefik plugin](https://plugins.traefik.io/plugins/681b2f3fba3486128fc34fae/robots-txt-plugin):
-middleware plugin for [Traefik](https://traefik.io/traefik/) to automatically add rules of [robots.txt](./robots.txt)
-file on-the-fly.
-
-- Alternatively you can [manually configure Traefik](./docs/traefik-manual-setup.md) to centrally serve a static `robots.txt`.
## Contributing
-A note about contributing: updates should be added/made to `robots.json`. A GitHub action will then generate the updated `robots.txt`, `table-of-bot-metrics.md`, `.htaccess` and `nginx-block-ai-bots.conf`.
-
-You can run the tests by [installing](https://www.python.org/about/gettingstarted/) Python 3, installing the dependencies:
-```console
-pip install -r requirements.txt
-```
-and then issuing:
-```console
-code/tests.py
-```
-
-The `.editorconfig` file provides standard editor options for this project. See [EditorConfig](https://editorconfig.org/) for more information.
-
-## Releasing
-
-Admins may ship a new release `v1.n` (where `n` increments the minor version of the current release) as follows:
-
-* Navigate to the [new release page](https://github.com/ai-robots-txt/ai.robots.txt/releases/new) on GitHub.
-* Click `Select tag`, choose `Create new tag`, enter `v1.n` in the pop-up, and click `Create`.
-* Enter a suitable release title (e.g. `v1.n: adds user-agent1, user-agent2`).
-* Click `Generate release notes`.
-* Click `Publish release`.
-
-A GitHub action will then add the asset `robots.txt` to the release. That's it.
+A note about contributing: updates should be added/made to `robots.json`. A GitHub action, courtesy of [Adam](https://github.com/newbold), will then generate the updated `robots.txt` and `table-of-bot-metrics.md`.
## Subscribe to updates
@@ -86,17 +24,10 @@ You can subscribe with [Feedly](https://feedly.com/i/subscription/feed/https://g
Alternatively, you can also subscribe to new releases with your GitHub account by clicking the ⬇️ on "Watch" button at the top of this page, clicking "Custom" and selecting "Releases".
-## License content with RSL
-
-It is also possible to license your content to AI companies in `robots.txt` using
-the [Really Simple Licensing](https://rslstandard.org) standard, with an option of
-collective bargaining. A [plugin](https://github.com/Jameswlepage/rsl-wp) currently
-implements RSL as well as payment processing for WordPress sites.
-
## Report abusive crawlers
If you use [Cloudflare's hard block](https://blog.cloudflare.com/declaring-your-aindependence-block-ai-bots-scrapers-and-crawlers-with-a-single-click) alongside this list, you can report abusive crawlers that don't respect `robots.txt` [here](https://docs.google.com/forms/d/e/1FAIpQLScbUZ2vlNSdcsb8LyTeSF7uLzQI96s0BKGoJ6wQ6ocUFNOKEg/viewform).
-But even if you don't use Cloudflare's hard block, their list of [verified bots](https://radar.cloudflare.com/traffic/verified-bots) may come in handy.
+
## Additional resources
- [Blocking Bots with Nginx](https://rknight.me/blog/blocking-bots-with-nginx/) by Robb Knight
diff --git a/code/dark_visitors.py b/code/dark_visitors.py
new file mode 100644
index 0000000..cf44e8e
--- /dev/null
+++ b/code/dark_visitors.py
@@ -0,0 +1,183 @@
+import json
+from pathlib import Path
+
+import requests
+from bs4 import BeautifulSoup
+
+
+def load_robots_json():
+ """Load the robots.json contents into a dictionary."""
+ return json.loads(Path("./robots.json").read_text(encoding="utf-8"))
+
+
+def get_agent_soup():
+ """Retrieve current known agents from darkvisitors.com"""
+ session = requests.Session()
+ try:
+ response = session.get("https://darkvisitors.com/agents")
+ except requests.exceptions.ConnectionError:
+ print(
+ "ERROR: Could not gather the current agents from https://darkvisitors.com/agents"
+ )
+ return
+ return BeautifulSoup(response.text, "html.parser")
+
+
+def updated_robots_json(soup):
+ """Update AI scraper information with data from darkvisitors."""
+ existing_content = load_robots_json()
+ to_include = [
+ "AI Assistants",
+ "AI Data Scrapers",
+ "AI Search Crawlers",
+ # "Archivers",
+ # "Developer Helpers",
+ # "Fetchers",
+ # "Intelligence Gatherers",
+ # "Scrapers",
+ # "Search Engine Crawlers",
+ # "SEO Crawlers",
+ # "Uncategorized",
+ "Undocumented AI Agents",
+ ]
+
+ for section in soup.find_all("div", {"class": "agent-links-section"}):
+ category = section.find("h2").get_text()
+ if category not in to_include:
+ continue
+ for agent in section.find_all("a", href=True):
+ name = agent.find("div", {"class": "agent-name"}).get_text().strip()
+ desc = agent.find("p").get_text().strip()
+
+ default_values = {
+ "Unclear at this time.",
+ "No information provided.",
+ "No information.",
+ "No explicit frequency provided.",
+ }
+ default_value = "Unclear at this time."
+
+ # Parse the operator information from the description if possible
+ operator = default_value
+ if "operated by " in desc:
+ try:
+ operator = desc.split("operated by ", 1)[1].split(".", 1)[0].strip()
+ except Exception as e:
+ print(f"Error: {e}")
+
+ def consolidate(field: str, value: str) -> str:
+ # New entry
+ if name not in existing_content:
+ return value
+ # New field
+ if field not in existing_content[name]:
+ return value
+ # Unclear value
+ if (
+ existing_content[name][field] in default_values
+ and value not in default_values
+ ):
+ return value
+ # Existing value
+ return existing_content[name][field]
+
+ existing_content[name] = {
+ "operator": consolidate("operator", operator),
+ "respect": consolidate("respect", default_value),
+ "function": consolidate("function", f"{category}"),
+ "frequency": consolidate("frequency", default_value),
+ "description": consolidate(
+ "description",
+ f"{desc} More info can be found at https://darkvisitors.com/agents{agent['href']}",
+ ),
+ }
+
+ print(f"Total: {len(existing_content)}")
+ sorted_keys = sorted(existing_content, key=lambda k: k.lower())
+ sorted_robots = {k: existing_content[k] for k in sorted_keys}
+ return sorted_robots
+
+
+def ingest_darkvisitors():
+
+ old_robots_json = load_robots_json()
+ soup = get_agent_soup()
+ if soup:
+ robots_json = updated_robots_json(soup)
+ print(
+ "robots.json is unchanged."
+ if robots_json == old_robots_json
+ else "robots.json got updates."
+ )
+ Path("./robots.json").write_text(
+ json.dumps(robots_json, indent=4), encoding="utf-8"
+ )
+
+
+def json_to_txt(robots_json):
+ """Compose the robots.txt from the robots.json file."""
+ robots_txt = "\n".join(f"User-agent: {k}" for k in robots_json.keys())
+ robots_txt += "\nDisallow: /\n"
+ return robots_txt
+
+
+def json_to_table(robots_json):
+ """Compose a markdown table with the information in robots.json"""
+ table = "| Name | Operator | Respects `robots.txt` | Data use | Visit regularity | Description |\n"
+ table += "|-----|----------|-----------------------|----------|------------------|-------------|\n"
+
+ for name, robot in robots_json.items():
+ table += f'| {name} | {robot["operator"]} | {robot["respect"]} | {robot["function"]} | {robot["frequency"]} | {robot["description"]} |\n'
+
+ return table
+
+
+def update_file_if_changed(file_name, converter):
+ """Update files if newer content is available and log the (in)actions."""
+ new_content = converter(load_robots_json())
+ old_content = Path(file_name).read_text(encoding="utf-8")
+ if old_content == new_content:
+ print(f"{file_name} is already up to date.")
+ else:
+ Path(file_name).write_text(new_content, encoding="utf-8")
+ print(f"{file_name} has been updated.")
+
+
+def conversions():
+ """Triggers the conversions from the json file."""
+ update_file_if_changed(file_name="./robots.txt", converter=json_to_txt)
+ update_file_if_changed(
+ file_name="./table-of-bot-metrics.md",
+ converter=json_to_table,
+ )
+
+
+if __name__ == "__main__":
+ import argparse
+
+ parser = argparse.ArgumentParser()
+ parser = argparse.ArgumentParser(
+ prog="ai-robots",
+ description="Collects and updates information about web scrapers of AI companies.",
+ epilog="One of the flags must be set.\n",
+ )
+ parser.add_argument(
+ "--update",
+ action="store_true",
+ help="Update the robots.json file with data from darkvisitors.com/agents",
+ )
+ parser.add_argument(
+ "--convert",
+ action="store_true",
+ help="Create the robots.txt and markdown table from robots.json",
+ )
+ args = parser.parse_args()
+
+ if not (args.update or args.convert):
+ print("ERROR: please provide one of the possible flags.")
+ parser.print_help()
+
+ if args.update:
+ ingest_darkvisitors()
+ if args.convert:
+ conversions()
diff --git a/code/robots.py b/code/robots.py
deleted file mode 100755
index 3f8fdc1..0000000
--- a/code/robots.py
+++ /dev/null
@@ -1,284 +0,0 @@
-#!/usr/bin/env python3
-
-import json
-import re
-import requests
-
-from bs4 import BeautifulSoup
-from pathlib import Path
-
-to_include = [
- "AI Agents",
- "AI Assistants",
- "AI Coding Agents",
- "AI Data Providers",
- "AI Data Scrapers",
- "AI Search Crawlers",
- # "Archivers",
- # "Automated Agents",
- # "Developer Helpers",
- # "Fetchers",
- # "Intelligence Gatherers",
- # "Scrapers",
- # "Search Engine Crawlers",
- # "Security Scanners",
- # "SEO Crawlers",
- # "Uncategorized",
- "Undocumented AI Agents",
-]
-default_values = {
- "Unclear at this time.",
- "No information provided.",
- "No information.",
- "No explicit frequency provided.",
-}
-default_value = "Unclear at this time."
-
-def consolidate(existing_content, name: str, field: str, value: str) -> str:
- # New entry
- if name not in existing_content:
- return value
- # New field
- if field not in existing_content[name]:
- return value
-
- # Unclear value
- if ( value not in default_values ):
- return value
-
- # Existing value
- return existing_content[name][field]
-
-def load_robots_json():
- """Load the robots.json contents into a dictionary."""
- return json.loads(Path("./robots.json").read_text(encoding="utf-8"))
-
-def get_agent_soup():
- """Retrieve current agent data from knownagents.com."""
- session = requests.Session()
- try:
- response = session.get("https://knownagents.com/agents")
- except requests.exceptions.ConnectionError:
- print(
- "ERROR: Could not gather the current agents from https://knownagents.com/agents"
- )
- return
- return BeautifulSoup(response.text, "html.parser")
-
-
-def updated_robots_json(soup):
- """Update AI scraper information with data from knownagents.com."""
- existing_content = load_robots_json()
-
- for section in soup.find_all("div", {"class": "agent-links-section"}):
- category = section.find("h2").get_text()
- if category not in to_include:
- continue
- for agent in section.find_all("a", href=True):
- name = agent.find("div", {"class": "agent-name"}).get_text().strip()
- name = clean_robot_name(name)
-
- desc_tag = agent.find("div", {"class": "description"})
- if desc_tag is not None:
- desc = desc_tag.get_text().strip()
- else:
- desc = "Description unavailable from knownagents.com"
-
- # Parse the operator information from the description if possible
- operator = default_value
- if "operated by " in desc:
- try:
- operator = desc.split("operated by ", 1)[1].split(".", 1)[0].strip()
- except Exception as e:
- print(f"Error: {e}")
-
- existing_content[name] = {
- "operator": consolidate(existing_content, name, "operator", operator),
- "respect": consolidate(existing_content, name, "respect", default_value),
- "function": consolidate(existing_content, name, "function", f"{category}"),
- "frequency": consolidate(existing_content, name, "frequency", default_value),
- "description": consolidate(
- existing_content, name,
- "description",
- "{desc} More info can be found at https://knownagents.com{path}".format(
- desc = desc,
- path= agent['href'] if agent['href'].startswith('/') else "/".join("", "agents", agent["href"])
- ),
- ),
- }
-
- print(f"Total: {len(existing_content)}")
- sorted_keys = sorted(existing_content, key=lambda k: k.lower())
- sorted_robots = {k: existing_content[k] for k in sorted_keys}
- return sorted_robots
-
-
-def clean_robot_name(name):
- """ Clean the robot name by removing some characters that were mangled by html software once. """
- # This was specifically spotted in "Perplexity-User"
- # Looks like a non-breaking hyphen introduced by the HTML rendering software
- # Reading the source page for Perplexity: https://docs.perplexity.ai/guides/bots
- # You can see the bot is listed several times as "Perplexity-User" with a normal hyphen,
- # and it's only the Row-Heading that has the special hyphen
- #
- # Technically, there's no reason there wouldn't someday be a bot that
- # actually uses a non-breaking hyphen, but that seems unlikely,
- # so this solution should be fine for now.
- result = re.sub(r"\u2011", "-", name)
- if result != name:
- print(f"\tCleaned '{name}' to '{result}' - unicode/html mangled chars normalized.")
- return result
-
-
-def ingest_known_agents():
- old_robots_json = load_robots_json()
- soup = get_agent_soup()
- if soup:
- robots_json = updated_robots_json(soup)
- print(
- "robots.json is unchanged."
- if robots_json == old_robots_json
- else "robots.json got updates."
- )
- Path("./robots.json").write_text(
- json.dumps(robots_json, indent=4), encoding="utf-8"
- )
-
-
-def json_to_txt(robots_json):
- """Compose the robots.txt from the robots.json file."""
- robots_txt = "\n".join(f"User-agent: {k}" for k in robots_json.keys())
- robots_txt += "\nDisallow: /\n"
- return robots_txt
-
-
-def escape_md(s):
- return re.sub(r"([]*\\|`(){}<>#+-.!_[])", r"\\\1", s)
-
-
-def json_to_table(robots_json):
- """Compose a markdown table with the information in robots.json"""
- table = "| Name | Operator | Respects `robots.txt` | Data use | Visit regularity | Description |\n"
- table += "|------|----------|-----------------------|----------|------------------|-------------|\n"
-
- for name, robot in robots_json.items():
- table += f'| {escape_md(name)} | {robot["operator"]} | {robot["respect"]} | {robot["function"]} | {robot["frequency"]} | {robot["description"]} |\n'
-
- return table
-
-
-def list_to_pcre(lst):
- # Python re is not 100% identical to PCRE which is used by Apache, but it
- # should probably be close enough in the real world for re.escape to work.
- formatted = "|".join(map(re.escape, lst))
- return f"({formatted})"
-
-
-def json_to_htaccess(robot_json):
- # Creates a .htaccess filter file. It uses a regular expression to filter out
- # User agents that contain any of the blocked values.
- htaccess = "RewriteEngine On\n"
- htaccess += f"RewriteCond %{{HTTP_USER_AGENT}} {list_to_pcre(robot_json.keys())} [NC]\n"
- htaccess += "RewriteRule !^/?robots\\.txt$ - [F]\n"
- return htaccess
-
-def json_to_nginx(robot_json):
- # Creates an Nginx config file. This config snippet can be included in
- # nginx server{} blocks to block AI bots.
- config = f"set $block 0;\n\nif ($http_user_agent ~* \"{list_to_pcre(robot_json.keys())}\") {{\n set $block 1;\n}}\n\nif ($request_uri = \"/robots.txt\") {{\n set $block 0;\n}}\n\nif ($block) {{\n return 403;\n}}"
- return config
-
-
-def json_to_lighttpd(robot_json):
- # Creates an Lighttpd config file. This config snippet can be included in
- # Lighttpd configuration global or in $HTTP conditionals to block AI bots.
- config = f"$HTTP[\"url\"] != \"/robots.txt\" {{ $HTTP[\"user-agent\"] =~ \"{list_to_pcre(robot_json.keys())}\" {{ url.access-deny = ( \"\" ) }} }}"
- return config
-
-
-def json_to_caddy(robot_json):
- caddyfile = "@aibots {\n "
- caddyfile += f' header_regexp User-Agent "{list_to_pcre(robot_json.keys())}"'
- caddyfile += "\n}"
- return caddyfile
-
-def json_to_haproxy(robots_json):
- # Creates a source file for HAProxy. Follow instructions in the README to implement it.
- txt = "\n".join(f"{k}" for k in robots_json.keys())
- return txt
-
-
-
-def update_file_if_changed(file_name, converter):
- """Update files if newer content is available and log the (in)actions."""
- new_content = converter(load_robots_json())
- filepath = Path(file_name)
- # "touch" will create the file if it doesn't exist yet
- filepath.touch()
- old_content = filepath.read_text(encoding="utf-8")
- if old_content == new_content:
- print(f"{file_name} is already up to date.")
- else:
- Path(file_name).write_text(new_content, encoding="utf-8")
- print(f"{file_name} has been updated.")
-
-
-def conversions():
- """Triggers the conversions from the json file."""
- update_file_if_changed(file_name="./robots.txt", converter=json_to_txt)
- update_file_if_changed(
- file_name="./table-of-bot-metrics.md",
- converter=json_to_table,
- )
- update_file_if_changed(
- file_name="./.htaccess",
- converter=json_to_htaccess,
- )
- update_file_if_changed(
- file_name="./nginx-block-ai-bots.conf",
- converter=json_to_nginx,
- )
- update_file_if_changed(
- file_name="./lighttpd-block-ai-bots.conf",
- converter=json_to_lighttpd,
- )
- update_file_if_changed(
- file_name="./Caddyfile",
- converter=json_to_caddy,
- )
-
- update_file_if_changed(
- file_name="./haproxy-block-ai-bots.txt",
- converter=json_to_haproxy,
- )
-
-
-if __name__ == "__main__":
- import argparse
-
- parser = argparse.ArgumentParser()
- parser = argparse.ArgumentParser(
- prog="ai-robots",
- description="Collects and updates information about web scrapers of AI companies.",
- epilog="One of the flags must be set.\n",
- )
- parser.add_argument(
- "--update",
- action="store_true",
- help="Update the robots.json file with data from knownagents.com/agents",
- )
- parser.add_argument(
- "--convert",
- action="store_true",
- help="Create the robots.txt and markdown table from robots.json",
- )
- args = parser.parse_args()
-
- if not (args.update or args.convert):
- print("ERROR: please provide one of the possible flags.")
- parser.print_help()
-
- if args.update:
- ingest_known_agents()
- if args.convert:
- conversions()
diff --git a/code/test_files/.htaccess b/code/test_files/.htaccess
deleted file mode 100644
index c07d6fd..0000000
--- a/code/test_files/.htaccess
+++ /dev/null
@@ -1,3 +0,0 @@
-RewriteEngine On
-RewriteCond %{HTTP_USER_AGENT} (AI2Bot|Ai2Bot\-Dolma|Amazonbot|anthropic\-ai|Applebot|Applebot\-Extended|Bytespider|CCBot|ChatGPT\-User|Claude\-Web|ClaudeBot|cohere\-ai|Diffbot|FacebookBot|facebookexternalhit|FriendlyCrawler|Google\-Extended|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|iaskspider/2\.0|ICC\-Crawler|ImagesiftBot|img2dataset|ISSCyberRiskCrawler|Kangaroo\ Bot|Meta\-ExternalAgent|Meta\-ExternalFetcher|OAI\-SearchBot|omgili|omgilibot|Perplexity\-User|PerplexityBot|PetalBot|Scrapy|Sidetrade\ indexer\ bot|Timpibot|VelenPublicWebCrawler|Webzio\-Extended|YouBot|crawler\.with\.dots|star\*\*\*crawler|Is\ this\ a\ crawler\?|a\[mazing\]\{42\}\(robot\)|2\^32\$|curl\|sudo\ bash) [NC]
-RewriteRule !^/?robots\.txt$ - [F]
diff --git a/code/test_files/Caddyfile b/code/test_files/Caddyfile
deleted file mode 100644
index 82f365a..0000000
--- a/code/test_files/Caddyfile
+++ /dev/null
@@ -1,3 +0,0 @@
-@aibots {
- header_regexp User-Agent "(AI2Bot|Ai2Bot\-Dolma|Amazonbot|anthropic\-ai|Applebot|Applebot\-Extended|Bytespider|CCBot|ChatGPT\-User|Claude\-Web|ClaudeBot|cohere\-ai|Diffbot|FacebookBot|facebookexternalhit|FriendlyCrawler|Google\-Extended|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|iaskspider/2\.0|ICC\-Crawler|ImagesiftBot|img2dataset|ISSCyberRiskCrawler|Kangaroo\ Bot|Meta\-ExternalAgent|Meta\-ExternalFetcher|OAI\-SearchBot|omgili|omgilibot|Perplexity\-User|PerplexityBot|PetalBot|Scrapy|Sidetrade\ indexer\ bot|Timpibot|VelenPublicWebCrawler|Webzio\-Extended|YouBot|crawler\.with\.dots|star\*\*\*crawler|Is\ this\ a\ crawler\?|a\[mazing\]\{42\}\(robot\)|2\^32\$|curl\|sudo\ bash)"
-}
\ No newline at end of file
diff --git a/code/test_files/haproxy-block-ai-bots.txt b/code/test_files/haproxy-block-ai-bots.txt
deleted file mode 100644
index 5ed6939..0000000
--- a/code/test_files/haproxy-block-ai-bots.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-AI2Bot
-Ai2Bot-Dolma
-Amazonbot
-anthropic-ai
-Applebot
-Applebot-Extended
-Bytespider
-CCBot
-ChatGPT-User
-Claude-Web
-ClaudeBot
-cohere-ai
-Diffbot
-FacebookBot
-facebookexternalhit
-FriendlyCrawler
-Google-Extended
-GoogleOther
-GoogleOther-Image
-GoogleOther-Video
-GPTBot
-iaskspider/2.0
-ICC-Crawler
-ImagesiftBot
-img2dataset
-ISSCyberRiskCrawler
-Kangaroo Bot
-Meta-ExternalAgent
-Meta-ExternalFetcher
-OAI-SearchBot
-omgili
-omgilibot
-Perplexity-User
-PerplexityBot
-PetalBot
-Scrapy
-Sidetrade indexer bot
-Timpibot
-VelenPublicWebCrawler
-Webzio-Extended
-YouBot
-crawler.with.dots
-star***crawler
-Is this a crawler?
-a[mazing]{42}(robot)
-2^32$
-curl|sudo bash
\ No newline at end of file
diff --git a/code/test_files/lighttpd-block-ai-bots.conf b/code/test_files/lighttpd-block-ai-bots.conf
deleted file mode 100644
index a5a4bac..0000000
--- a/code/test_files/lighttpd-block-ai-bots.conf
+++ /dev/null
@@ -1 +0,0 @@
-$HTTP["url"] != "/robots.txt" { $HTTP["user-agent"] =~ "(AI2Bot|Ai2Bot\-Dolma|Amazonbot|anthropic\-ai|Applebot|Applebot\-Extended|Bytespider|CCBot|ChatGPT\-User|Claude\-Web|ClaudeBot|cohere\-ai|Diffbot|FacebookBot|facebookexternalhit|FriendlyCrawler|Google\-Extended|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|iaskspider/2\.0|ICC\-Crawler|ImagesiftBot|img2dataset|ISSCyberRiskCrawler|Kangaroo\ Bot|Meta\-ExternalAgent|Meta\-ExternalFetcher|OAI\-SearchBot|omgili|omgilibot|Perplexity\-User|PerplexityBot|PetalBot|Scrapy|Sidetrade\ indexer\ bot|Timpibot|VelenPublicWebCrawler|Webzio\-Extended|YouBot|crawler\.with\.dots|star\*\*\*crawler|Is\ this\ a\ crawler\?|a\[mazing\]\{42\}\(robot\)|2\^32\$|curl\|sudo\ bash)" { url.access-deny = ( "" ) } }
\ No newline at end of file
diff --git a/code/test_files/nginx-block-ai-bots.conf b/code/test_files/nginx-block-ai-bots.conf
deleted file mode 100644
index d5e3cc6..0000000
--- a/code/test_files/nginx-block-ai-bots.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-set $block 0;
-
-if ($http_user_agent ~* "(AI2Bot|Ai2Bot\-Dolma|Amazonbot|anthropic\-ai|Applebot|Applebot\-Extended|Bytespider|CCBot|ChatGPT\-User|Claude\-Web|ClaudeBot|cohere\-ai|Diffbot|FacebookBot|facebookexternalhit|FriendlyCrawler|Google\-Extended|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|iaskspider/2\.0|ICC\-Crawler|ImagesiftBot|img2dataset|ISSCyberRiskCrawler|Kangaroo\ Bot|Meta\-ExternalAgent|Meta\-ExternalFetcher|OAI\-SearchBot|omgili|omgilibot|Perplexity\-User|PerplexityBot|PetalBot|Scrapy|Sidetrade\ indexer\ bot|Timpibot|VelenPublicWebCrawler|Webzio\-Extended|YouBot|crawler\.with\.dots|star\*\*\*crawler|Is\ this\ a\ crawler\?|a\[mazing\]\{42\}\(robot\)|2\^32\$|curl\|sudo\ bash)") {
- set $block 1;
-}
-
-if ($request_uri = "/robots.txt") {
- set $block 0;
-}
-
-if ($block) {
- return 403;
-}
\ No newline at end of file
diff --git a/code/test_files/robots.json b/code/test_files/robots.json
index 998959a..c50d63c 100644
--- a/code/test_files/robots.json
+++ b/code/test_files/robots.json
@@ -32,7 +32,7 @@
"respect": "Unclear at this time.",
"function": "AI Search Crawlers",
"frequency": "Unclear at this time.",
- "description": "Applebot is a web crawler used by Apple to index search results that allow the Siri AI Assistant to answer user questions. Siri's answers normally contain references to the website. More info can be found at https://knownagents.com/agents/applebot"
+ "description": "Applebot is a web crawler used by Apple to index search results that allow the Siri AI Assistant to answer user questions. Siri's answers normally contain references to the website. More info can be found at https://darkvisitors.com/agents/agents/applebot"
},
"Applebot-Extended": {
"operator": "[Apple](https://support.apple.com/en-us/119829#datausage)",
@@ -186,7 +186,7 @@
"respect": "Unclear at this time.",
"function": "AI Data Scrapers",
"frequency": "Unclear at this time.",
- "description": "Kangaroo Bot is used by the company Kangaroo LLM to download data to train AI models tailored to Australian language and culture. More info can be found at https://knownagents.com/agents/kangaroo-bot"
+ "description": "Kangaroo Bot is used by the company Kangaroo LLM to download data to train AI models tailored to Australian language and culture. More info can be found at https://darkvisitors.com/agents/agents/kangaroo-bot"
},
"Meta-ExternalAgent": {
"operator": "[Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers)",
@@ -200,7 +200,7 @@
"respect": "Unclear at this time.",
"function": "AI Assistants",
"frequency": "Unclear at this time.",
- "description": "Meta-ExternalFetcher is dispatched by Meta AI products in response to user prompts, when they need to fetch an individual links. More info can be found at https://knownagents.com/agents/meta-externalfetcher"
+ "description": "Meta-ExternalFetcher is dispatched by Meta AI products in response to user prompts, when they need to fetch an individual links. More info can be found at https://darkvisitors.com/agents/agents/meta-externalfetcher"
},
"OAI-SearchBot": {
"operator": "[OpenAI](https://openai.com)",
@@ -223,13 +223,6 @@
"operator": "[Webz.io](https://webz.io/)",
"respect": "[Yes](https://web.archive.org/web/20170704003301/http://omgili.com/Crawler.html)"
},
- "Perplexity-User": {
- "operator": "[Perplexity](https://www.perplexity.ai/)",
- "respect": "[No](https://docs.perplexity.ai/guides/bots)",
- "function": "Used to answer queries at the request of users.",
- "frequency": "Only when prompted by a user.",
- "description": "Visit web pages to help provide an accurate answer and include links to the page in Perplexity response."
- },
"PerplexityBot": {
"operator": "[Perplexity](https://www.perplexity.ai/)",
"respect": "[No](https://www.macstories.net/stories/wired-confirms-perplexity-is-bypassing-efforts-by-websites-to-block-its-web-crawler/)",
@@ -277,7 +270,7 @@
"respect": "Unclear at this time.",
"function": "AI Data Scrapers",
"frequency": "Unclear at this time.",
- "description": "Webzio-Extended is a web crawler used by Webz.io to maintain a repository of web crawl data that it sells to other companies, including those using it to train AI models. More info can be found at https://knownagents.com/agents/webzio-extended"
+ "description": "Webzio-Extended is a web crawler used by Webz.io to maintain a repository of web crawl data that it sells to other companies, including those using it to train AI models. More info can be found at https://darkvisitors.com/agents/agents/webzio-extended"
},
"YouBot": {
"operator": "[You](https://about.you.com/youchat/)",
@@ -285,47 +278,5 @@
"function": "Scrapes data for search engine and LLMs.",
"frequency": "No information.",
"description": "Retrieves data used for You.com web search engine and LLMs."
- },
- "crawler.with.dots": {
- "operator": "Test suite",
- "respect": "No",
- "function": "To ensure the code works correctly.",
- "frequency": "No information.",
- "description": "When used in the .htaccess regular expression dots need to be escaped."
- },
- "star***crawler": {
- "operator": "Test suite",
- "respect": "No",
- "function": "To ensure the code works correctly.",
- "frequency": "No information.",
- "description": "When used in the .htaccess regular expression stars need to be escaped."
- },
- "Is this a crawler?": {
- "operator": "Test suite",
- "respect": "No",
- "function": "To ensure the code works correctly.",
- "frequency": "No information.",
- "description": "When used in the .htaccess regular expression spaces and question marks need to be escaped."
- },
- "a[mazing]{42}(robot)": {
- "operator": "Test suite",
- "respect": "No",
- "function": "To ensure the code works correctly.",
- "frequency": "No information.",
- "description": "When used in the .htaccess regular expression parantheses, braces, etc. need to be escaped."
- },
- "2^32$": {
- "operator": "Test suite",
- "respect": "No",
- "function": "To ensure the code works correctly.",
- "frequency": "No information.",
- "description": "When used in the .htaccess regular expression RE anchor characters need to be escaped."
- },
- "curl|sudo bash": {
- "operator": "Test suite",
- "respect": "No",
- "function": "To ensure the code works correctly.",
- "frequency": "No information.",
- "description": "When used in the .htaccess regular expression pipes need to be escaped."
}
-}
+}
\ No newline at end of file
diff --git a/code/test_files/robots.txt b/code/test_files/robots.txt
index ee201f8..927f6f4 100644
--- a/code/test_files/robots.txt
+++ b/code/test_files/robots.txt
@@ -30,7 +30,6 @@ User-agent: Meta-ExternalFetcher
User-agent: OAI-SearchBot
User-agent: omgili
User-agent: omgilibot
-User-agent: Perplexity-User
User-agent: PerplexityBot
User-agent: PetalBot
User-agent: Scrapy
@@ -39,10 +38,4 @@ User-agent: Timpibot
User-agent: VelenPublicWebCrawler
User-agent: Webzio-Extended
User-agent: YouBot
-User-agent: crawler.with.dots
-User-agent: star***crawler
-User-agent: Is this a crawler?
-User-agent: a[mazing]{42}(robot)
-User-agent: 2^32$
-User-agent: curl|sudo bash
Disallow: /
diff --git a/code/test_files/table-of-bot-metrics.md b/code/test_files/table-of-bot-metrics.md
index 221746c..257ba99 100644
--- a/code/test_files/table-of-bot-metrics.md
+++ b/code/test_files/table-of-bot-metrics.md
@@ -1,49 +1,42 @@
| Name | Operator | Respects `robots.txt` | Data use | Visit regularity | Description |
-|------|----------|-----------------------|----------|------------------|-------------|
+|-----|----------|-----------------------|----------|------------------|-------------|
| AI2Bot | [Ai2](https://allenai.org/crawler) | Yes | Content is used to train open language models. | No information provided. | Explores 'certain domains' to find web content. |
-| Ai2Bot\-Dolma | [Ai2](https://allenai.org/crawler) | Yes | Content is used to train open language models. | No information provided. | Explores 'certain domains' to find web content. |
+| Ai2Bot-Dolma | [Ai2](https://allenai.org/crawler) | Yes | Content is used to train open language models. | No information provided. | Explores 'certain domains' to find web content. |
| Amazonbot | Amazon | Yes | Service improvement and enabling answers for Alexa users. | No information provided. | Includes references to crawled website when surfacing answers via Alexa; does not clearly outline other uses. |
-| anthropic\-ai | [Anthropic](https://www.anthropic.com) | Unclear at this time. | Scrapes data to train Anthropic's AI products. | No information provided. | Scrapes data to train LLMs and AI products offered by Anthropic. |
-| Applebot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | Applebot is a web crawler used by Apple to index search results that allow the Siri AI Assistant to answer user questions. Siri's answers normally contain references to the website. More info can be found at https://knownagents.com/agents/applebot |
-| Applebot\-Extended | [Apple](https://support.apple.com/en-us/119829#datausage) | Yes | Powers features in Siri, Spotlight, Safari, Apple Intelligence, and others. | Unclear at this time. | Apple has a secondary user agent, Applebot-Extended ... [that is] used to train Apple's foundation models powering generative AI features across Apple products, including Apple Intelligence, Services, and Developer Tools. |
+| anthropic-ai | [Anthropic](https://www.anthropic.com) | Unclear at this time. | Scrapes data to train Anthropic's AI products. | No information provided. | Scrapes data to train LLMs and AI products offered by Anthropic. |
+| Applebot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | Applebot is a web crawler used by Apple to index search results that allow the Siri AI Assistant to answer user questions. Siri's answers normally contain references to the website. More info can be found at https://darkvisitors.com/agents/agents/applebot |
+| Applebot-Extended | [Apple](https://support.apple.com/en-us/119829#datausage) | Yes | Powers features in Siri, Spotlight, Safari, Apple Intelligence, and others. | Unclear at this time. | Apple has a secondary user agent, Applebot-Extended ... [that is] used to train Apple's foundation models powering generative AI features across Apple products, including Apple Intelligence, Services, and Developer Tools. |
| Bytespider | ByteDance | No | LLM training. | Unclear at this time. | Downloads data to train LLMS, including ChatGPT competitors. |
| CCBot | [Common Crawl Foundation](https://commoncrawl.org) | [Yes](https://commoncrawl.org/ccbot) | Provides open crawl dataset, used for many purposes, including Machine Learning/AI. | Monthly at present. | Web archive going back to 2008. [Cited in thousands of research papers per year](https://commoncrawl.org/research-papers). |
-| ChatGPT\-User | [OpenAI](https://openai.com) | Yes | Takes action based on user prompts. | Only when prompted by a user. | Used by plugins in ChatGPT to answer queries based on user input. |
-| Claude\-Web | [Anthropic](https://www.anthropic.com) | Unclear at this time. | Scrapes data to train Anthropic's AI products. | No information provided. | Scrapes data to train LLMs and AI products offered by Anthropic. |
+| ChatGPT-User | [OpenAI](https://openai.com) | Yes | Takes action based on user prompts. | Only when prompted by a user. | Used by plugins in ChatGPT to answer queries based on user input. |
+| Claude-Web | [Anthropic](https://www.anthropic.com) | Unclear at this time. | Scrapes data to train Anthropic's AI products. | No information provided. | Scrapes data to train LLMs and AI products offered by Anthropic. |
| ClaudeBot | [Anthropic](https://www.anthropic.com) | [Yes](https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) | Scrapes data to train Anthropic's AI products. | No information provided. | Scrapes data to train LLMs and AI products offered by Anthropic. |
-| cohere\-ai | [Cohere](https://cohere.com) | Unclear at this time. | Retrieves data to provide responses to user-initiated prompts. | Takes action based on user prompts. | Retrieves data based on user prompts. |
+| cohere-ai | [Cohere](https://cohere.com) | Unclear at this time. | Retrieves data to provide responses to user-initiated prompts. | Takes action based on user prompts. | Retrieves data based on user prompts. |
| Diffbot | [Diffbot](https://www.diffbot.com/) | At the discretion of Diffbot users. | Aggregates structured web data for monitoring and AI model training. | Unclear at this time. | Diffbot is an application used to parse web pages into structured data; this data is used for monitoring or AI model training. |
| FacebookBot | Meta/Facebook | [Yes](https://developers.facebook.com/docs/sharing/bot/) | Training language models | Up to 1 page per second | Officially used for training Meta "speech recognition technology," unknown if used to train Meta AI specifically. |
| facebookexternalhit | Meta/Facebook | [Yes](https://developers.facebook.com/docs/sharing/bot/) | No information. | Unclear at this time. | Unclear at this time. |
| FriendlyCrawler | Unknown | [Yes](https://imho.alex-kunz.com/2024/01/25/an-update-on-friendly-crawler) | We are using the data from the crawler to build datasets for machine learning experiments. | Unclear at this time. | Unclear who the operator is; but data is used for training/machine learning. |
-| Google\-Extended | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | LLM training. | No information. | Used to train Gemini and Vertex AI generative APIs. Does not impact a site's inclusion or ranking in Google Search. |
+| Google-Extended | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | LLM training. | No information. | Used to train Gemini and Vertex AI generative APIs. Does not impact a site's inclusion or ranking in Google Search. |
| GoogleOther | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
-| GoogleOther\-Image | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
-| GoogleOther\-Video | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
+| GoogleOther-Image | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
+| GoogleOther-Video | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
| GPTBot | [OpenAI](https://openai.com) | Yes | Scrapes data to train OpenAI's products. | No information. | Data is used to train current and future models, removed paywalled data, PII and data that violates the company's policies. |
-| iaskspider/2\.0 | iAsk | No | Crawls sites to provide answers to user queries. | Unclear at this time. | Used to provide answers to user queries. |
-| ICC\-Crawler | [NICT](https://nict.go.jp) | Yes | Scrapes data to train and support AI technologies. | No information. | Use the collected data for artificial intelligence technologies; provide data to third parties, including commercial companies; those companies can use the data for their own business. |
+| iaskspider/2.0 | iAsk | No | Crawls sites to provide answers to user queries. | Unclear at this time. | Used to provide answers to user queries. |
+| ICC-Crawler | [NICT](https://nict.go.jp) | Yes | Scrapes data to train and support AI technologies. | No information. | Use the collected data for artificial intelligence technologies; provide data to third parties, including commercial companies; those companies can use the data for their own business. |
| ImagesiftBot | [ImageSift](https://imagesift.com) | [Yes](https://imagesift.com/about) | ImageSiftBot is a web crawler that scrapes the internet for publicly available images to support our suite of web intelligence products | No information. | Once images and text are downloaded from a webpage, ImageSift analyzes this data from the page and stores the information in an index. Our web intelligence products use this index to enable search and retrieval of similar images. |
| img2dataset | [img2dataset](https://github.com/rom1504/img2dataset) | Unclear at this time. | Scrapes images for use in LLMs. | At the discretion of img2dataset users. | Downloads large sets of images into datasets for LLM training or other purposes. |
| ISSCyberRiskCrawler | [ISS-Corporate](https://iss-cyber.com) | No | Scrapes data to train machine learning models. | No information. | Used to train machine learning based models to quantify cyber risk. |
-| Kangaroo Bot | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Kangaroo Bot is used by the company Kangaroo LLM to download data to train AI models tailored to Australian language and culture. More info can be found at https://knownagents.com/agents/kangaroo-bot |
-| Meta\-ExternalAgent | [Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers) | Yes. | Used to train models and improve products. | No information. | "The Meta-ExternalAgent crawler crawls the web for use cases such as training AI models or improving products by indexing content directly." |
-| Meta\-ExternalFetcher | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | Meta-ExternalFetcher is dispatched by Meta AI products in response to user prompts, when they need to fetch an individual links. More info can be found at https://knownagents.com/agents/meta-externalfetcher |
-| OAI\-SearchBot | [OpenAI](https://openai.com) | [Yes](https://platform.openai.com/docs/bots) | Search result generation. | No information. | Crawls sites to surface as results in SearchGPT. |
+| Kangaroo Bot | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Kangaroo Bot is used by the company Kangaroo LLM to download data to train AI models tailored to Australian language and culture. More info can be found at https://darkvisitors.com/agents/agents/kangaroo-bot |
+| Meta-ExternalAgent | [Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers) | Yes. | Used to train models and improve products. | No information. | "The Meta-ExternalAgent crawler crawls the web for use cases such as training AI models or improving products by indexing content directly." |
+| Meta-ExternalFetcher | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | Meta-ExternalFetcher is dispatched by Meta AI products in response to user prompts, when they need to fetch an individual links. More info can be found at https://darkvisitors.com/agents/agents/meta-externalfetcher |
+| OAI-SearchBot | [OpenAI](https://openai.com) | [Yes](https://platform.openai.com/docs/bots) | Search result generation. | No information. | Crawls sites to surface as results in SearchGPT. |
| omgili | [Webz.io](https://webz.io/) | [Yes](https://webz.io/blog/web-data/what-is-the-omgili-bot-and-why-is-it-crawling-your-website/) | Data is sold. | No information. | Crawls sites for APIs used by Hootsuite, Sprinklr, NetBase, and other companies. Data also sold for research purposes or LLM training. |
| omgilibot | [Webz.io](https://webz.io/) | [Yes](https://web.archive.org/web/20170704003301/http://omgili.com/Crawler.html) | Data is sold. | No information. | Legacy user agent initially used for Omgili search engine. Unknown if still used, `omgili` agent still used by Webz.io. |
-| Perplexity\-User | [Perplexity](https://www.perplexity.ai/) | [No](https://docs.perplexity.ai/guides/bots) | Used to answer queries at the request of users. | Only when prompted by a user. | Visit web pages to help provide an accurate answer and include links to the page in Perplexity response. |
| PerplexityBot | [Perplexity](https://www.perplexity.ai/) | [No](https://www.macstories.net/stories/wired-confirms-perplexity-is-bypassing-efforts-by-websites-to-block-its-web-crawler/) | Used to answer queries at the request of users. | Takes action based on user prompts. | Operated by Perplexity to obtain results in response to user queries. |
| PetalBot | [Huawei](https://huawei.com/) | Yes | Used to provide recommendations in Hauwei assistant and AI search services. | No explicit frequency provided. | Operated by Huawei to provide search and AI assistant services. |
| Scrapy | [Zyte](https://www.zyte.com) | Unclear at this time. | Scrapes data for a variety of uses including training AI. | No information. | "AI and machine learning applications often need large amounts of quality data, and web data extraction is a fast, efficient way to build structured data sets." |
| Sidetrade indexer bot | [Sidetrade](https://www.sidetrade.com) | Unclear at this time. | Extracts data for a variety of uses including training AI. | No information. | AI product training. |
| Timpibot | [Timpi](https://timpi.io) | Unclear at this time. | Scrapes data for use in training LLMs. | No information. | Makes data available for training AI models. |
| VelenPublicWebCrawler | [Velen Crawler](https://velen.io) | [Yes](https://velen.io) | Scrapes data for business data sets and machine learning models. | No information. | "Our goal with this crawler is to build business datasets and machine learning models to better understand the web." |
-| Webzio\-Extended | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Webzio-Extended is a web crawler used by Webz.io to maintain a repository of web crawl data that it sells to other companies, including those using it to train AI models. More info can be found at https://knownagents.com/agents/webzio-extended |
+| Webzio-Extended | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Webzio-Extended is a web crawler used by Webz.io to maintain a repository of web crawl data that it sells to other companies, including those using it to train AI models. More info can be found at https://darkvisitors.com/agents/agents/webzio-extended |
| YouBot | [You](https://about.you.com/youchat/) | [Yes](https://about.you.com/youbot/) | Scrapes data for search engine and LLMs. | No information. | Retrieves data used for You.com web search engine and LLMs. |
-| crawler\.with\.dots | Test suite | No | To ensure the code works correctly. | No information. | When used in the .htaccess regular expression dots need to be escaped. |
-| star\*\*\*crawler | Test suite | No | To ensure the code works correctly. | No information. | When used in the .htaccess regular expression stars need to be escaped. |
-| Is this a crawler? | Test suite | No | To ensure the code works correctly. | No information. | When used in the .htaccess regular expression spaces and question marks need to be escaped. |
-| a\[mazing\]\{42\}\(robot\) | Test suite | No | To ensure the code works correctly. | No information. | When used in the .htaccess regular expression parantheses, braces, etc. need to be escaped. |
-| 2^32$ | Test suite | No | To ensure the code works correctly. | No information. | When used in the .htaccess regular expression RE anchor characters need to be escaped. |
-| curl\|sudo bash | Test suite | No | To ensure the code works correctly. | No information. | When used in the .htaccess regular expression pipes need to be escaped. |
diff --git a/code/tests.py b/code/tests.py
old mode 100755
new mode 100644
index 49b23e1..ffa7574
--- a/code/tests.py
+++ b/code/tests.py
@@ -1,120 +1,21 @@
-#!/usr/bin/env python3
-"""To run these tests just execute this script."""
+"""These tests can be run with pytest.
+This requires pytest: pip install pytest
+cd to the `code` directory and run `pytest`
+"""
import json
-import unittest
+from pathlib import Path
-from robots import json_to_txt, json_to_table, json_to_htaccess, json_to_nginx, json_to_haproxy, json_to_caddy, json_to_lighttpd, consolidate, default_values, default_value
-
-class RobotsUnittestExtensions:
- def loadJson(self, pathname):
- with open(pathname, "rt") as f:
- return json.load(f)
-
- def assertEqualsFile(self, f, s):
- with open(f, "rt") as f:
- f_contents = f.read()
-
- return self.assertMultiLineEqual(f_contents, s)
+from dark_visitors import json_to_txt, json_to_table
-class TestRobotsTXTGeneration(unittest.TestCase, RobotsUnittestExtensions):
- maxDiff = 8192
-
- def setUp(self):
- self.robots_dict = self.loadJson("test_files/robots.json")
-
- def test_robots_txt_generation(self):
- robots_txt = json_to_txt(self.robots_dict)
- self.assertEqualsFile("test_files/robots.txt", robots_txt)
+def test_robots_txt_creation():
+ robots_json = json.loads(Path("test_files/robots.json").read_text())
+ robots_txt = json_to_txt(robots_json)
+ assert Path("test_files/robots.txt").read_text() == robots_txt
-class TestTableMetricsGeneration(unittest.TestCase, RobotsUnittestExtensions):
- maxDiff = 32768
-
- def setUp(self):
- self.robots_dict = self.loadJson("test_files/robots.json")
-
- def test_table_generation(self):
- robots_table = json_to_table(self.robots_dict)
- self.assertEqualsFile("test_files/table-of-bot-metrics.md", robots_table)
-
-
-class TestHtaccessGeneration(unittest.TestCase, RobotsUnittestExtensions):
- maxDiff = 8192
-
- def setUp(self):
- self.robots_dict = self.loadJson("test_files/robots.json")
-
- def test_htaccess_generation(self):
- robots_htaccess = json_to_htaccess(self.robots_dict)
- self.assertEqualsFile("test_files/.htaccess", robots_htaccess)
-
-class TestNginxConfigGeneration(unittest.TestCase, RobotsUnittestExtensions):
- maxDiff = 8192
-
- def setUp(self):
- self.robots_dict = self.loadJson("test_files/robots.json")
-
- def test_nginx_generation(self):
- robots_nginx = json_to_nginx(self.robots_dict)
- self.assertEqualsFile("test_files/nginx-block-ai-bots.conf", robots_nginx)
-
-class TestHaproxyConfigGeneration(unittest.TestCase, RobotsUnittestExtensions):
- maxDiff = 8192
-
- def setUp(self):
- self.robots_dict = self.loadJson("test_files/robots.json")
-
- def test_haproxy_generation(self):
- robots_haproxy = json_to_haproxy(self.robots_dict)
- self.assertEqualsFile("test_files/haproxy-block-ai-bots.txt", robots_haproxy)
-
-class TestRobotsNameCleaning(unittest.TestCase):
- def test_clean_name(self):
- from robots import clean_robot_name
-
- self.assertEqual(clean_robot_name("Perplexity‑User"), "Perplexity-User")
-
-class TestCaddyfileGeneration(unittest.TestCase, RobotsUnittestExtensions):
- maxDiff = 8192
-
- def setUp(self):
- self.robots_dict = self.loadJson("test_files/robots.json")
-
- def test_caddyfile_generation(self):
- robots_caddyfile = json_to_caddy(self.robots_dict)
- self.assertEqualsFile("test_files/Caddyfile", robots_caddyfile)
-
-class TestLighttpdConfigGeneration(unittest.TestCase, RobotsUnittestExtensions):
- maxDiff = 8192
-
- def setUp(self):
- self.robots_dict = self.loadJson("test_files/robots.json")
-
- def test_lighttpd_generation(self):
- robots_lighttpd = json_to_lighttpd(self.robots_dict)
- self.assertEqualsFile("test_files/lighttpd-block-ai-bots.conf", robots_lighttpd)
-
-
-class TestConsolidate(unittest.TestCase, RobotsUnittestExtensions):
- maxDiff = 8192
-
- def test_new_item(self):
- existing = {}
- self.assertEqual("George Jetson", consolidate(existing, "rosie", "operator", "George Jetson"))
-
- def test_ignores_defaults(self):
- existing = {"rosie": { "operator": "George Jetson"}}
- self.assertEqual("George Jetson", consolidate(existing, "rosie", "operator", default_value))
-
- def test_new_description(self):
- existing = {"rosie": { "description": default_value}}
- self.assertEqual("Rosie is the robot maid from The Jetsons, an American animated sitcom",
- consolidate(existing, "rosie", "description", "Rosie is the robot maid from The Jetsons, an American animated sitcom"))
-
-if __name__ == "__main__":
- import os
- os.chdir(os.path.dirname(__file__))
-
- unittest.main(verbosity=2)
+def test_table_of_bot_metrices_md():
+ robots_json = json.loads(Path("test_files/robots.json").read_text())
+ robots_table = json_to_table(robots_json)
+ assert Path("test_files/table-of-bot-metrics.md").read_text() == robots_table
diff --git a/docs/additional-steps/bing.md b/docs/additional-steps/bing.md
deleted file mode 100644
index f9afb78..0000000
--- a/docs/additional-steps/bing.md
+++ /dev/null
@@ -1,40 +0,0 @@
-# Bing (bingbot)
-
-It's not well publicised, but Bing uses the data it crawls for AI and training.
-
-However, the current thinking is, blocking a search engine of this size using `robots.txt` seems a quite drastic approach as it is second only to Google and could significantly impact your website in search results.
-
-Additionally, Bing powers a number of search engines such as Yahoo and AOL, and its search results are also used in Duck Duck Go, amongst others.
-
-Fortunately, Bing supports a relatively simple opt-out method, requiring an additional step.
-
-## How to opt-out of AI training
-
-You must add a metatag in the `
` of your webpage or set the [X-Robots-Tag](https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/X-Robots-Tag) HTTP header in your response. This also needs to be added to every page or response on your website.
-
-If using the metatag, the line you need to add is:
-
-```plaintext
-
-```
-Or include the HTTP response header:
-```plaintext
-X-Robots-Tag: noarchive
-```
-
-By adding this line or header, you are signifying to Bing: "Do not use the content for training Microsoft's generative AI foundation models."
-
-## Will my site be negatively affected
-
-Simple answer, no.
-The original use of "noarchive" has been retired by all search engines. Google retired its use in 2024.
-
-The use of this metatag will not impact your site in search engines or in any other meaningful way if you add it to your page(s).
-
-It is now solely used by a handful of crawlers, such as Bingbot and Amazonbot, to signify to them not to use your data for AI/training.
-
-## Resources
-
-Bing Blog AI opt-out announcement: https://blogs.bing.com/webmaster/september-2023/Announcing-new-options-for-webmasters-to-control-usage-of-their-content-in-Bing-Chat
-
-Bing metatag information, including AI opt-out: https://www.bing.com/webmasters/help/which-robots-metatags-does-bing-support-5198d240
diff --git a/docs/traefik-manual-setup.md b/docs/traefik-manual-setup.md
deleted file mode 100644
index 0760016..0000000
--- a/docs/traefik-manual-setup.md
+++ /dev/null
@@ -1,36 +0,0 @@
-# Intro
-If you're using Traefik as your reverse proxy in your docker setup, you might want to use it as well to centrally serve the ```/robots.txt``` for all your Traefik fronted services.
-
-This can be achieved by configuring a single lightweight service to service static files and defining a high priority Traefik HTTP Router rule.
-
-# Setup
-Define a single service to serve the one robots.txt to rule them all. I'm using a lean nginx:alpine docker image in this example:
-
-```
-services:
- robots:
- image: nginx:alpine
- container_name: robots-server
- volumes:
- - ./static/:/usr/share/nginx/html/:ro
- labels:
- - "traefik.enable=true"
- # Router for all /robots.txt requests
- - "traefik.http.routers.robots.rule=Path(`/robots.txt`)"
- - "traefik.http.routers.robots.entrypoints=web,websecure"
- - "traefik.http.routers.robots.priority=3000"
- - "traefik.http.routers.robots.service=robots"
- - "traefik.http.routers.robots.tls.certresolver=letsencrypt"
- - "traefik.http.services.robots.loadbalancer.server.port=80"
- networks:
- - external_network
-
-networks:
- external_network:
- name: traefik_external_network
- external: true
-```
-
-The Traefik HTTP Routers rule explicitly does not contain a Hostname. Traefik will print a warning about this for the TLS setup but it will work. The high priority of 3000 should ensure this rule is evaluated first for incoming requests.
-
-Place your robots.txt in the local `./static/` directory and NGINX will serve it for all services behind your Traefik proxy.
diff --git a/haproxy-block-ai-bots.txt b/haproxy-block-ai-bots.txt
deleted file mode 100644
index 331b031..0000000
--- a/haproxy-block-ai-bots.txt
+++ /dev/null
@@ -1,164 +0,0 @@
-AddSearchBot
-AgentTimes
-AI2Bot
-AI2Bot-DeepResearchEval
-Ai2Bot-Dolma
-aiHitBot
-AIWebIndex
-amazon-kendra
-amazon-QBusiness
-Amazonbot
-AmazonBuyForMe
-Amzn-SearchBot
-Amzn-User
-Andibot
-Anomura
-anthropic-ai
-ApifyBot
-ApifyWebsiteContentCrawler
-Applebot
-Applebot-Extended
-Aranet-SearchBot
-atlassian-bot
-Awario
-AzureAI-SearchBot
-bedrockbot
-bigsur.ai
-Bravebot
-Brightbot
-Brightbot 1.0
-BuddyBot
-Bytespider
-CCBot
-Channel3Bot
-ChatGLM-Spider
-ChatGPT Agent
-ChatGPT-User
-Claude-Code
-Claude-SearchBot
-Claude-User
-Claude-Web
-ClaudeBot
-Cloudflare-AutoRAG
-CloudVertexBot
-Code
-cohere-ai
-cohere-training-data-crawler
-Cotoyogi
-CragCrawler
-Crawl4AI
-Crawlspace
-Cursor
-Datenbank Crawler
-DeepSeekBot
-Devin
-Diffbot
-DuckAssistBot
-Echobot Bot
-EchoboxBot
-ExaBot
-FacebookBot
-facebookexternalhit
-Factset_spyderbot
-FirecrawlAgent
-FriendlyCrawler
-GeistHaus-PageFetcher
-Gemini-Deep-Research
-Google-Agent
-Google-CloudVertexBot
-Google-Extended
-Google-Firebase
-Google-Gemini-CLI
-Google-NotebookLM
-GoogleAgent-Mariner
-GoogleAgent-URLContext
-GoogleOther
-GoogleOther-Image
-GoogleOther-Video
-GPTBot
-HenkBot
-iAskBot
-iaskspider
-iaskspider/2.0
-IbouBot
-ICC-Crawler
-ImagesiftBot
-imageSpider
-img2dataset
-ISSCyberRiskCrawler
-kagi-fetcher
-Kangaroo Bot
-Kimi-User
-KlaviyoAIBot
-KunatoCrawler
-laion-huggingface-processor
-LAIONDownloader
-LCC
-LinerBot
-Linguee Bot
-LinkupBot
-Manus-User
-meta-externalagent
-Meta-ExternalAgent
-meta-externalfetcher
-Meta-ExternalFetcher
-meta-webindexer
-MistralAI-User
-MistralAI-User/1.0
-Mozilla-Tabstack
-MyCentralAIScraperBot
-NagetBot
-netEstate Imprint Crawler
-newsai
-NotebookLM
-NovaAct
-OAI-SearchBot
-omgili
-omgilibot
-OpenAI
-opencode
-Operator
-PanguBot
-Panscient
-panscient.com
-Perplexity-User
-PerplexityBot
-PetalBot
-PhindBot
-Poggio-Citations
-Poseidon Research Crawler
-QualifiedBot
-Querit-SearchBot
-QueritBot
-QuillBot
-quillbot.com
-SBIntuitionsBot
-Scrapy
-SemrushBot-OCOB
-SemrushBot-SWA
-Shap-User
-ShapBot
-Sidetrade indexer bot
-Spider
-TavilyBot
-Terra Cotta
-TerraCotta
-Thinkbot
-TikTokSpider
-Timpibot
-TongyiBot
-Trae
-TwinAgent
-UseAI
-VelenPublicWebCrawler
-WARDBot
-Webzio-Extended
-webzio-extended
-wpbot
-WRTNBot
-YaK
-YandexAdditional
-YandexAdditionalBot
-YiyanBot
-YouBot
-ZanistaBot
\ No newline at end of file
diff --git a/lighttpd-block-ai-bots.conf b/lighttpd-block-ai-bots.conf
deleted file mode 100644
index 8dabd24..0000000
--- a/lighttpd-block-ai-bots.conf
+++ /dev/null
@@ -1 +0,0 @@
-$HTTP["url"] != "/robots.txt" { $HTTP["user-agent"] =~ "(AddSearchBot|AgentTimes|AI2Bot|AI2Bot\-DeepResearchEval|Ai2Bot\-Dolma|aiHitBot|AIWebIndex|amazon\-kendra|amazon\-QBusiness|Amazonbot|AmazonBuyForMe|Amzn\-SearchBot|Amzn\-User|Andibot|Anomura|anthropic\-ai|ApifyBot|ApifyWebsiteContentCrawler|Applebot|Applebot\-Extended|Aranet\-SearchBot|atlassian\-bot|Awario|AzureAI\-SearchBot|bedrockbot|bigsur\.ai|Bravebot|Brightbot|Brightbot\ 1\.0|BuddyBot|Bytespider|CCBot|Channel3Bot|ChatGLM\-Spider|ChatGPT\ Agent|ChatGPT\-User|Claude\-Code|Claude\-SearchBot|Claude\-User|Claude\-Web|ClaudeBot|Cloudflare\-AutoRAG|CloudVertexBot|Code|cohere\-ai|cohere\-training\-data\-crawler|Cotoyogi|CragCrawler|Crawl4AI|Crawlspace|Cursor|Datenbank\ Crawler|DeepSeekBot|Devin|Diffbot|DuckAssistBot|Echobot\ Bot|EchoboxBot|ExaBot|FacebookBot|facebookexternalhit|Factset_spyderbot|FirecrawlAgent|FriendlyCrawler|GeistHaus\-PageFetcher|Gemini\-Deep\-Research|Google\-Agent|Google\-CloudVertexBot|Google\-Extended|Google\-Firebase|Google\-Gemini\-CLI|Google\-NotebookLM|GoogleAgent\-Mariner|GoogleAgent\-URLContext|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|HenkBot|iAskBot|iaskspider|iaskspider/2\.0|IbouBot|ICC\-Crawler|ImagesiftBot|imageSpider|img2dataset|ISSCyberRiskCrawler|kagi\-fetcher|Kangaroo\ Bot|Kimi\-User|KlaviyoAIBot|KunatoCrawler|laion\-huggingface\-processor|LAIONDownloader|LCC|LinerBot|Linguee\ Bot|LinkupBot|Manus\-User|meta\-externalagent|Meta\-ExternalAgent|meta\-externalfetcher|Meta\-ExternalFetcher|meta\-webindexer|MistralAI\-User|MistralAI\-User/1\.0|Mozilla\-Tabstack|MyCentralAIScraperBot|NagetBot|netEstate\ Imprint\ Crawler|newsai|NotebookLM|NovaAct|OAI\-SearchBot|omgili|omgilibot|OpenAI|opencode|Operator|PanguBot|Panscient|panscient\.com|Perplexity\-User|PerplexityBot|PetalBot|PhindBot|Poggio\-Citations|Poseidon\ Research\ Crawler|QualifiedBot|Querit\-SearchBot|QueritBot|QuillBot|quillbot\.com|SBIntuitionsBot|Scrapy|SemrushBot\-OCOB|SemrushBot\-SWA|Shap\-User|ShapBot|Sidetrade\ indexer\ bot|Spider|TavilyBot|Terra\ Cotta|TerraCotta|Thinkbot|TikTokSpider|Timpibot|TongyiBot|Trae|TwinAgent|UseAI|VelenPublicWebCrawler|WARDBot|Webzio\-Extended|webzio\-extended|wpbot|WRTNBot|YaK|YandexAdditional|YandexAdditionalBot|YiyanBot|YouBot|ZanistaBot)" { url.access-deny = ( "" ) } }
\ No newline at end of file
diff --git a/nginx-block-ai-bots.conf b/nginx-block-ai-bots.conf
deleted file mode 100644
index f3020ed..0000000
--- a/nginx-block-ai-bots.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-set $block 0;
-
-if ($http_user_agent ~* "(AddSearchBot|AgentTimes|AI2Bot|AI2Bot\-DeepResearchEval|Ai2Bot\-Dolma|aiHitBot|AIWebIndex|amazon\-kendra|amazon\-QBusiness|Amazonbot|AmazonBuyForMe|Amzn\-SearchBot|Amzn\-User|Andibot|Anomura|anthropic\-ai|ApifyBot|ApifyWebsiteContentCrawler|Applebot|Applebot\-Extended|Aranet\-SearchBot|atlassian\-bot|Awario|AzureAI\-SearchBot|bedrockbot|bigsur\.ai|Bravebot|Brightbot|Brightbot\ 1\.0|BuddyBot|Bytespider|CCBot|Channel3Bot|ChatGLM\-Spider|ChatGPT\ Agent|ChatGPT\-User|Claude\-Code|Claude\-SearchBot|Claude\-User|Claude\-Web|ClaudeBot|Cloudflare\-AutoRAG|CloudVertexBot|Code|cohere\-ai|cohere\-training\-data\-crawler|Cotoyogi|CragCrawler|Crawl4AI|Crawlspace|Cursor|Datenbank\ Crawler|DeepSeekBot|Devin|Diffbot|DuckAssistBot|Echobot\ Bot|EchoboxBot|ExaBot|FacebookBot|facebookexternalhit|Factset_spyderbot|FirecrawlAgent|FriendlyCrawler|GeistHaus\-PageFetcher|Gemini\-Deep\-Research|Google\-Agent|Google\-CloudVertexBot|Google\-Extended|Google\-Firebase|Google\-Gemini\-CLI|Google\-NotebookLM|GoogleAgent\-Mariner|GoogleAgent\-URLContext|GoogleOther|GoogleOther\-Image|GoogleOther\-Video|GPTBot|HenkBot|iAskBot|iaskspider|iaskspider/2\.0|IbouBot|ICC\-Crawler|ImagesiftBot|imageSpider|img2dataset|ISSCyberRiskCrawler|kagi\-fetcher|Kangaroo\ Bot|Kimi\-User|KlaviyoAIBot|KunatoCrawler|laion\-huggingface\-processor|LAIONDownloader|LCC|LinerBot|Linguee\ Bot|LinkupBot|Manus\-User|meta\-externalagent|Meta\-ExternalAgent|meta\-externalfetcher|Meta\-ExternalFetcher|meta\-webindexer|MistralAI\-User|MistralAI\-User/1\.0|Mozilla\-Tabstack|MyCentralAIScraperBot|NagetBot|netEstate\ Imprint\ Crawler|newsai|NotebookLM|NovaAct|OAI\-SearchBot|omgili|omgilibot|OpenAI|opencode|Operator|PanguBot|Panscient|panscient\.com|Perplexity\-User|PerplexityBot|PetalBot|PhindBot|Poggio\-Citations|Poseidon\ Research\ Crawler|QualifiedBot|Querit\-SearchBot|QueritBot|QuillBot|quillbot\.com|SBIntuitionsBot|Scrapy|SemrushBot\-OCOB|SemrushBot\-SWA|Shap\-User|ShapBot|Sidetrade\ indexer\ bot|Spider|TavilyBot|Terra\ Cotta|TerraCotta|Thinkbot|TikTokSpider|Timpibot|TongyiBot|Trae|TwinAgent|UseAI|VelenPublicWebCrawler|WARDBot|Webzio\-Extended|webzio\-extended|wpbot|WRTNBot|YaK|YandexAdditional|YandexAdditionalBot|YiyanBot|YouBot|ZanistaBot)") {
- set $block 1;
-}
-
-if ($request_uri = "/robots.txt") {
- set $block 0;
-}
-
-if ($block) {
- return 403;
-}
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
deleted file mode 100644
index 664e86d..0000000
--- a/requirements.txt
+++ /dev/null
@@ -1,3 +0,0 @@
-beautifulsoup4
-lxml
-requests
diff --git a/robots.json b/robots.json
index a233292..1c00b63 100644
--- a/robots.json
+++ b/robots.json
@@ -1,18 +1,4 @@
{
- "AddSearchBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Search Crawlers",
- "frequency": "Unclear at this time.",
- "description": "AddSearchBot is a web crawler that indexes website content for AddSearch's AI-powered site search solution, collecting data to provide fast and accurate search results. More info can be found at https://knownagents.com/agents/addsearchbot"
- },
- "AgentTimes": {
- "operator": "[The Agent Times](https://theagenttimes.com/about)",
- "respect": "Unclear at this time.",
- "function": "Data Scraper from RSS Feeds.",
- "frequency": "Requests RSS feed every 5-6 minutes.",
- "description": "Scrapes data for AI news aggregation and republishing."
- },
"AI2Bot": {
"operator": "[Ai2](https://allenai.org/crawler)",
"respect": "Yes",
@@ -20,47 +6,12 @@
"frequency": "No information provided.",
"description": "Explores 'certain domains' to find web content."
},
- "AI2Bot-DeepResearchEval": {
- "operator": "Ai2, a non-profit AI research institute",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "Ai2Bot-DeepResearchEval is operated by Ai2, a non-profit AI research institute. It's used to collect and scan resources used in deep research queries performed by Ai2's o\u2026 More info can be found at https://knownagents.com/agents/ai2bot-deepresearcheval"
- },
"Ai2Bot-Dolma": {
- "operator": "[Ai2](https://allenai.org/crawler)",
- "respect": "Yes",
+ "description": "Explores 'certain domains' to find web content.",
+ "frequency": "No information provided.",
"function": "Content is used to train open language models.",
- "frequency": "No information provided.",
- "description": "Explores 'certain domains' to find web content."
- },
- "aiHitBot": {
- "operator": "[aiHit](https://www.aihitdata.com/about)",
- "respect": "Yes",
- "function": "A massive, artificial intelligence/machine learning, automated system.",
- "frequency": "No information provided.",
- "description": "Scrapes data for AI systems."
- },
- "AIWebIndex": {
- "operator": "Lyrenth that builds an AI-readable index of web content for AI systems",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "AIWebIndex is a web crawler operated by Lyrenth that builds an AI-readable index of web content for AI systems. More info can be found at https://knownagents.com/agents/aiwebindex"
- },
- "amazon-kendra": {
- "operator": "Amazon",
- "respect": "Yes",
- "function": "Collects data for AI natural language search",
- "frequency": "No information provided.",
- "description": "Amazon Kendra is a highly accurate intelligent search service that enables your users to search unstructured data using natural language. It returns specific answers to questions, giving users an experience that's close to interacting with a human expert. It is highly scalable and capable of meeting performance demands, tightly integrated with other AWS services such as Amazon S3 and Amazon Lex, and offers enterprise-grade security."
- },
- "amazon-QBusiness": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "amazon-QBusiness is an Amazon Q Business web crawler that fetches and indexes web content for Amazon Q Business applications. More info can be found at https://knownagents.com/agents/amazon-qbusiness"
+ "operator": "[Ai2](https://allenai.org/crawler)",
+ "respect": "Yes"
},
"Amazonbot": {
"operator": "Amazon",
@@ -69,41 +20,6 @@
"frequency": "No information provided.",
"description": "Includes references to crawled website when surfacing answers via Alexa; does not clearly outline other uses."
},
- "AmazonBuyForMe": {
- "operator": "[Amazon](https://amazon.com)",
- "respect": "Unclear at this time.",
- "function": "AI Agents",
- "frequency": "No information provided.",
- "description": "AmazonBuyForMe is an Amazon bot that crawls websites as part of the Amazon Buy For Me service. This bot visits product pages and e-commerce websites to gather product inf\u2026 More info can be found at https://knownagents.com/agents/amazonbuyforme"
- },
- "Amzn-SearchBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Search Crawlers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/amzn-searchbot"
- },
- "Amzn-User": {
- "operator": "Amazon, used for fetching web content to answer user queries through Alexa and other Amazon AI services",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "Amzn-User is an AI assistant operated by Amazon, used for fetching web content to answer user queries through Alexa and other Amazon AI services. More info can be found at https://knownagents.com/agents/amzn-user"
- },
- "Andibot": {
- "operator": "[Andi](https://andisearch.com/)",
- "respect": "Unclear at this time",
- "function": "Search engine using generative AI, AI Search Assistant",
- "frequency": "No information provided.",
- "description": "Scrapes website and provides AI summary."
- },
- "Anomura": {
- "operator": "[Direqt](https://direqt.ai)",
- "respect": "Yes",
- "function": "Collects data for AI search",
- "frequency": "No information provided.",
- "description": "Anomura is Direqt's search crawler, it discovers and indexes pages their customers websites."
- },
"anthropic-ai": {
"operator": "[Anthropic](https://www.anthropic.com)",
"respect": "Unclear at this time.",
@@ -111,26 +27,12 @@
"frequency": "No information provided.",
"description": "Scrapes data to train LLMs and AI products offered by Anthropic."
},
- "ApifyBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "ApifyBot is a web scraping and data extraction crawler by Apify that collects website content for use in AI, LLMs, RAG, and automation workflows. More info can be found at https://knownagents.com/agents/apifybot"
- },
- "ApifyWebsiteContentCrawler": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "ApifyWebsiteContentCrawler is a web crawler by Apify that extracts and downloads full website content for use in AI, data analysis, and automation workflows. More info can be found at https://knownagents.com/agents/apifywebsitecontentcrawler"
- },
"Applebot": {
"operator": "Unclear at this time.",
"respect": "Unclear at this time.",
"function": "AI Search Crawlers",
"frequency": "Unclear at this time.",
- "description": "Applebot is a web crawler used by Apple to index search results that allow the Siri AI Assistant to answer user questions. Siri's answers normally contain references to the website. More info can be found at https://knownagents.com/agents/applebot"
+ "description": "Applebot is a web crawler used by Apple to index search results that allow the Siri AI Assistant to answer user questions. Siri's answers normally contain references to the website. More info can be found at https://darkvisitors.com/agents/agents/applebot"
},
"Applebot-Extended": {
"operator": "[Apple](https://support.apple.com/en-us/119829#datausage)",
@@ -139,76 +41,6 @@
"frequency": "Unclear at this time.",
"description": "Apple has a secondary user agent, Applebot-Extended ... [that is] used to train Apple's foundation models powering generative AI features across Apple products, including Apple Intelligence, Services, and Developer Tools."
},
- "Aranet-SearchBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "Undocumented AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/aranet-searchbot"
- },
- "atlassian-bot": {
- "operator": "[Atlassian](https://www.atlassian.com)",
- "respect": "[Yes](https://support.atlassian.com/organization-administration/docs/connect-custom-website-to-rovo/#Editing-your-robots.txt)",
- "function": "AI search, assistants and agents",
- "frequency": "No information provided.",
- "description": "atlassian-bot is a web crawler used to index website content for its AI search, assistants and agents available in its Rovo GenAI product."
- },
- "Awario": {
- "operator": "Awario",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Awario is an AI data scraper operated by Awario. It's not currently known to be artificially intelligent or AI-related. If you think that's incorrect or can provide more detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/awario"
- },
- "AzureAI-SearchBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Search Crawlers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/azureai-searchbot"
- },
- "bedrockbot": {
- "operator": "[Amazon](https://amazon.com)",
- "respect": "[Yes](https://docs.aws.amazon.com/bedrock/latest/userguide/webcrawl-data-source-connector.html#configuration-webcrawl-connector)",
- "function": "Data scraping for custom AI applications.",
- "frequency": "Unclear at this time.",
- "description": "Connects to and crawls URLs that have been selected for use in a user's AWS bedrock application."
- },
- "bigsur.ai": {
- "operator": "Big Sur AI that fetches website content to enable AI-powered web agents, sales assistants, and content marketing solutions for busi\u2026",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "bigsur.ai is a web crawler operated by Big Sur AI that fetches website content to enable AI-powered web agents, sales assistants, and content marketing solutions for busi\u2026 More info can be found at https://knownagents.com/agents/bigsur-ai"
- },
- "Bravebot": {
- "operator": "https://safe.search.brave.com/help/brave-search-crawler",
- "respect": "Yes",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "Bravebot is a web crawler by Brave that indexes pages for Brave Search, providing search data and AI-optimized context to power chatbots, agents, and RAG pipelines. More info can be found at https://knownagents.com/agents/bravebot"
- },
- "Brightbot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "Brightbot is a web data collection crawler by Bright Data that extracts and structures public website content at scale, providing AI-ready data for model training, RAG pi\u2026 More info can be found at https://knownagents.com/agents/brightbot"
- },
- "Brightbot 1.0": {
- "operator": "https://brightdata.com/brightbot",
- "respect": "Unclear at this time.",
- "function": "LLM/AI training.",
- "frequency": "At least one per minute.",
- "description": "Scrapes data to train LLMs and AI products focused on website customer support, [uses residential IPs and legit-looking user-agents to disguise itself](https://ksol.io/en/blog/posts/brightbot-not-that-bright/)."
- },
- "BuddyBot": {
- "operator": "[BuddyBotLearning](https://www.buddybotlearning.com)",
- "respect": "Unclear at this time.",
- "function": "AI Learning Companion",
- "frequency": "Unclear at this time.",
- "description": "BuddyBot is a voice-controlled AI learning companion targeted at childhooded STEM education."
- },
"Bytespider": {
"operator": "ByteDance",
"respect": "No",
@@ -223,61 +55,19 @@
"frequency": "Monthly at present.",
"description": "Web archive going back to 2008. [Cited in thousands of research papers per year](https://commoncrawl.org/research-papers)."
},
- "Channel3Bot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Search Crawlers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/channel3bot"
- },
- "ChatGLM-Spider": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/chatglm-spider"
- },
- "ChatGPT Agent": {
- "operator": "[OpenAI](https://openai.com)",
- "respect": "Yes",
- "function": "AI Agents",
- "frequency": "Unclear at this time.",
- "description": "ChatGPT Agent is an AI agent created by OpenAI that can use a web browser. It can intelligently navigate and interact with websites to complete multi-step tasks on behalf\u2026 More info can be found at https://knownagents.com/agents/chatgpt-agent"
- },
"ChatGPT-User": {
"operator": "[OpenAI](https://openai.com)",
"respect": "Yes",
- "function": "AI Assistants",
+ "function": "Takes action based on user prompts.",
"frequency": "Only when prompted by a user.",
- "description": "ChatGPT-User is OpenAI's web crawler that visits websites when ChatGPT users request information. This enables ChatGPT to include links in its responses. More info can be found at https://knownagents.com/agents/chatgpt-user"
- },
- "Claude-Code": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Coding Agents",
- "frequency": "Unclear at this time.",
- "description": "Claude Code is an AI coding agent by Anthropic that can build, debug, and ship code directly from the terminal, handling tasks like codebase onboarding, multi-file edits,\u2026 More info can be found at https://knownagents.com/agents/claude-code"
- },
- "Claude-SearchBot": {
- "operator": "[Anthropic](https://www.anthropic.com)",
- "respect": "[Yes](https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler)",
- "function": "Claude-SearchBot navigates the web to improve search result quality for users. It analyzes online content specifically to enhance the relevance and accuracy of search responses.",
- "frequency": "No information provided.",
- "description": "Claude-SearchBot navigates the web to improve search result quality for users. It analyzes online content specifically to enhance the relevance and accuracy of search responses."
- },
- "Claude-User": {
- "operator": "[Anthropic](https://www.anthropic.com)",
- "respect": "[Yes](https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler)",
- "function": "AI Assistants",
- "frequency": "No information provided.",
- "description": "Claude-User is dispatched by Anthropic's Claude AI assistant in response to user prompts, when it needs to fetch content to include in its answers. More info can be found at https://knownagents.com/agents/claude-user"
+ "description": "Used by plugins in ChatGPT to answer queries based on user input."
},
"Claude-Web": {
- "operator": "Anthropic",
+ "operator": "[Anthropic](https://www.anthropic.com)",
"respect": "Unclear at this time.",
- "function": "Undocumented AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Claude-Web is an AI-related agent operated by Anthropic. It's currently unclear exactly what it's used for, since there's no official documentation. If you can provide more detail, please contact us. More info can be found at https://knownagents.com/agents/claude-web"
+ "function": "Scrapes data to train Anthropic's AI products.",
+ "frequency": "No information provided.",
+ "description": "Scrapes data to train LLMs and AI products offered by Anthropic."
},
"ClaudeBot": {
"operator": "[Anthropic](https://www.anthropic.com)",
@@ -286,27 +76,6 @@
"frequency": "No information provided.",
"description": "Scrapes data to train LLMs and AI products offered by Anthropic."
},
- "Cloudflare-AutoRAG": {
- "operator": "[Cloudflare](https://developers.cloudflare.com/autorag)",
- "respect": "Yes",
- "function": "Collects data for AI search",
- "frequency": "Unclear at this time.",
- "description": "AutoRAG is an all-in-one AI search solution."
- },
- "CloudVertexBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "CloudVertexBot is a Google-operated crawler available to site owners to request targeted crawls of their own sites for AI training purposes on the Vertex AI platform. More info can be found at https://knownagents.com/agents/cloudvertexbot"
- },
- "Code": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Coding Agents",
- "frequency": "Unclear at this time.",
- "description": "Code (GitHub Copilot) is an AI coding agent that can autonomously plan, build, and execute development tasks, functioning as a collaborative AI pair programmer. More info can be found at https://knownagents.com/agents/code"
- },
"cohere-ai": {
"operator": "[Cohere](https://cohere.com)",
"respect": "Unclear at this time.",
@@ -319,98 +88,21 @@
"respect": "Unclear at this time.",
"function": "AI Data Scrapers",
"frequency": "Unclear at this time.",
- "description": "cohere-training-data-crawler is a web crawler operated by Cohere to download training data for its LLMs (Large Language Models) that power its enterprise AI products. More info can be found at https://knownagents.com/agents/cohere-training-data-crawler"
- },
- "Cotoyogi": {
- "operator": "[ROIS](https://ds.rois.ac.jp/en_center8/en_crawler/)",
- "respect": "Yes",
- "function": "AI LLM Scraper.",
- "frequency": "No information provided.",
- "description": "Scrapes data for AI training in Japanese language."
- },
- "CragCrawler": {
- "operator": "CragSoftware, a Brazil-based software company specializing in data engineering and AI web scraping services",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "CragCrawler is a web scraping bot operated by CragSoftware, a Brazil-based software company specializing in data engineering and AI web scraping services. The bot is used\u2026 More info can be found at https://knownagents.com/agents/cragcrawler"
- },
- "Crawl4AI": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "Undocumented AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/crawl4ai"
- },
- "Crawlspace": {
- "operator": "[Crawlspace](https://crawlspace.dev)",
- "respect": "[Yes](https://news.ycombinator.com/item?id=42756654)",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "Crawlspace is a web crawler platform that fetches and extracts website content for AI agents, RAG applications, and structured data workflows. More info can be found at https://knownagents.com/agents/crawlspace"
- },
- "Cursor": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Coding Agents",
- "frequency": "Unclear at this time.",
- "description": "Cursor is an AI coding agent that helps write, edit, and understand code. More info can be found at https://knownagents.com/agents/cursor"
- },
- "Datenbank Crawler": {
- "operator": "Datenbank",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Datenbank Crawler is an AI data scraper operated by Datenbank. It's not currently known to be artificially intelligent or AI-related. If you think that's incorrect or can provide more detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/datenbank-crawler"
- },
- "DeepSeekBot": {
- "operator": "DeepSeek",
- "respect": "No",
- "function": "Training language models and improving AI products",
- "frequency": "Unclear at this time.",
- "description": "DeepSeekBot is a web crawler used by DeepSeek to train its language models and improve its AI products."
- },
- "Devin": {
- "operator": "Devin AI",
- "respect": "Yes",
- "function": "AI Coding Agents",
- "frequency": "Unclear at this time.",
- "description": "Devin is a software engineering AI assistant that can browse websites and perform web-based tasks, functioning as a collaborative AI teammate for engineering teams. More info can be found at https://knownagents.com/agents/devin"
+ "description": "cohere-training-data-crawler is a web crawler operated by Cohere to download training data for its LLMs (Large Language Models) that power its enterprise AI products. More info can be found at https://darkvisitors.com/agents/agents/cohere-training-data-crawler"
},
"Diffbot": {
"operator": "[Diffbot](https://www.diffbot.com/)",
"respect": "At the discretion of Diffbot users.",
- "function": "AI Data Providers",
+ "function": "Aggregates structured web data for monitoring and AI model training.",
"frequency": "Unclear at this time.",
- "description": "Diffbot is a web crawler that extracts and structures website content using AI-powered visual understanding, providing knowledge graph data for applications like market i\u2026 More info can be found at https://knownagents.com/agents/diffbot"
+ "description": "Diffbot is an application used to parse web pages into structured data; this data is used for monitoring or AI model training."
},
"DuckAssistBot": {
"operator": "Unclear at this time.",
"respect": "Unclear at this time.",
"function": "AI Assistants",
"frequency": "Unclear at this time.",
- "description": "DuckAssistBot is a web crawler that scans websites to collect content for DuckDuckGo's AI-assisted answers feature, which generates brief responses to search queries usin\u2026 More info can be found at https://knownagents.com/agents/duckassistbot"
- },
- "Echobot Bot": {
- "operator": "Echobox",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Echobot Bot is an AI data scraper operated by Echobox. It's not currently known to be artificially intelligent or AI-related. If you think that's incorrect or can provide more detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/echobot-bot"
- },
- "EchoboxBot": {
- "operator": "[Echobox](https://echobox.com)",
- "respect": "Unclear at this time.",
- "function": "Data collection to support AI-powered products.",
- "frequency": "Unclear at this time.",
- "description": "Supports company's AI-powered social and email management products."
- },
- "ExaBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "ExaBot is a web crawler that indexes web content to power Exa's AI search engine and semantic search APIs for AI applications. More info can be found at https://knownagents.com/agents/exabot"
+ "description": "DuckAssistBot is used by DuckDuckGo's DuckAssist feature to fetch content and generate realtime AI answers to user searches. More info can be found at https://darkvisitors.com/agents/agents/duckassistbot"
},
"FacebookBot": {
"operator": "Meta/Facebook",
@@ -419,27 +111,6 @@
"frequency": "Up to 1 page per second",
"description": "Officially used for training Meta \"speech recognition technology,\" unknown if used to train Meta AI specifically."
},
- "facebookexternalhit": {
- "operator": "Meta/Facebook",
- "respect": "[No](https://github.com/ai-robots-txt/ai.robots.txt/issues/40#issuecomment-2524591313)",
- "function": "Ostensibly only for sharing, but likely used as an AI crawler as well",
- "frequency": "Unclear at this time.",
- "description": "Note that excluding FacebookExternalHit will block incorporating OpenGraph data when sharing in social media, including rich links in Apple's Messages app. [According to Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/), its purpose is \"to crawl the content of an app or website that was shared on one of Meta\u2019s family of apps\u2026\". However, see discussions [here](https://github.com/ai-robots-txt/ai.robots.txt/pull/21) and [here](https://github.com/ai-robots-txt/ai.robots.txt/issues/40#issuecomment-2524591313) for evidence to the contrary."
- },
- "Factset_spyderbot": {
- "operator": "[Factset](https://www.factset.com/ai)",
- "respect": "Unclear at this time.",
- "function": "AI model training.",
- "frequency": "No information provided.",
- "description": "Scrapes data for AI training."
- },
- "FirecrawlAgent": {
- "operator": "Firecrawl that extracts web content and converts it into structured data for use in LLM and AI applications",
- "respect": "Yes",
- "function": "AI Data Providers",
- "frequency": "No information provided.",
- "description": "FirecrawlAgent is a web crawler operated by Firecrawl that extracts web content and converts it into structured data for use in LLM and AI applications. More info can be found at https://knownagents.com/agents/firecrawlagent"
- },
"FriendlyCrawler": {
"description": "Unclear who the operator is; but data is used for training/machine learning.",
"frequency": "Unclear at this time.",
@@ -447,34 +118,6 @@
"operator": "Unknown",
"respect": "[Yes](https://imho.alex-kunz.com/2024/01/25/an-update-on-friendly-crawler)"
},
- "GeistHaus-PageFetcher": {
- "operator": "GeistHaus, a company developing AI systems for therapy and psychological assessment",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "GeistHaus-PageFetcher is a web crawler operated by GeistHaus, a company developing AI systems for therapy and psychological assessment. This bot fetches web pages as part\u2026 More info can be found at https://knownagents.com/agents/geisthaus-pagefetcher"
- },
- "Gemini-Deep-Research": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "Gemini-Deep-Research is the agent responsible for collecting and scanning resources used in Google Gemini's Deep Research feature, which acts as a personal research assis\u2026 More info can be found at https://knownagents.com/agents/gemini-deep-research"
- },
- "Google-Agent": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Google-Agent is used by agents hosted on Google infrastructure to navigate the web and perform actions upon user request. More info can be found at https://knownagents.com/agents/google-agent"
- },
- "Google-CloudVertexBot": {
- "operator": "Google",
- "respect": "[Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers)",
- "function": "Build and manage AI models for businesses employing Vertex AI",
- "frequency": "No information.",
- "description": "Google-CloudVertexBot crawls sites on the site owners' request when building Vertex AI Agents."
- },
"Google-Extended": {
"operator": "Google",
"respect": "[Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers)",
@@ -482,47 +125,12 @@
"frequency": "No information.",
"description": "Used to train Gemini and Vertex AI generative APIs. Does not impact a site's inclusion or ranking in Google Search."
},
- "Google-Firebase": {
- "operator": "Google",
- "respect": "Unclear at this time.",
- "function": "Used as part of AI apps developed by users of Google's Firebase AI products.",
- "frequency": "Unclear at this time.",
- "description": "Supports Google's Firebase AI products."
- },
- "Google-Gemini-CLI": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Coding Agents",
- "frequency": "Unclear at this time.",
- "description": "Gemini CLI is an AI coding agent by Google that can query and edit large codebases, generate apps from images or PDFs, and automate complex workflows directly from the te\u2026 More info can be found at https://knownagents.com/agents/google-gemini-cli"
- },
- "Google-NotebookLM": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "Google-NotebookLM is an AI-powered research and note-taking assistant that helps users synthesize information from uploaded sources like documents, transcripts, or web co\u2026 More info can be found at https://knownagents.com/agents/google-notebooklm"
- },
- "GoogleAgent-Mariner": {
- "operator": "Google",
- "respect": "Unclear at this time.",
- "function": "AI Agents",
- "frequency": "Unclear at this time.",
- "description": "GoogleAgent-Mariner is an AI agent created by Google that can use a web browser. It can intelligently navigate and interact with websites to complete multi-step tasks on \u2026 More info can be found at https://knownagents.com/agents/googleagent-mariner"
- },
- "GoogleAgent-URLContext": {
- "operator": "Google that retrieves web content on behalf of Gemini API users",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "GoogleAgent-URLContext is a web fetcher operated by Google that retrieves web content on behalf of Gemini API users. When a developer provides a URL as context in a Gemin\u2026 More info can be found at https://knownagents.com/agents/googleagent-urlcontext"
- },
"GoogleOther": {
- "operator": "Google",
- "respect": "[Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers)",
- "function": "Scrapes data.",
+ "description": "\"Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development.\"",
"frequency": "No information.",
- "description": "\"Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development.\""
+ "function": "Scrapes data.",
+ "operator": "Google",
+ "respect": "[Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers)"
},
"GoogleOther-Image": {
"description": "\"Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development.\"",
@@ -545,27 +153,6 @@
"frequency": "No information.",
"description": "Data is used to train current and future models, removed paywalled data, PII and data that violates the company's policies."
},
- "HenkBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "Henkbot crawls the web on behalf of Valyu, an AI search infrastructure provider that indexes content for use in AI-powered retrieval pipelines. More info can be found at https://knownagents.com/agents/henkbot"
- },
- "iAskBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "Undocumented AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/iaskbot"
- },
- "iaskspider": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "Undocumented AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/iaskspider"
- },
"iaskspider/2.0": {
"description": "Used to provide answers to user queries.",
"frequency": "Unclear at this time.",
@@ -573,34 +160,20 @@
"operator": "iAsk",
"respect": "No"
},
- "IbouBot": {
- "operator": "Ibou",
- "respect": "Yes",
- "function": "Search result generation.",
- "frequency": "Unclear at this time.",
- "description": "Ibou.io operates a crawler service named IbouBot which fuels and updates their graph representation of the World Wide Web. This database and all the metrics are used to provide a search engine."
- },
"ICC-Crawler": {
- "operator": "[NICT](https://nict.go.jp)",
- "respect": "Yes",
- "function": "Scrapes data to train and support AI technologies.",
+ "description": "Use the collected data for artificial intelligence technologies; provide data to third parties, including commercial companies; those companies can use the data for their own business.",
"frequency": "No information.",
- "description": "Use the collected data for artificial intelligence technologies; provide data to third parties, including commercial companies; those companies can use the data for their own business."
+ "function": "Scrapes data to train and support AI technologies.",
+ "operator": "[NICT](https://nict.go.jp)",
+ "respect": "Yes"
},
"ImagesiftBot": {
- "description": "Once images and text are downloaded from a webpage, ImageSift analyzes this data from the page and stores the information in an index. Their web intelligence products use this index to enable search and retrieval of similar images.",
+ "description": "Once images and text are downloaded from a webpage, ImageSift analyzes this data from the page and stores the information in an index. Our web intelligence products use this index to enable search and retrieval of similar images.",
"frequency": "No information.",
- "function": "ImageSiftBot is a web crawler that scrapes the internet for publicly available images to support their suite of web intelligence products",
+ "function": "ImageSiftBot is a web crawler that scrapes the internet for publicly available images to support our suite of web intelligence products",
"operator": "[ImageSift](https://imagesift.com)",
"respect": "[Yes](https://imagesift.com/about)"
},
- "imageSpider": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/imagespider"
- },
"img2dataset": {
"description": "Downloads large sets of images into datasets for LLM training or other purposes.",
"frequency": "At the discretion of img2dataset users.",
@@ -615,187 +188,26 @@
"operator": "[ISS-Corporate](https://iss-cyber.com)",
"respect": "No"
},
- "kagi-fetcher": {
- "operator": "Kagi that fetches web content to answer user queries through Kagi AI, their suite of AI-powered tools including Assistant, Res\u2026",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "kagi-fetcher is an AI Assistant operated by Kagi that fetches web content to answer user queries through Kagi AI, their suite of AI-powered tools including Assistant, Res\u2026 More info can be found at https://knownagents.com/agents/kagi-fetcher"
- },
"Kangaroo Bot": {
"operator": "Unclear at this time.",
"respect": "Unclear at this time.",
"function": "AI Data Scrapers",
"frequency": "Unclear at this time.",
- "description": "Kangaroo Bot is used by the company Kangaroo LLM to download data to train AI models tailored to Australian language and culture. More info can be found at https://knownagents.com/agents/kangaroo-bot"
+ "description": "Kangaroo Bot is used by the company Kangaroo LLM to download data to train AI models tailored to Australian language and culture. More info can be found at https://darkvisitors.com/agents/agents/kangaroo-bot"
},
- "Kimi-User": {
- "operator": "Moonshot AI that fetches web content on behalf of users interacting with Kimi",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "Kimi-User is a web crawler operated by Moonshot AI that fetches web content on behalf of users interacting with Kimi. When a user asks Kimi to summarize an article or ans\u2026 More info can be found at https://knownagents.com/agents/kimi-user"
- },
- "KlaviyoAIBot": {
- "operator": "[Klaviyo](https://www.klaviyo.com)",
- "respect": "[Yes](https://help.klaviyo.com/hc/en-us/articles/40496146232219)",
- "function": "AI Assistants",
- "frequency": "Indexes based on 'change signals' and user configuration.",
- "description": "KlaviyoAIBot is Klaviyo's web crawler that fetches publicly available pages from domains explicitly connected to user accounts to power the Kai Customer Agent feature. Th\u2026 More info can be found at https://knownagents.com/agents/klaviyoaibot"
- },
- "KunatoCrawler": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "Undocumented AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/kunatocrawler"
- },
- "laion-huggingface-processor": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/laion-huggingface-processor"
- },
- "LAIONDownloader": {
- "operator": "[Large-scale Artificial Intelligence Open Network](https://laion.ai/)",
- "respect": "[No](https://laion.ai/faq/)",
- "function": "AI tools and models for machine learning research.",
- "frequency": "Unclear at this time.",
- "description": "LAIONDownloader is a bot by LAION, a non-profit organization that provides datasets, tools and models to liberate machine learning research."
- },
- "LCC": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/lcc"
- },
- "LinerBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "LinerBot is the web crawler used by Liner AI assistant to gather information from academic sources and websites to provide accurate answers with line-by-line source citat\u2026 More info can be found at https://knownagents.com/agents/linerbot"
- },
- "Linguee Bot": {
- "operator": "[Linguee](https://www.linguee.com)",
- "respect": "No",
- "function": "AI powered translation service",
- "frequency": "Unclear at this time.",
- "description": "Linguee Bot is a web crawler used by Linguee to gather training data for its AI powered translation service."
- },
- "LinkupBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Search Crawlers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/linkupbot"
- },
- "Manus-User": {
- "operator": "Butterfly Effect, a company based in China",
- "respect": "Unclear at this time.",
- "function": "AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Manus-User is a browser-enabled AI agent operated by Butterfly Effect, a company based in China. It autonomously navigates websites, interprets content, and carries out m\u2026 More info can be found at https://knownagents.com/agents/manus-user"
- },
- "meta-externalagent": {
+ "Meta-ExternalAgent": {
"operator": "[Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers)",
- "respect": "Yes",
+ "respect": "Yes.",
"function": "Used to train models and improve products.",
"frequency": "No information.",
"description": "\"The Meta-ExternalAgent crawler crawls the web for use cases such as training AI models or improving products by indexing content directly.\""
},
- "Meta-ExternalAgent": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Meta-ExternalAgent is a web crawler used by Meta to download training data for its AI models and improve its products by indexing content directly. More info can be found at https://knownagents.com/agents/meta-externalagent"
- },
- "meta-externalfetcher": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "meta-externalfetcher is used by Meta to perform user-initiated fetches of individual links from AI assistant product functions. More info can be found at https://knownagents.com/agents/meta-externalfetcher"
- },
"Meta-ExternalFetcher": {
"operator": "Unclear at this time.",
"respect": "Unclear at this time.",
"function": "AI Assistants",
"frequency": "Unclear at this time.",
- "description": "Meta-ExternalFetcher is dispatched by Meta AI products in response to user prompts, when they need to fetch an individual links. More info can be found at https://knownagents.com/agents/meta-externalfetcher"
- },
- "meta-webindexer": {
- "operator": "[Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/)",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unhinged, more than 1 per second.",
- "description": "As per their documentation, \"The Meta-WebIndexer crawler navigates the web to improve Meta AI search result quality for users. In doing so, Meta analyzes online content to enhance the relevance and accuracy of Meta AI. Allowing Meta-WebIndexer in your robots.txt file helps us cite and link to your content in Meta AI's responses.\""
- },
- "MistralAI-User": {
- "operator": "Mistral",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "MistralAI-User is Mistral's AI assistant bot that performs web browsing and data gathering tasks for users in Le Chat, including opening web pages and retrieving informat\u2026 More info can be found at https://knownagents.com/agents/mistralai-user"
- },
- "MistralAI-User/1.0": {
- "operator": "Mistral AI",
- "function": "Takes action based on user prompts.",
- "frequency": "Only when prompted by a user.",
- "description": "MistralAI-User is for user actions in LeChat. When users ask LeChat a question, it may visit a web page to help answer and include a link to the source in its response.",
- "respect": "Yes"
- },
- "Mozilla-Tabstack": {
- "operator": "[Mozilla](https://docs.tabstack.ai/trust/controlling-access)",
- "respect": "Yes",
- "function": "AI Data Providers",
- "frequency": "On demand via API.",
- "description": "Tabstack is a web intelligence API for AI agents. It extracts structured data from web pages and makes it available to AI agents."
- },
- "MyCentralAIScraperBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI data scraper",
- "frequency": "Unclear at this time.",
- "description": "Operator and data use is unclear at this time."
- },
- "NagetBot": {
- "operator": "Naget Inc (founded by Chris Samarinas, headquarter in Amherst, Massachusetts)",
- "respect": "Unclear at this time.",
- "function": "AI data scraper",
- "frequency": "Unclear at this time.",
- "description": "'Naget revolutionizes content discovery through an AI-powered ecosystem that transforms how we generate, organize, share, and discover valuable content.' (https://naget.com/) User-agent string links https://naget.ai/bot which yields 404."
- },
- "netEstate Imprint Crawler": {
- "operator": "netEstate",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "netEstate Imprint Crawler is an AI data scraper operated by netEstate. If you think this is incorrect or can provide additional detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/netestate-imprint-crawler"
- },
- "newsai": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI data scraper",
- "frequency": "Unclear at this time.",
- "description": "User-agent string doen't contain an URL and there multiple sites using the newsai brand."
- },
- "NotebookLM": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "NotebookLM is an AI-powered research and note-taking assistant that helps users synthesize information from their own uploaded sources, such as documents, transcripts, or web content. It can generate summaries, answer questions, and highlight key themes from the materials you provide, acting like a personalized research companion built on Google's Gemini model. NotebookLM fetches source URLs when users add them to their notebooks, enabling the AI to access and analyze those pages for context and insights. More info can be found at https://knownagents.com/agents/google-notebooklm"
- },
- "NovaAct": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Nova Act is an AI agent created by Amazon that can use a web browser. It can intelligently navigate and interact with websites to complete multi-step tasks on behalf of a\u2026 More info can be found at https://knownagents.com/agents/novaact"
+ "description": "Meta-ExternalFetcher is dispatched by Meta AI products in response to user prompts, when they need to fetch an individual links. More info can be found at https://darkvisitors.com/agents/agents/meta-externalfetcher"
},
"OAI-SearchBot": {
"operator": "[OpenAI](https://openai.com)",
@@ -818,131 +230,26 @@
"operator": "[Webz.io](https://webz.io/)",
"respect": "[Yes](https://web.archive.org/web/20170704003301/http://omgili.com/Crawler.html)"
},
- "OpenAI": {
- "operator": "[OpenAI](https://openai.com)",
- "respect": "Yes",
- "function": "Unclear at this time.",
- "frequency": "Unclear at this time.",
- "description": "The purpose of this bot is unclear at this time but it is a member of OpenAI's suite of crawlers."
- },
- "opencode": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Coding Agents",
- "frequency": "Unclear at this time.",
- "description": "OpenCode is an open-source AI coding agent that helps developers write code from the terminal, IDE, or desktop, supporting multiple LLM providers and local models. More info can be found at https://knownagents.com/agents/opencode"
- },
- "Operator": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Operator is an AI agent created by OpenAI that can use a web browser. It can intelligently navigate and interact with websites to complete multi-step tasks on behalf of a human user. More info can be found at https://knownagents.com/agents/operator"
- },
"PanguBot": {
"operator": "the Chinese company Huawei",
"respect": "Unclear at this time.",
"function": "AI Data Scrapers",
"frequency": "Unclear at this time.",
- "description": "PanguBot is a web crawler operated by the Chinese company Huawei. It's used to download training data for its multimodal LLM (Large Language Model) called PanGu. More info can be found at https://knownagents.com/agents/pangubot"
- },
- "Panscient": {
- "operator": "[Panscient](https://panscient.com)",
- "respect": "[Yes](https://panscient.com/faq.htm)",
- "function": "Data collection and analysis using machine learning and AI.",
- "frequency": "The Panscient web crawler will request a page at most once every second from the same domain name or the same IP address.",
- "description": "Compiles data on businesses and business professionals that is structured using AI and machine learning."
- },
- "panscient.com": {
- "operator": "[Panscient](https://panscient.com)",
- "respect": "[Yes](https://panscient.com/faq.htm)",
- "function": "Data collection and analysis using machine learning and AI.",
- "frequency": "The Panscient web crawler will request a page at most once every second from the same domain name or the same IP address.",
- "description": "Compiles data on businesses and business professionals that is structured using AI and machine learning."
- },
- "Perplexity-User": {
- "operator": "[Perplexity](https://www.perplexity.ai/)",
- "respect": "[No](https://docs.perplexity.ai/guides/bots)",
- "function": "AI Assistants",
- "frequency": "Only when prompted by a user.",
- "description": "Perplexity-User supports user actions within Perplexity. When users ask Perplexity a question, it might visit a web page to help provide an accurate answer and include a \u2026 More info can be found at https://knownagents.com/agents/perplexity-user"
+ "description": "PanguBot is a web crawler operated by the Chinese company Huawei. It's used to download training data for its multimodal LLM (Large Language Model) called PanGu. More info can be found at https://darkvisitors.com/agents/agents/pangubot"
},
"PerplexityBot": {
"operator": "[Perplexity](https://www.perplexity.ai/)",
- "respect": "[Yes](https://docs.perplexity.ai/guides/bots)",
- "function": "Search result generation.",
- "frequency": "No information.",
- "description": "Crawls sites to surface as results in Perplexity."
+ "respect": "[No](https://www.macstories.net/stories/wired-confirms-perplexity-is-bypassing-efforts-by-websites-to-block-its-web-crawler/)",
+ "function": "Used to answer queries at the request of users.",
+ "frequency": "Takes action based on user prompts.",
+ "description": "Operated by Perplexity to obtain results in response to user queries."
},
"PetalBot": {
- "operator": "[Huawei](https://huawei.com/)",
- "respect": "Yes",
+ "description": "Operated by Huawei to provide search and AI assistant services.",
+ "frequency": "No explicit frequency provided.",
"function": "Used to provide recommendations in Hauwei assistant and AI search services.",
- "frequency": "No explicit frequency provided.",
- "description": "Operated by Huawei to provide search and AI assistant services."
- },
- "PhindBot": {
- "operator": "[phind](https://www.phind.com/)",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "No explicit frequency provided.",
- "description": "Phind is an AI-powered answer engine designed for developers, offering technical answers and code examples. It uses real-time web search and specialized AI models to prov\u2026 More info can be found at https://knownagents.com/agents/phindbot"
- },
- "Poggio-Citations": {
- "operator": "Poggio, a company that provides AI sales enablement tools for creating tailored narratives, business cases, and account plan\u2026",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "Poggio-Citations is a web crawler operated by Poggio, a company that provides AI sales enablement tools for creating tailored narratives, business cases, and account plan\u2026 More info can be found at https://knownagents.com/agents/poggio-citations"
- },
- "Poseidon Research Crawler": {
- "operator": "[Poseidon Research](https://www.poseidonresearch.com)",
- "description": "Lab focused on scaling the interpretability research necessary to make better AI systems possible.",
- "frequency": "No explicit frequency provided.",
- "function": "AI research crawler",
- "respect": "Unclear at this time."
- },
- "QualifiedBot": {
- "operator": "[Qualified](https://www.qualified.com)",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "No explicit frequency provided.",
- "description": "QualifiedBot is Qualified's web crawler that analyzes customer websites to provide contextual information for their AI-powered chatbots and conversational marketing platf\u2026 More info can be found at https://knownagents.com/agents/qualifiedbot"
- },
- "Querit-SearchBot": {
- "operator": "Querit that indexes web content for their search API service, which is designed to provide real-time search results for larg\u2026",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "Querit-SearchBot is a web crawler operated by Querit that indexes web content for their search API service, which is designed to provide real-time search results for larg\u2026 More info can be found at https://knownagents.com/agents/querit-searchbot"
- },
- "QueritBot": {
- "operator": "Querit, a company providing a search API for large language model integration",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "QueritBot is a web crawler operated by Querit, a company providing a search API for large language model integration. This bot indexes web content to power the real-time \u2026 More info can be found at https://knownagents.com/agents/queritbot"
- },
- "QuillBot": {
- "description": "Operated by QuillBot as part of their suite of AI product offerings.",
- "frequency": "No explicit frequency provided.",
- "function": "Company offers AI detection, writing tools and other services.",
- "operator": "[Quillbot](https://quillbot.com)",
- "respect": "Unclear at this time."
- },
- "quillbot.com": {
- "description": "Operated by QuillBot as part of their suite of AI product offerings.",
- "frequency": "No explicit frequency provided.",
- "function": "Company offers AI detection, writing tools and other services.",
- "operator": "[Quillbot](https://quillbot.com)",
- "respect": "Unclear at this time."
- },
- "SBIntuitionsBot": {
- "operator": "[SB Intuitions](https://www.sbintuitions.co.jp/en/)",
- "respect": "[Yes](https://www.sbintuitions.co.jp/en/bot/)",
- "function": "Uses data gathered in AI development and information analysis.",
- "frequency": "No information.",
- "description": "AI development and information analysis"
+ "operator": "[Huawei](https://huawei.com/)",
+ "respect": "Yes"
},
"Scrapy": {
"description": "\"AI and machine learning applications often need large amounts of quality data, and web data extraction is a fast, efficient way to build structured data sets.\"",
@@ -951,34 +258,6 @@
"operator": "[Zyte](https://www.zyte.com)",
"respect": "Unclear at this time."
},
- "SemrushBot-OCOB": {
- "operator": "[Semrush](https://www.semrush.com/)",
- "respect": "[Yes](https://www.semrush.com/bot/)",
- "function": "Crawls your site for ContentShake AI tool.",
- "frequency": "Roughly once every 10 seconds.",
- "description": "Data collected is used for the ContentShake AI tool reports."
- },
- "SemrushBot-SWA": {
- "operator": "[Semrush](https://www.semrush.com/)",
- "respect": "[Yes](https://www.semrush.com/bot/)",
- "function": "Checks URLs on your site for SEO Writing Assistant.",
- "frequency": "Roughly once every 10 seconds.",
- "description": "Data collected is used for the SEO Writing Assistant tool to check if URL is accessible."
- },
- "Shap-User": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "Shap-User accesses web content on behalf of users of Parallel Web Systems products. It identifies user-initiated requests rather than automatic web crawling. More info can be found at https://knownagents.com/agents/shap-user"
- },
- "ShapBot": {
- "operator": "[Parallel](https://parallel.ai)",
- "respect": "[Yes](https://docs.parallel.ai/features/crawler)",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "ShapBot is a web crawler by Parallel that collects and structures web content to power its search, extraction, and deep research APIs, providing AI agents with high-accur\u2026 More info can be found at https://knownagents.com/agents/shapbot"
- },
"Sidetrade indexer bot": {
"description": "AI product training.",
"frequency": "No information.",
@@ -986,48 +265,6 @@
"operator": "[Sidetrade](https://www.sidetrade.com)",
"respect": "Unclear at this time."
},
- "Spider": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/spider"
- },
- "TavilyBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "TavilyBot is a web crawler by Tavily that indexes and extracts content from billions of pages, providing real-time search, extraction, and research data to ground AI agen\u2026 More info can be found at https://knownagents.com/agents/tavilybot"
- },
- "Terra Cotta": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "Terra Cotta is Ceramic's web crawler that indexes public content to power their web-scale search API for AI and LLMs. More info can be found at https://knownagents.com/agents/terra-cotta"
- },
- "TerraCotta": {
- "operator": "[Ceramic AI](https://ceramic.ai/)",
- "respect": "[Yes](https://github.com/CeramicTeam/CeramicTerracotta)",
- "function": "AI Data Providers",
- "frequency": "Unclear at this time.",
- "description": "TerraCotta is Ceramic's web crawler that indexes public content to power their web-scale search API for AI and LLMs. More info can be found at https://knownagents.com/agents/terracotta"
- },
- "Thinkbot": {
- "operator": "[Thinkbot](https://www.thinkbot.agency)",
- "respect": "No",
- "function": "Insights on AI integration and automation.",
- "frequency": "Unclear at this time.",
- "description": "Collects data for analysis on AI usage and automation."
- },
- "TikTokSpider": {
- "operator": "ByteDance",
- "respect": "Unclear at this time.",
- "function": "LLM training.",
- "frequency": "Unclear at this time.",
- "description": "Downloads data to train LLMS, as per Bytespider."
- },
"Timpibot": {
"operator": "[Timpi](https://timpi.io)",
"respect": "Unclear at this time.",
@@ -1035,103 +272,19 @@
"frequency": "No information.",
"description": "Makes data available for training AI models."
},
- "TongyiBot": {
- "operator": "Alibaba that fetches web content for the Tongyi Qianwen assistant and related Qwen-generated answers",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "TongyiBot is a web crawler operated by Alibaba that fetches web content for the Tongyi Qianwen assistant and related Qwen-generated answers. More info can be found at https://knownagents.com/agents/tongyibot"
- },
- "Trae": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Coding Agents",
- "frequency": "Unclear at this time.",
- "description": "Trae is an AI-powered coding agent developed by ByteDance that can understand codebases, fetch web content, and generate code. More info can be found at https://knownagents.com/agents/trae"
- },
- "TwinAgent": {
- "operator": "Twin, a platform that creates automated workers to perform tasks by integrating with APIs and controlling web applications through browser automa\u2026",
- "respect": "Unclear at this time.",
- "function": "AI Agents",
- "frequency": "Unclear at this time.",
- "description": "TwinAgent is operated by Twin, a platform that creates automated workers to perform tasks by integrating with APIs and controlling web applications through browser automa\u2026 More info can be found at https://knownagents.com/agents/twinagent"
- },
- "UseAI": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "UseAI is a web crawler associated with Use AI, a platform that provides an AI workspace where users can chat with AI models, research the web, and perform various tasks. \u2026 More info can be found at https://knownagents.com/agents/useai"
- },
"VelenPublicWebCrawler": {
- "operator": "[Velen Crawler](https://velen.io)",
- "respect": "[Yes](https://velen.io)",
- "function": "Scrapes data for business data sets and machine learning models.",
+ "description": "\"Our goal with this crawler is to build business datasets and machine learning models to better understand the web.\"",
"frequency": "No information.",
- "description": "\"Our goal with this crawler is to build business datasets and machine learning models to better understand the web.\""
- },
- "WARDBot": {
- "operator": "WEBSPARK",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "WARDBot is an AI data scraper operated by WEBSPARK. It's not currently known to be artificially intelligent or AI-related. If you think that's incorrect or can provide more detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/wardbot"
+ "function": "Scrapes data for business data sets and machine learning models.",
+ "operator": "[Velen Crawler](https://velen.io)",
+ "respect": "[Yes](https://velen.io)"
},
"Webzio-Extended": {
"operator": "Unclear at this time.",
"respect": "Unclear at this time.",
"function": "AI Data Scrapers",
"frequency": "Unclear at this time.",
- "description": "Webzio-Extended is a web crawler used by Webz.io to maintain a repository of web crawl data that it sells to other companies, including those using it to train AI models. More info can be found at https://knownagents.com/agents/webzio-extended"
- },
- "webzio-extended": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Data Scrapers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/webzio-extended"
- },
- "wpbot": {
- "operator": "[QuantumCloud](https://www.quantumcloud.com)",
- "respect": "Unclear at this time; opt out provided via [Google Form](https://forms.gle/ajBaxygz9jSR8p8G9)",
- "function": "Live chat support and lead generation.",
- "frequency": "Unclear at this time.",
- "description": "wpbot is a used to support the functionality of the AI Chatbot for WordPress plugin. It supports the use of customer models, data collection and customer support."
- },
- "WRTNBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "Undocumented AI Agents",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/wrtnbot"
- },
- "YaK": {
- "operator": "[Meltwater](https://www.meltwater.com/en/suite/consumer-intelligence)",
- "respect": "Unclear at this time.",
- "function": "According to the [Meltwater Consumer Intelligence page](https://www.meltwater.com/en/suite/consumer-intelligence) 'By applying AI, data science, and market research expertise to a live feed of global data sources, we transform unstructured data into actionable insights allowing better decision-making'.",
- "frequency": "Unclear at this time.",
- "description": "Retrieves data used for Meltwater's AI enabled consumer intelligence suite"
- },
- "YandexAdditional": {
- "operator": "[Yandex](https://yandex.ru)",
- "respect": "[Yes](https://yandex.ru/support/webmaster/en/search-appearance/fast.html?lang=en)",
- "function": "Scrapes/analyzes data for the YandexGPT LLM.",
- "frequency": "No information.",
- "description": "Retrieves data used for YandexGPT quick answers features."
- },
- "YandexAdditionalBot": {
- "operator": "[Yandex](https://yandex.ru)",
- "respect": "[Yes](https://yandex.ru/support/webmaster/en/search-appearance/fast.html?lang=en)",
- "function": "Scrapes/analyzes data for the YandexGPT LLM.",
- "frequency": "No information.",
- "description": "Retrieves data used for YandexGPT quick answers features."
- },
- "YiyanBot": {
- "operator": "Baidu that fetches web content for the yiyan",
- "respect": "Unclear at this time.",
- "function": "AI Assistants",
- "frequency": "Unclear at this time.",
- "description": "YiyanBot is a web crawler operated by Baidu that fetches web content for the yiyan.baidu.com assistant and related ERNIE-generated answers. More info can be found at https://knownagents.com/agents/yiyanbot"
+ "description": "Webzio-Extended is a web crawler used by Webz.io to maintain a repository of web crawl data that it sells to other companies, including those using it to train AI models. More info can be found at https://darkvisitors.com/agents/agents/webzio-extended"
},
"YouBot": {
"operator": "[You](https://about.you.com/youchat/)",
@@ -1139,12 +292,5 @@
"function": "Scrapes data for search engine and LLMs.",
"frequency": "No information.",
"description": "Retrieves data used for You.com web search engine and LLMs."
- },
- "ZanistaBot": {
- "operator": "Unclear at this time.",
- "respect": "Unclear at this time.",
- "function": "AI Search Crawlers",
- "frequency": "Unclear at this time.",
- "description": "Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/zanistabot"
}
}
\ No newline at end of file
diff --git a/robots.txt b/robots.txt
index 7933b60..c41ed6d 100644
--- a/robots.txt
+++ b/robots.txt
@@ -1,165 +1,42 @@
-User-agent: AddSearchBot
-User-agent: AgentTimes
User-agent: AI2Bot
-User-agent: AI2Bot-DeepResearchEval
User-agent: Ai2Bot-Dolma
-User-agent: aiHitBot
-User-agent: AIWebIndex
-User-agent: amazon-kendra
-User-agent: amazon-QBusiness
User-agent: Amazonbot
-User-agent: AmazonBuyForMe
-User-agent: Amzn-SearchBot
-User-agent: Amzn-User
-User-agent: Andibot
-User-agent: Anomura
User-agent: anthropic-ai
-User-agent: ApifyBot
-User-agent: ApifyWebsiteContentCrawler
User-agent: Applebot
User-agent: Applebot-Extended
-User-agent: Aranet-SearchBot
-User-agent: atlassian-bot
-User-agent: Awario
-User-agent: AzureAI-SearchBot
-User-agent: bedrockbot
-User-agent: bigsur.ai
-User-agent: Bravebot
-User-agent: Brightbot
-User-agent: Brightbot 1.0
-User-agent: BuddyBot
User-agent: Bytespider
User-agent: CCBot
-User-agent: Channel3Bot
-User-agent: ChatGLM-Spider
-User-agent: ChatGPT Agent
User-agent: ChatGPT-User
-User-agent: Claude-Code
-User-agent: Claude-SearchBot
-User-agent: Claude-User
User-agent: Claude-Web
User-agent: ClaudeBot
-User-agent: Cloudflare-AutoRAG
-User-agent: CloudVertexBot
-User-agent: Code
User-agent: cohere-ai
-User-agent: cohere-training-data-crawler
-User-agent: Cotoyogi
-User-agent: CragCrawler
-User-agent: Crawl4AI
-User-agent: Crawlspace
-User-agent: Cursor
-User-agent: Datenbank Crawler
-User-agent: DeepSeekBot
-User-agent: Devin
User-agent: Diffbot
User-agent: DuckAssistBot
-User-agent: Echobot Bot
-User-agent: EchoboxBot
-User-agent: ExaBot
User-agent: FacebookBot
-User-agent: facebookexternalhit
-User-agent: Factset_spyderbot
-User-agent: FirecrawlAgent
User-agent: FriendlyCrawler
-User-agent: GeistHaus-PageFetcher
-User-agent: Gemini-Deep-Research
-User-agent: Google-Agent
-User-agent: Google-CloudVertexBot
User-agent: Google-Extended
-User-agent: Google-Firebase
-User-agent: Google-Gemini-CLI
-User-agent: Google-NotebookLM
-User-agent: GoogleAgent-Mariner
-User-agent: GoogleAgent-URLContext
User-agent: GoogleOther
User-agent: GoogleOther-Image
User-agent: GoogleOther-Video
User-agent: GPTBot
-User-agent: HenkBot
-User-agent: iAskBot
-User-agent: iaskspider
User-agent: iaskspider/2.0
-User-agent: IbouBot
User-agent: ICC-Crawler
User-agent: ImagesiftBot
-User-agent: imageSpider
User-agent: img2dataset
User-agent: ISSCyberRiskCrawler
-User-agent: kagi-fetcher
User-agent: Kangaroo Bot
-User-agent: Kimi-User
-User-agent: KlaviyoAIBot
-User-agent: KunatoCrawler
-User-agent: laion-huggingface-processor
-User-agent: LAIONDownloader
-User-agent: LCC
-User-agent: LinerBot
-User-agent: Linguee Bot
-User-agent: LinkupBot
-User-agent: Manus-User
-User-agent: meta-externalagent
User-agent: Meta-ExternalAgent
-User-agent: meta-externalfetcher
User-agent: Meta-ExternalFetcher
-User-agent: meta-webindexer
-User-agent: MistralAI-User
-User-agent: MistralAI-User/1.0
-User-agent: Mozilla-Tabstack
-User-agent: MyCentralAIScraperBot
-User-agent: NagetBot
-User-agent: netEstate Imprint Crawler
-User-agent: newsai
-User-agent: NotebookLM
-User-agent: NovaAct
User-agent: OAI-SearchBot
User-agent: omgili
User-agent: omgilibot
-User-agent: OpenAI
-User-agent: opencode
-User-agent: Operator
User-agent: PanguBot
-User-agent: Panscient
-User-agent: panscient.com
-User-agent: Perplexity-User
User-agent: PerplexityBot
User-agent: PetalBot
-User-agent: PhindBot
-User-agent: Poggio-Citations
-User-agent: Poseidon Research Crawler
-User-agent: QualifiedBot
-User-agent: Querit-SearchBot
-User-agent: QueritBot
-User-agent: QuillBot
-User-agent: quillbot.com
-User-agent: SBIntuitionsBot
User-agent: Scrapy
-User-agent: SemrushBot-OCOB
-User-agent: SemrushBot-SWA
-User-agent: Shap-User
-User-agent: ShapBot
User-agent: Sidetrade indexer bot
-User-agent: Spider
-User-agent: TavilyBot
-User-agent: Terra Cotta
-User-agent: TerraCotta
-User-agent: Thinkbot
-User-agent: TikTokSpider
User-agent: Timpibot
-User-agent: TongyiBot
-User-agent: Trae
-User-agent: TwinAgent
-User-agent: UseAI
User-agent: VelenPublicWebCrawler
-User-agent: WARDBot
User-agent: Webzio-Extended
-User-agent: webzio-extended
-User-agent: wpbot
-User-agent: WRTNBot
-User-agent: YaK
-User-agent: YandexAdditional
-User-agent: YandexAdditionalBot
-User-agent: YiyanBot
User-agent: YouBot
-User-agent: ZanistaBot
Disallow: /
diff --git a/table-of-bot-metrics.md b/table-of-bot-metrics.md
index f7bba9e..e905d2f 100644
--- a/table-of-bot-metrics.md
+++ b/table-of-bot-metrics.md
@@ -1,166 +1,43 @@
| Name | Operator | Respects `robots.txt` | Data use | Visit regularity | Description |
-|------|----------|-----------------------|----------|------------------|-------------|
-| AddSearchBot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | AddSearchBot is a web crawler that indexes website content for AddSearch's AI-powered site search solution, collecting data to provide fast and accurate search results. More info can be found at https://knownagents.com/agents/addsearchbot |
-| AgentTimes | [The Agent Times](https://theagenttimes.com/about) | Unclear at this time. | Data Scraper from RSS Feeds. | Requests RSS feed every 5-6 minutes. | Scrapes data for AI news aggregation and republishing. |
+|-----|----------|-----------------------|----------|------------------|-------------|
| AI2Bot | [Ai2](https://allenai.org/crawler) | Yes | Content is used to train open language models. | No information provided. | Explores 'certain domains' to find web content. |
-| AI2Bot\-DeepResearchEval | Ai2, a non-profit AI research institute | Unclear at this time. | AI Assistants | Unclear at this time. | Ai2Bot-DeepResearchEval is operated by Ai2, a non-profit AI research institute. It's used to collect and scan resources used in deep research queries performed by Ai2's o… More info can be found at https://knownagents.com/agents/ai2bot-deepresearcheval |
-| Ai2Bot\-Dolma | [Ai2](https://allenai.org/crawler) | Yes | Content is used to train open language models. | No information provided. | Explores 'certain domains' to find web content. |
-| aiHitBot | [aiHit](https://www.aihitdata.com/about) | Yes | A massive, artificial intelligence/machine learning, automated system. | No information provided. | Scrapes data for AI systems. |
-| AIWebIndex | Lyrenth that builds an AI-readable index of web content for AI systems | Unclear at this time. | AI Data Providers | Unclear at this time. | AIWebIndex is a web crawler operated by Lyrenth that builds an AI-readable index of web content for AI systems. More info can be found at https://knownagents.com/agents/aiwebindex |
-| amazon\-kendra | Amazon | Yes | Collects data for AI natural language search | No information provided. | Amazon Kendra is a highly accurate intelligent search service that enables your users to search unstructured data using natural language. It returns specific answers to questions, giving users an experience that's close to interacting with a human expert. It is highly scalable and capable of meeting performance demands, tightly integrated with other AWS services such as Amazon S3 and Amazon Lex, and offers enterprise-grade security. |
-| amazon\-QBusiness | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | amazon-QBusiness is an Amazon Q Business web crawler that fetches and indexes web content for Amazon Q Business applications. More info can be found at https://knownagents.com/agents/amazon-qbusiness |
+| Ai2Bot-Dolma | [Ai2](https://allenai.org/crawler) | Yes | Content is used to train open language models. | No information provided. | Explores 'certain domains' to find web content. |
| Amazonbot | Amazon | Yes | Service improvement and enabling answers for Alexa users. | No information provided. | Includes references to crawled website when surfacing answers via Alexa; does not clearly outline other uses. |
-| AmazonBuyForMe | [Amazon](https://amazon.com) | Unclear at this time. | AI Agents | No information provided. | AmazonBuyForMe is an Amazon bot that crawls websites as part of the Amazon Buy For Me service. This bot visits product pages and e-commerce websites to gather product inf… More info can be found at https://knownagents.com/agents/amazonbuyforme |
-| Amzn\-SearchBot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/amzn-searchbot |
-| Amzn\-User | Amazon, used for fetching web content to answer user queries through Alexa and other Amazon AI services | Unclear at this time. | AI Assistants | Unclear at this time. | Amzn-User is an AI assistant operated by Amazon, used for fetching web content to answer user queries through Alexa and other Amazon AI services. More info can be found at https://knownagents.com/agents/amzn-user |
-| Andibot | [Andi](https://andisearch.com/) | Unclear at this time | Search engine using generative AI, AI Search Assistant | No information provided. | Scrapes website and provides AI summary. |
-| Anomura | [Direqt](https://direqt.ai) | Yes | Collects data for AI search | No information provided. | Anomura is Direqt's search crawler, it discovers and indexes pages their customers websites. |
-| anthropic\-ai | [Anthropic](https://www.anthropic.com) | Unclear at this time. | Scrapes data to train Anthropic's AI products. | No information provided. | Scrapes data to train LLMs and AI products offered by Anthropic. |
-| ApifyBot | Unclear at this time. | Unclear at this time. | AI Data Providers | Unclear at this time. | ApifyBot is a web scraping and data extraction crawler by Apify that collects website content for use in AI, LLMs, RAG, and automation workflows. More info can be found at https://knownagents.com/agents/apifybot |
-| ApifyWebsiteContentCrawler | Unclear at this time. | Unclear at this time. | AI Data Providers | Unclear at this time. | ApifyWebsiteContentCrawler is a web crawler by Apify that extracts and downloads full website content for use in AI, data analysis, and automation workflows. More info can be found at https://knownagents.com/agents/apifywebsitecontentcrawler |
-| Applebot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | Applebot is a web crawler used by Apple to index search results that allow the Siri AI Assistant to answer user questions. Siri's answers normally contain references to the website. More info can be found at https://knownagents.com/agents/applebot |
-| Applebot\-Extended | [Apple](https://support.apple.com/en-us/119829#datausage) | Yes | Powers features in Siri, Spotlight, Safari, Apple Intelligence, and others. | Unclear at this time. | Apple has a secondary user agent, Applebot-Extended ... [that is] used to train Apple's foundation models powering generative AI features across Apple products, including Apple Intelligence, Services, and Developer Tools. |
-| Aranet\-SearchBot | Unclear at this time. | Unclear at this time. | Undocumented AI Agents | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/aranet-searchbot |
-| atlassian\-bot | [Atlassian](https://www.atlassian.com) | [Yes](https://support.atlassian.com/organization-administration/docs/connect-custom-website-to-rovo/#Editing-your-robots.txt) | AI search, assistants and agents | No information provided. | atlassian-bot is a web crawler used to index website content for its AI search, assistants and agents available in its Rovo GenAI product. |
-| Awario | Awario | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Awario is an AI data scraper operated by Awario. It's not currently known to be artificially intelligent or AI-related. If you think that's incorrect or can provide more detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/awario |
-| AzureAI\-SearchBot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/azureai-searchbot |
-| bedrockbot | [Amazon](https://amazon.com) | [Yes](https://docs.aws.amazon.com/bedrock/latest/userguide/webcrawl-data-source-connector.html#configuration-webcrawl-connector) | Data scraping for custom AI applications. | Unclear at this time. | Connects to and crawls URLs that have been selected for use in a user's AWS bedrock application. |
-| bigsur\.ai | Big Sur AI that fetches website content to enable AI-powered web agents, sales assistants, and content marketing solutions for busi… | Unclear at this time. | AI Assistants | Unclear at this time. | bigsur.ai is a web crawler operated by Big Sur AI that fetches website content to enable AI-powered web agents, sales assistants, and content marketing solutions for busi… More info can be found at https://knownagents.com/agents/bigsur-ai |
-| Bravebot | https://safe.search.brave.com/help/brave-search-crawler | Yes | AI Data Providers | Unclear at this time. | Bravebot is a web crawler by Brave that indexes pages for Brave Search, providing search data and AI-optimized context to power chatbots, agents, and RAG pipelines. More info can be found at https://knownagents.com/agents/bravebot |
-| Brightbot | Unclear at this time. | Unclear at this time. | AI Data Providers | Unclear at this time. | Brightbot is a web data collection crawler by Bright Data that extracts and structures public website content at scale, providing AI-ready data for model training, RAG pi… More info can be found at https://knownagents.com/agents/brightbot |
-| Brightbot 1\.0 | https://brightdata.com/brightbot | Unclear at this time. | LLM/AI training. | At least one per minute. | Scrapes data to train LLMs and AI products focused on website customer support, [uses residential IPs and legit-looking user-agents to disguise itself](https://ksol.io/en/blog/posts/brightbot-not-that-bright/). |
-| BuddyBot | [BuddyBotLearning](https://www.buddybotlearning.com) | Unclear at this time. | AI Learning Companion | Unclear at this time. | BuddyBot is a voice-controlled AI learning companion targeted at childhooded STEM education. |
+| anthropic-ai | [Anthropic](https://www.anthropic.com) | Unclear at this time. | Scrapes data to train Anthropic's AI products. | No information provided. | Scrapes data to train LLMs and AI products offered by Anthropic. |
+| Applebot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | Applebot is a web crawler used by Apple to index search results that allow the Siri AI Assistant to answer user questions. Siri's answers normally contain references to the website. More info can be found at https://darkvisitors.com/agents/agents/applebot |
+| Applebot-Extended | [Apple](https://support.apple.com/en-us/119829#datausage) | Yes | Powers features in Siri, Spotlight, Safari, Apple Intelligence, and others. | Unclear at this time. | Apple has a secondary user agent, Applebot-Extended ... [that is] used to train Apple's foundation models powering generative AI features across Apple products, including Apple Intelligence, Services, and Developer Tools. |
| Bytespider | ByteDance | No | LLM training. | Unclear at this time. | Downloads data to train LLMS, including ChatGPT competitors. |
| CCBot | [Common Crawl Foundation](https://commoncrawl.org) | [Yes](https://commoncrawl.org/ccbot) | Provides open crawl dataset, used for many purposes, including Machine Learning/AI. | Monthly at present. | Web archive going back to 2008. [Cited in thousands of research papers per year](https://commoncrawl.org/research-papers). |
-| Channel3Bot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/channel3bot |
-| ChatGLM\-Spider | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/chatglm-spider |
-| ChatGPT Agent | [OpenAI](https://openai.com) | Yes | AI Agents | Unclear at this time. | ChatGPT Agent is an AI agent created by OpenAI that can use a web browser. It can intelligently navigate and interact with websites to complete multi-step tasks on behalf… More info can be found at https://knownagents.com/agents/chatgpt-agent |
-| ChatGPT\-User | [OpenAI](https://openai.com) | Yes | AI Assistants | Only when prompted by a user. | ChatGPT-User is OpenAI's web crawler that visits websites when ChatGPT users request information. This enables ChatGPT to include links in its responses. More info can be found at https://knownagents.com/agents/chatgpt-user |
-| Claude\-Code | Unclear at this time. | Unclear at this time. | AI Coding Agents | Unclear at this time. | Claude Code is an AI coding agent by Anthropic that can build, debug, and ship code directly from the terminal, handling tasks like codebase onboarding, multi-file edits,… More info can be found at https://knownagents.com/agents/claude-code |
-| Claude\-SearchBot | [Anthropic](https://www.anthropic.com) | [Yes](https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) | Claude-SearchBot navigates the web to improve search result quality for users. It analyzes online content specifically to enhance the relevance and accuracy of search responses. | No information provided. | Claude-SearchBot navigates the web to improve search result quality for users. It analyzes online content specifically to enhance the relevance and accuracy of search responses. |
-| Claude\-User | [Anthropic](https://www.anthropic.com) | [Yes](https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) | AI Assistants | No information provided. | Claude-User is dispatched by Anthropic's Claude AI assistant in response to user prompts, when it needs to fetch content to include in its answers. More info can be found at https://knownagents.com/agents/claude-user |
-| Claude\-Web | Anthropic | Unclear at this time. | Undocumented AI Agents | Unclear at this time. | Claude-Web is an AI-related agent operated by Anthropic. It's currently unclear exactly what it's used for, since there's no official documentation. If you can provide more detail, please contact us. More info can be found at https://knownagents.com/agents/claude-web |
+| ChatGPT-User | [OpenAI](https://openai.com) | Yes | Takes action based on user prompts. | Only when prompted by a user. | Used by plugins in ChatGPT to answer queries based on user input. |
+| Claude-Web | [Anthropic](https://www.anthropic.com) | Unclear at this time. | Scrapes data to train Anthropic's AI products. | No information provided. | Scrapes data to train LLMs and AI products offered by Anthropic. |
| ClaudeBot | [Anthropic](https://www.anthropic.com) | [Yes](https://support.anthropic.com/en/articles/8896518-does-anthropic-crawl-data-from-the-web-and-how-can-site-owners-block-the-crawler) | Scrapes data to train Anthropic's AI products. | No information provided. | Scrapes data to train LLMs and AI products offered by Anthropic. |
-| Cloudflare\-AutoRAG | [Cloudflare](https://developers.cloudflare.com/autorag) | Yes | Collects data for AI search | Unclear at this time. | AutoRAG is an all-in-one AI search solution. |
-| CloudVertexBot | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | CloudVertexBot is a Google-operated crawler available to site owners to request targeted crawls of their own sites for AI training purposes on the Vertex AI platform. More info can be found at https://knownagents.com/agents/cloudvertexbot |
-| Code | Unclear at this time. | Unclear at this time. | AI Coding Agents | Unclear at this time. | Code (GitHub Copilot) is an AI coding agent that can autonomously plan, build, and execute development tasks, functioning as a collaborative AI pair programmer. More info can be found at https://knownagents.com/agents/code |
-| cohere\-ai | [Cohere](https://cohere.com) | Unclear at this time. | Retrieves data to provide responses to user-initiated prompts. | Takes action based on user prompts. | Retrieves data based on user prompts. |
-| cohere\-training\-data\-crawler | Cohere to download training data for its LLMs (Large Language Models) that power its enterprise AI products | Unclear at this time. | AI Data Scrapers | Unclear at this time. | cohere-training-data-crawler is a web crawler operated by Cohere to download training data for its LLMs (Large Language Models) that power its enterprise AI products. More info can be found at https://knownagents.com/agents/cohere-training-data-crawler |
-| Cotoyogi | [ROIS](https://ds.rois.ac.jp/en_center8/en_crawler/) | Yes | AI LLM Scraper. | No information provided. | Scrapes data for AI training in Japanese language. |
-| CragCrawler | CragSoftware, a Brazil-based software company specializing in data engineering and AI web scraping services | Unclear at this time. | AI Data Providers | Unclear at this time. | CragCrawler is a web scraping bot operated by CragSoftware, a Brazil-based software company specializing in data engineering and AI web scraping services. The bot is used… More info can be found at https://knownagents.com/agents/cragcrawler |
-| Crawl4AI | Unclear at this time. | Unclear at this time. | Undocumented AI Agents | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/crawl4ai |
-| Crawlspace | [Crawlspace](https://crawlspace.dev) | [Yes](https://news.ycombinator.com/item?id=42756654) | AI Data Providers | Unclear at this time. | Crawlspace is a web crawler platform that fetches and extracts website content for AI agents, RAG applications, and structured data workflows. More info can be found at https://knownagents.com/agents/crawlspace |
-| Cursor | Unclear at this time. | Unclear at this time. | AI Coding Agents | Unclear at this time. | Cursor is an AI coding agent that helps write, edit, and understand code. More info can be found at https://knownagents.com/agents/cursor |
-| Datenbank Crawler | Datenbank | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Datenbank Crawler is an AI data scraper operated by Datenbank. It's not currently known to be artificially intelligent or AI-related. If you think that's incorrect or can provide more detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/datenbank-crawler |
-| DeepSeekBot | DeepSeek | No | Training language models and improving AI products | Unclear at this time. | DeepSeekBot is a web crawler used by DeepSeek to train its language models and improve its AI products. |
-| Devin | Devin AI | Yes | AI Coding Agents | Unclear at this time. | Devin is a software engineering AI assistant that can browse websites and perform web-based tasks, functioning as a collaborative AI teammate for engineering teams. More info can be found at https://knownagents.com/agents/devin |
-| Diffbot | [Diffbot](https://www.diffbot.com/) | At the discretion of Diffbot users. | AI Data Providers | Unclear at this time. | Diffbot is a web crawler that extracts and structures website content using AI-powered visual understanding, providing knowledge graph data for applications like market i… More info can be found at https://knownagents.com/agents/diffbot |
-| DuckAssistBot | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | DuckAssistBot is a web crawler that scans websites to collect content for DuckDuckGo's AI-assisted answers feature, which generates brief responses to search queries usin… More info can be found at https://knownagents.com/agents/duckassistbot |
-| Echobot Bot | Echobox | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Echobot Bot is an AI data scraper operated by Echobox. It's not currently known to be artificially intelligent or AI-related. If you think that's incorrect or can provide more detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/echobot-bot |
-| EchoboxBot | [Echobox](https://echobox.com) | Unclear at this time. | Data collection to support AI-powered products. | Unclear at this time. | Supports company's AI-powered social and email management products. |
-| ExaBot | Unclear at this time. | Unclear at this time. | AI Data Providers | Unclear at this time. | ExaBot is a web crawler that indexes web content to power Exa's AI search engine and semantic search APIs for AI applications. More info can be found at https://knownagents.com/agents/exabot |
+| cohere-ai | [Cohere](https://cohere.com) | Unclear at this time. | Retrieves data to provide responses to user-initiated prompts. | Takes action based on user prompts. | Retrieves data based on user prompts. |
+| Diffbot | [Diffbot](https://www.diffbot.com/) | At the discretion of Diffbot users. | Aggregates structured web data for monitoring and AI model training. | Unclear at this time. | Diffbot is an application used to parse web pages into structured data; this data is used for monitoring or AI model training. |
+| DuckAssistBot | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | DuckAssistBot is used by DuckDuckGo's DuckAssist feature to fetch content and generate realtime AI answers to user searches. More info can be found at https://darkvisitors.com/agents/agents/duckassistbot |
| FacebookBot | Meta/Facebook | [Yes](https://developers.facebook.com/docs/sharing/bot/) | Training language models | Up to 1 page per second | Officially used for training Meta "speech recognition technology," unknown if used to train Meta AI specifically. |
-| facebookexternalhit | Meta/Facebook | [No](https://github.com/ai-robots-txt/ai.robots.txt/issues/40#issuecomment-2524591313) | Ostensibly only for sharing, but likely used as an AI crawler as well | Unclear at this time. | Note that excluding FacebookExternalHit will block incorporating OpenGraph data when sharing in social media, including rich links in Apple's Messages app. [According to Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/), its purpose is "to crawl the content of an app or website that was shared on one of Meta’s family of apps…". However, see discussions [here](https://github.com/ai-robots-txt/ai.robots.txt/pull/21) and [here](https://github.com/ai-robots-txt/ai.robots.txt/issues/40#issuecomment-2524591313) for evidence to the contrary. |
-| Factset\_spyderbot | [Factset](https://www.factset.com/ai) | Unclear at this time. | AI model training. | No information provided. | Scrapes data for AI training. |
-| FirecrawlAgent | Firecrawl that extracts web content and converts it into structured data for use in LLM and AI applications | Yes | AI Data Providers | No information provided. | FirecrawlAgent is a web crawler operated by Firecrawl that extracts web content and converts it into structured data for use in LLM and AI applications. More info can be found at https://knownagents.com/agents/firecrawlagent |
| FriendlyCrawler | Unknown | [Yes](https://imho.alex-kunz.com/2024/01/25/an-update-on-friendly-crawler) | We are using the data from the crawler to build datasets for machine learning experiments. | Unclear at this time. | Unclear who the operator is; but data is used for training/machine learning. |
-| GeistHaus\-PageFetcher | GeistHaus, a company developing AI systems for therapy and psychological assessment | Unclear at this time. | AI Assistants | Unclear at this time. | GeistHaus-PageFetcher is a web crawler operated by GeistHaus, a company developing AI systems for therapy and psychological assessment. This bot fetches web pages as part… More info can be found at https://knownagents.com/agents/geisthaus-pagefetcher |
-| Gemini\-Deep\-Research | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | Gemini-Deep-Research is the agent responsible for collecting and scanning resources used in Google Gemini's Deep Research feature, which acts as a personal research assis… More info can be found at https://knownagents.com/agents/gemini-deep-research |
-| Google\-Agent | Unclear at this time. | Unclear at this time. | AI Agents | Unclear at this time. | Google-Agent is used by agents hosted on Google infrastructure to navigate the web and perform actions upon user request. More info can be found at https://knownagents.com/agents/google-agent |
-| Google\-CloudVertexBot | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Build and manage AI models for businesses employing Vertex AI | No information. | Google-CloudVertexBot crawls sites on the site owners' request when building Vertex AI Agents. |
-| Google\-Extended | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | LLM training. | No information. | Used to train Gemini and Vertex AI generative APIs. Does not impact a site's inclusion or ranking in Google Search. |
-| Google\-Firebase | Google | Unclear at this time. | Used as part of AI apps developed by users of Google's Firebase AI products. | Unclear at this time. | Supports Google's Firebase AI products. |
-| Google\-Gemini\-CLI | Unclear at this time. | Unclear at this time. | AI Coding Agents | Unclear at this time. | Gemini CLI is an AI coding agent by Google that can query and edit large codebases, generate apps from images or PDFs, and automate complex workflows directly from the te… More info can be found at https://knownagents.com/agents/google-gemini-cli |
-| Google\-NotebookLM | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | Google-NotebookLM is an AI-powered research and note-taking assistant that helps users synthesize information from uploaded sources like documents, transcripts, or web co… More info can be found at https://knownagents.com/agents/google-notebooklm |
-| GoogleAgent\-Mariner | Google | Unclear at this time. | AI Agents | Unclear at this time. | GoogleAgent-Mariner is an AI agent created by Google that can use a web browser. It can intelligently navigate and interact with websites to complete multi-step tasks on … More info can be found at https://knownagents.com/agents/googleagent-mariner |
-| GoogleAgent\-URLContext | Google that retrieves web content on behalf of Gemini API users | Unclear at this time. | AI Assistants | Unclear at this time. | GoogleAgent-URLContext is a web fetcher operated by Google that retrieves web content on behalf of Gemini API users. When a developer provides a URL as context in a Gemin… More info can be found at https://knownagents.com/agents/googleagent-urlcontext |
+| Google-Extended | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | LLM training. | No information. | Used to train Gemini and Vertex AI generative APIs. Does not impact a site's inclusion or ranking in Google Search. |
| GoogleOther | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
-| GoogleOther\-Image | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
-| GoogleOther\-Video | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
+| GoogleOther-Image | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
+| GoogleOther-Video | Google | [Yes](https://developers.google.com/search/docs/crawling-indexing/overview-google-crawlers) | Scrapes data. | No information. | "Used by various product teams for fetching publicly accessible content from sites. For example, it may be used for one-off crawls for internal research and development." |
| GPTBot | [OpenAI](https://openai.com) | Yes | Scrapes data to train OpenAI's products. | No information. | Data is used to train current and future models, removed paywalled data, PII and data that violates the company's policies. |
-| HenkBot | Unclear at this time. | Unclear at this time. | AI Data Providers | Unclear at this time. | Henkbot crawls the web on behalf of Valyu, an AI search infrastructure provider that indexes content for use in AI-powered retrieval pipelines. More info can be found at https://knownagents.com/agents/henkbot |
-| iAskBot | Unclear at this time. | Unclear at this time. | Undocumented AI Agents | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/iaskbot |
-| iaskspider | Unclear at this time. | Unclear at this time. | Undocumented AI Agents | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/iaskspider |
-| iaskspider/2\.0 | iAsk | No | Crawls sites to provide answers to user queries. | Unclear at this time. | Used to provide answers to user queries. |
-| IbouBot | Ibou | Yes | Search result generation. | Unclear at this time. | Ibou.io operates a crawler service named IbouBot which fuels and updates their graph representation of the World Wide Web. This database and all the metrics are used to provide a search engine. |
-| ICC\-Crawler | [NICT](https://nict.go.jp) | Yes | Scrapes data to train and support AI technologies. | No information. | Use the collected data for artificial intelligence technologies; provide data to third parties, including commercial companies; those companies can use the data for their own business. |
-| ImagesiftBot | [ImageSift](https://imagesift.com) | [Yes](https://imagesift.com/about) | ImageSiftBot is a web crawler that scrapes the internet for publicly available images to support their suite of web intelligence products | No information. | Once images and text are downloaded from a webpage, ImageSift analyzes this data from the page and stores the information in an index. Their web intelligence products use this index to enable search and retrieval of similar images. |
-| imageSpider | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/imagespider |
+| iaskspider/2.0 | iAsk | No | Crawls sites to provide answers to user queries. | Unclear at this time. | Used to provide answers to user queries. |
+| ICC-Crawler | [NICT](https://nict.go.jp) | Yes | Scrapes data to train and support AI technologies. | No information. | Use the collected data for artificial intelligence technologies; provide data to third parties, including commercial companies; those companies can use the data for their own business. |
+| ImagesiftBot | [ImageSift](https://imagesift.com) | [Yes](https://imagesift.com/about) | ImageSiftBot is a web crawler that scrapes the internet for publicly available images to support our suite of web intelligence products | No information. | Once images and text are downloaded from a webpage, ImageSift analyzes this data from the page and stores the information in an index. Our web intelligence products use this index to enable search and retrieval of similar images. |
| img2dataset | [img2dataset](https://github.com/rom1504/img2dataset) | Unclear at this time. | Scrapes images for use in LLMs. | At the discretion of img2dataset users. | Downloads large sets of images into datasets for LLM training or other purposes. |
| ISSCyberRiskCrawler | [ISS-Corporate](https://iss-cyber.com) | No | Scrapes data to train machine learning models. | No information. | Used to train machine learning based models to quantify cyber risk. |
-| kagi\-fetcher | Kagi that fetches web content to answer user queries through Kagi AI, their suite of AI-powered tools including Assistant, Res… | Unclear at this time. | AI Assistants | Unclear at this time. | kagi-fetcher is an AI Assistant operated by Kagi that fetches web content to answer user queries through Kagi AI, their suite of AI-powered tools including Assistant, Res… More info can be found at https://knownagents.com/agents/kagi-fetcher |
-| Kangaroo Bot | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Kangaroo Bot is used by the company Kangaroo LLM to download data to train AI models tailored to Australian language and culture. More info can be found at https://knownagents.com/agents/kangaroo-bot |
-| Kimi\-User | Moonshot AI that fetches web content on behalf of users interacting with Kimi | Unclear at this time. | AI Assistants | Unclear at this time. | Kimi-User is a web crawler operated by Moonshot AI that fetches web content on behalf of users interacting with Kimi. When a user asks Kimi to summarize an article or ans… More info can be found at https://knownagents.com/agents/kimi-user |
-| KlaviyoAIBot | [Klaviyo](https://www.klaviyo.com) | [Yes](https://help.klaviyo.com/hc/en-us/articles/40496146232219) | AI Assistants | Indexes based on 'change signals' and user configuration. | KlaviyoAIBot is Klaviyo's web crawler that fetches publicly available pages from domains explicitly connected to user accounts to power the Kai Customer Agent feature. Th… More info can be found at https://knownagents.com/agents/klaviyoaibot |
-| KunatoCrawler | Unclear at this time. | Unclear at this time. | Undocumented AI Agents | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/kunatocrawler |
-| laion\-huggingface\-processor | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/laion-huggingface-processor |
-| LAIONDownloader | [Large-scale Artificial Intelligence Open Network](https://laion.ai/) | [No](https://laion.ai/faq/) | AI tools and models for machine learning research. | Unclear at this time. | LAIONDownloader is a bot by LAION, a non-profit organization that provides datasets, tools and models to liberate machine learning research. |
-| LCC | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/lcc |
-| LinerBot | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | LinerBot is the web crawler used by Liner AI assistant to gather information from academic sources and websites to provide accurate answers with line-by-line source citat… More info can be found at https://knownagents.com/agents/linerbot |
-| Linguee Bot | [Linguee](https://www.linguee.com) | No | AI powered translation service | Unclear at this time. | Linguee Bot is a web crawler used by Linguee to gather training data for its AI powered translation service. |
-| LinkupBot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/linkupbot |
-| Manus\-User | Butterfly Effect, a company based in China | Unclear at this time. | AI Agents | Unclear at this time. | Manus-User is a browser-enabled AI agent operated by Butterfly Effect, a company based in China. It autonomously navigates websites, interprets content, and carries out m… More info can be found at https://knownagents.com/agents/manus-user |
-| meta\-externalagent | [Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers) | Yes | Used to train models and improve products. | No information. | "The Meta-ExternalAgent crawler crawls the web for use cases such as training AI models or improving products by indexing content directly." |
-| Meta\-ExternalAgent | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Meta-ExternalAgent is a web crawler used by Meta to download training data for its AI models and improve its products by indexing content directly. More info can be found at https://knownagents.com/agents/meta-externalagent |
-| meta\-externalfetcher | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | meta-externalfetcher is used by Meta to perform user-initiated fetches of individual links from AI assistant product functions. More info can be found at https://knownagents.com/agents/meta-externalfetcher |
-| Meta\-ExternalFetcher | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | Meta-ExternalFetcher is dispatched by Meta AI products in response to user prompts, when they need to fetch an individual links. More info can be found at https://knownagents.com/agents/meta-externalfetcher |
-| meta\-webindexer | [Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers/) | Unclear at this time. | AI Assistants | Unhinged, more than 1 per second. | As per their documentation, "The Meta-WebIndexer crawler navigates the web to improve Meta AI search result quality for users. In doing so, Meta analyzes online content to enhance the relevance and accuracy of Meta AI. Allowing Meta-WebIndexer in your robots.txt file helps us cite and link to your content in Meta AI's responses." |
-| MistralAI\-User | Mistral | Unclear at this time. | AI Assistants | Unclear at this time. | MistralAI-User is Mistral's AI assistant bot that performs web browsing and data gathering tasks for users in Le Chat, including opening web pages and retrieving informat… More info can be found at https://knownagents.com/agents/mistralai-user |
-| MistralAI\-User/1\.0 | Mistral AI | Yes | Takes action based on user prompts. | Only when prompted by a user. | MistralAI-User is for user actions in LeChat. When users ask LeChat a question, it may visit a web page to help answer and include a link to the source in its response. |
-| Mozilla\-Tabstack | [Mozilla](https://docs.tabstack.ai/trust/controlling-access) | Yes | AI Data Providers | On demand via API. | Tabstack is a web intelligence API for AI agents. It extracts structured data from web pages and makes it available to AI agents. |
-| MyCentralAIScraperBot | Unclear at this time. | Unclear at this time. | AI data scraper | Unclear at this time. | Operator and data use is unclear at this time. |
-| NagetBot | Naget Inc (founded by Chris Samarinas, headquarter in Amherst, Massachusetts) | Unclear at this time. | AI data scraper | Unclear at this time. | 'Naget revolutionizes content discovery through an AI-powered ecosystem that transforms how we generate, organize, share, and discover valuable content.' (https://naget.com/) User-agent string links https://naget.ai/bot which yields 404. |
-| netEstate Imprint Crawler | netEstate | Unclear at this time. | AI Data Scrapers | Unclear at this time. | netEstate Imprint Crawler is an AI data scraper operated by netEstate. If you think this is incorrect or can provide additional detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/netestate-imprint-crawler |
-| newsai | Unclear at this time. | Unclear at this time. | AI data scraper | Unclear at this time. | User-agent string doen't contain an URL and there multiple sites using the newsai brand. |
-| NotebookLM | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | NotebookLM is an AI-powered research and note-taking assistant that helps users synthesize information from their own uploaded sources, such as documents, transcripts, or web content. It can generate summaries, answer questions, and highlight key themes from the materials you provide, acting like a personalized research companion built on Google's Gemini model. NotebookLM fetches source URLs when users add them to their notebooks, enabling the AI to access and analyze those pages for context and insights. More info can be found at https://knownagents.com/agents/google-notebooklm |
-| NovaAct | Unclear at this time. | Unclear at this time. | AI Agents | Unclear at this time. | Nova Act is an AI agent created by Amazon that can use a web browser. It can intelligently navigate and interact with websites to complete multi-step tasks on behalf of a… More info can be found at https://knownagents.com/agents/novaact |
-| OAI\-SearchBot | [OpenAI](https://openai.com) | [Yes](https://platform.openai.com/docs/bots) | Search result generation. | No information. | Crawls sites to surface as results in SearchGPT. |
+| Kangaroo Bot | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Kangaroo Bot is used by the company Kangaroo LLM to download data to train AI models tailored to Australian language and culture. More info can be found at https://darkvisitors.com/agents/agents/kangaroo-bot |
+| Meta-ExternalAgent | [Meta](https://developers.facebook.com/docs/sharing/webmasters/web-crawlers) | Yes. | Used to train models and improve products. | No information. | "The Meta-ExternalAgent crawler crawls the web for use cases such as training AI models or improving products by indexing content directly." |
+| Meta-ExternalFetcher | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | Meta-ExternalFetcher is dispatched by Meta AI products in response to user prompts, when they need to fetch an individual links. More info can be found at https://darkvisitors.com/agents/agents/meta-externalfetcher |
+| OAI-SearchBot | [OpenAI](https://openai.com) | [Yes](https://platform.openai.com/docs/bots) | Search result generation. | No information. | Crawls sites to surface as results in SearchGPT. |
| omgili | [Webz.io](https://webz.io/) | [Yes](https://webz.io/blog/web-data/what-is-the-omgili-bot-and-why-is-it-crawling-your-website/) | Data is sold. | No information. | Crawls sites for APIs used by Hootsuite, Sprinklr, NetBase, and other companies. Data also sold for research purposes or LLM training. |
| omgilibot | [Webz.io](https://webz.io/) | [Yes](https://web.archive.org/web/20170704003301/http://omgili.com/Crawler.html) | Data is sold. | No information. | Legacy user agent initially used for Omgili search engine. Unknown if still used, `omgili` agent still used by Webz.io. |
-| OpenAI | [OpenAI](https://openai.com) | Yes | Unclear at this time. | Unclear at this time. | The purpose of this bot is unclear at this time but it is a member of OpenAI's suite of crawlers. |
-| opencode | Unclear at this time. | Unclear at this time. | AI Coding Agents | Unclear at this time. | OpenCode is an open-source AI coding agent that helps developers write code from the terminal, IDE, or desktop, supporting multiple LLM providers and local models. More info can be found at https://knownagents.com/agents/opencode |
-| Operator | Unclear at this time. | Unclear at this time. | AI Agents | Unclear at this time. | Operator is an AI agent created by OpenAI that can use a web browser. It can intelligently navigate and interact with websites to complete multi-step tasks on behalf of a human user. More info can be found at https://knownagents.com/agents/operator |
-| PanguBot | the Chinese company Huawei | Unclear at this time. | AI Data Scrapers | Unclear at this time. | PanguBot is a web crawler operated by the Chinese company Huawei. It's used to download training data for its multimodal LLM (Large Language Model) called PanGu. More info can be found at https://knownagents.com/agents/pangubot |
-| Panscient | [Panscient](https://panscient.com) | [Yes](https://panscient.com/faq.htm) | Data collection and analysis using machine learning and AI. | The Panscient web crawler will request a page at most once every second from the same domain name or the same IP address. | Compiles data on businesses and business professionals that is structured using AI and machine learning. |
-| panscient\.com | [Panscient](https://panscient.com) | [Yes](https://panscient.com/faq.htm) | Data collection and analysis using machine learning and AI. | The Panscient web crawler will request a page at most once every second from the same domain name or the same IP address. | Compiles data on businesses and business professionals that is structured using AI and machine learning. |
-| Perplexity\-User | [Perplexity](https://www.perplexity.ai/) | [No](https://docs.perplexity.ai/guides/bots) | AI Assistants | Only when prompted by a user. | Perplexity-User supports user actions within Perplexity. When users ask Perplexity a question, it might visit a web page to help provide an accurate answer and include a … More info can be found at https://knownagents.com/agents/perplexity-user |
-| PerplexityBot | [Perplexity](https://www.perplexity.ai/) | [Yes](https://docs.perplexity.ai/guides/bots) | Search result generation. | No information. | Crawls sites to surface as results in Perplexity. |
+| PanguBot | the Chinese company Huawei | Unclear at this time. | AI Data Scrapers | Unclear at this time. | PanguBot is a web crawler operated by the Chinese company Huawei. It's used to download training data for its multimodal LLM (Large Language Model) called PanGu. More info can be found at https://darkvisitors.com/agents/agents/pangubot |
+| PerplexityBot | [Perplexity](https://www.perplexity.ai/) | [No](https://www.macstories.net/stories/wired-confirms-perplexity-is-bypassing-efforts-by-websites-to-block-its-web-crawler/) | Used to answer queries at the request of users. | Takes action based on user prompts. | Operated by Perplexity to obtain results in response to user queries. |
| PetalBot | [Huawei](https://huawei.com/) | Yes | Used to provide recommendations in Hauwei assistant and AI search services. | No explicit frequency provided. | Operated by Huawei to provide search and AI assistant services. |
-| PhindBot | [phind](https://www.phind.com/) | Unclear at this time. | AI Assistants | No explicit frequency provided. | Phind is an AI-powered answer engine designed for developers, offering technical answers and code examples. It uses real-time web search and specialized AI models to prov… More info can be found at https://knownagents.com/agents/phindbot |
-| Poggio\-Citations | Poggio, a company that provides AI sales enablement tools for creating tailored narratives, business cases, and account plan… | Unclear at this time. | AI Assistants | Unclear at this time. | Poggio-Citations is a web crawler operated by Poggio, a company that provides AI sales enablement tools for creating tailored narratives, business cases, and account plan… More info can be found at https://knownagents.com/agents/poggio-citations |
-| Poseidon Research Crawler | [Poseidon Research](https://www.poseidonresearch.com) | Unclear at this time. | AI research crawler | No explicit frequency provided. | Lab focused on scaling the interpretability research necessary to make better AI systems possible. |
-| QualifiedBot | [Qualified](https://www.qualified.com) | Unclear at this time. | AI Assistants | No explicit frequency provided. | QualifiedBot is Qualified's web crawler that analyzes customer websites to provide contextual information for their AI-powered chatbots and conversational marketing platf… More info can be found at https://knownagents.com/agents/qualifiedbot |
-| Querit\-SearchBot | Querit that indexes web content for their search API service, which is designed to provide real-time search results for larg… | Unclear at this time. | AI Data Providers | Unclear at this time. | Querit-SearchBot is a web crawler operated by Querit that indexes web content for their search API service, which is designed to provide real-time search results for larg… More info can be found at https://knownagents.com/agents/querit-searchbot |
-| QueritBot | Querit, a company providing a search API for large language model integration | Unclear at this time. | AI Data Providers | Unclear at this time. | QueritBot is a web crawler operated by Querit, a company providing a search API for large language model integration. This bot indexes web content to power the real-time … More info can be found at https://knownagents.com/agents/queritbot |
-| QuillBot | [Quillbot](https://quillbot.com) | Unclear at this time. | Company offers AI detection, writing tools and other services. | No explicit frequency provided. | Operated by QuillBot as part of their suite of AI product offerings. |
-| quillbot\.com | [Quillbot](https://quillbot.com) | Unclear at this time. | Company offers AI detection, writing tools and other services. | No explicit frequency provided. | Operated by QuillBot as part of their suite of AI product offerings. |
-| SBIntuitionsBot | [SB Intuitions](https://www.sbintuitions.co.jp/en/) | [Yes](https://www.sbintuitions.co.jp/en/bot/) | Uses data gathered in AI development and information analysis. | No information. | AI development and information analysis |
| Scrapy | [Zyte](https://www.zyte.com) | Unclear at this time. | Scrapes data for a variety of uses including training AI. | No information. | "AI and machine learning applications often need large amounts of quality data, and web data extraction is a fast, efficient way to build structured data sets." |
-| SemrushBot\-OCOB | [Semrush](https://www.semrush.com/) | [Yes](https://www.semrush.com/bot/) | Crawls your site for ContentShake AI tool. | Roughly once every 10 seconds. | Data collected is used for the ContentShake AI tool reports. |
-| SemrushBot\-SWA | [Semrush](https://www.semrush.com/) | [Yes](https://www.semrush.com/bot/) | Checks URLs on your site for SEO Writing Assistant. | Roughly once every 10 seconds. | Data collected is used for the SEO Writing Assistant tool to check if URL is accessible. |
-| Shap\-User | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | Shap-User accesses web content on behalf of users of Parallel Web Systems products. It identifies user-initiated requests rather than automatic web crawling. More info can be found at https://knownagents.com/agents/shap-user |
-| ShapBot | [Parallel](https://parallel.ai) | [Yes](https://docs.parallel.ai/features/crawler) | AI Data Providers | Unclear at this time. | ShapBot is a web crawler by Parallel that collects and structures web content to power its search, extraction, and deep research APIs, providing AI agents with high-accur… More info can be found at https://knownagents.com/agents/shapbot |
| Sidetrade indexer bot | [Sidetrade](https://www.sidetrade.com) | Unclear at this time. | Extracts data for a variety of uses including training AI. | No information. | AI product training. |
-| Spider | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/spider |
-| TavilyBot | Unclear at this time. | Unclear at this time. | AI Data Providers | Unclear at this time. | TavilyBot is a web crawler by Tavily that indexes and extracts content from billions of pages, providing real-time search, extraction, and research data to ground AI agen… More info can be found at https://knownagents.com/agents/tavilybot |
-| Terra Cotta | Unclear at this time. | Unclear at this time. | AI Data Providers | Unclear at this time. | Terra Cotta is Ceramic's web crawler that indexes public content to power their web-scale search API for AI and LLMs. More info can be found at https://knownagents.com/agents/terra-cotta |
-| TerraCotta | [Ceramic AI](https://ceramic.ai/) | [Yes](https://github.com/CeramicTeam/CeramicTerracotta) | AI Data Providers | Unclear at this time. | TerraCotta is Ceramic's web crawler that indexes public content to power their web-scale search API for AI and LLMs. More info can be found at https://knownagents.com/agents/terracotta |
-| Thinkbot | [Thinkbot](https://www.thinkbot.agency) | No | Insights on AI integration and automation. | Unclear at this time. | Collects data for analysis on AI usage and automation. |
-| TikTokSpider | ByteDance | Unclear at this time. | LLM training. | Unclear at this time. | Downloads data to train LLMS, as per Bytespider. |
| Timpibot | [Timpi](https://timpi.io) | Unclear at this time. | Scrapes data for use in training LLMs. | No information. | Makes data available for training AI models. |
-| TongyiBot | Alibaba that fetches web content for the Tongyi Qianwen assistant and related Qwen-generated answers | Unclear at this time. | AI Assistants | Unclear at this time. | TongyiBot is a web crawler operated by Alibaba that fetches web content for the Tongyi Qianwen assistant and related Qwen-generated answers. More info can be found at https://knownagents.com/agents/tongyibot |
-| Trae | Unclear at this time. | Unclear at this time. | AI Coding Agents | Unclear at this time. | Trae is an AI-powered coding agent developed by ByteDance that can understand codebases, fetch web content, and generate code. More info can be found at https://knownagents.com/agents/trae |
-| TwinAgent | Twin, a platform that creates automated workers to perform tasks by integrating with APIs and controlling web applications through browser automa… | Unclear at this time. | AI Agents | Unclear at this time. | TwinAgent is operated by Twin, a platform that creates automated workers to perform tasks by integrating with APIs and controlling web applications through browser automa… More info can be found at https://knownagents.com/agents/twinagent |
-| UseAI | Unclear at this time. | Unclear at this time. | AI Assistants | Unclear at this time. | UseAI is a web crawler associated with Use AI, a platform that provides an AI workspace where users can chat with AI models, research the web, and perform various tasks. … More info can be found at https://knownagents.com/agents/useai |
| VelenPublicWebCrawler | [Velen Crawler](https://velen.io) | [Yes](https://velen.io) | Scrapes data for business data sets and machine learning models. | No information. | "Our goal with this crawler is to build business datasets and machine learning models to better understand the web." |
-| WARDBot | WEBSPARK | Unclear at this time. | AI Data Scrapers | Unclear at this time. | WARDBot is an AI data scraper operated by WEBSPARK. It's not currently known to be artificially intelligent or AI-related. If you think that's incorrect or can provide more detail about its purpose, please contact us. More info can be found at https://knownagents.com/agents/wardbot |
-| Webzio\-Extended | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Webzio-Extended is a web crawler used by Webz.io to maintain a repository of web crawl data that it sells to other companies, including those using it to train AI models. More info can be found at https://knownagents.com/agents/webzio-extended |
-| webzio\-extended | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/webzio-extended |
-| wpbot | [QuantumCloud](https://www.quantumcloud.com) | Unclear at this time; opt out provided via [Google Form](https://forms.gle/ajBaxygz9jSR8p8G9) | Live chat support and lead generation. | Unclear at this time. | wpbot is a used to support the functionality of the AI Chatbot for WordPress plugin. It supports the use of customer models, data collection and customer support. |
-| WRTNBot | Unclear at this time. | Unclear at this time. | Undocumented AI Agents | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/wrtnbot |
-| YaK | [Meltwater](https://www.meltwater.com/en/suite/consumer-intelligence) | Unclear at this time. | According to the [Meltwater Consumer Intelligence page](https://www.meltwater.com/en/suite/consumer-intelligence) 'By applying AI, data science, and market research expertise to a live feed of global data sources, we transform unstructured data into actionable insights allowing better decision-making'. | Unclear at this time. | Retrieves data used for Meltwater's AI enabled consumer intelligence suite |
-| YandexAdditional | [Yandex](https://yandex.ru) | [Yes](https://yandex.ru/support/webmaster/en/search-appearance/fast.html?lang=en) | Scrapes/analyzes data for the YandexGPT LLM. | No information. | Retrieves data used for YandexGPT quick answers features. |
-| YandexAdditionalBot | [Yandex](https://yandex.ru) | [Yes](https://yandex.ru/support/webmaster/en/search-appearance/fast.html?lang=en) | Scrapes/analyzes data for the YandexGPT LLM. | No information. | Retrieves data used for YandexGPT quick answers features. |
-| YiyanBot | Baidu that fetches web content for the yiyan | Unclear at this time. | AI Assistants | Unclear at this time. | YiyanBot is a web crawler operated by Baidu that fetches web content for the yiyan.baidu.com assistant and related ERNIE-generated answers. More info can be found at https://knownagents.com/agents/yiyanbot |
+| Webzio-Extended | Unclear at this time. | Unclear at this time. | AI Data Scrapers | Unclear at this time. | Webzio-Extended is a web crawler used by Webz.io to maintain a repository of web crawl data that it sells to other companies, including those using it to train AI models. More info can be found at https://darkvisitors.com/agents/agents/webzio-extended |
| YouBot | [You](https://about.you.com/youchat/) | [Yes](https://about.you.com/youbot/) | Scrapes data for search engine and LLMs. | No information. | Retrieves data used for You.com web search engine and LLMs. |
-| ZanistaBot | Unclear at this time. | Unclear at this time. | AI Search Crawlers | Unclear at this time. | Description unavailable from knownagents.com More info can be found at https://knownagents.com/agents/zanistabot |