{
 "tool": "verification-methods",
 "endpoint": "https://www.pathwren.workers.dev/tools/verification-methods",
 "asked": {
  "crawler": "semrush"
 },
 "summary": "9 crawler(s) matching \"semrush\".\n\nBy method: published ranges 0, reverse DNS 2, none 7.\n\nSemrushBot (Semrush): reverse-dns — Run the two-step reverse/forward check yourself — THIS SERVER DOES NOT RUN IT, it makes no outbound request: `dig -x <address> +short` must return a hostname under the operator's domain, and `dig <that hostname> +short` must return the same address. A prefix check cannot substitute for it.\n\nSemrushBot-OCOB (Semrush): reverse-dns — Run the two-step reverse/forward check yourself — THIS SERVER DOES NOT RUN IT, it makes no outbound request: `dig -x <address> +short` must return a hostname under the operator's domain, and `dig <that hostname> +short` must return the same address. A prefix check cannot substitute for it.\n\nSiteAuditBot (Semrush): none — The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.\n\nSemrushBot-BA (Semrush): none — The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.\n\nSemrushBot-SI (Semrush): none — The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.\n\nSemrushBot-SWA (Semrush): none — The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.\n\nSplitSignalBot (Semrush): none — The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.\n\nSemrushBot-FT (Semrush): none — The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.\n\nSemrushBot-ESI (Semrush): none — The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.",
 "answer": {
  "query": "semrush",
  "crawlers": [
   {
    "slug": "semrushbot",
    "name": "SemrushBot",
    "operator": "Semrush",
    "verification_method": "reverse-dns",
    "verification_label": "reverse DNS",
    "how": "Run the two-step reverse/forward check yourself — THIS SERVER DOES NOT RUN IT, it makes no outbound request: `dig -x <address> +short` must return a hostname under the operator's domain, and `dig <that hostname> +short` must return the same address. A prefix check cannot substitute for it.",
    "published_ip_ranges_url": null,
    "mirrored_prefixes": null,
    "respects_robots_txt": "documented",
    "user_agent_substring": "SemrushBot"
   },
   {
    "slug": "semrushbot-ocob",
    "name": "SemrushBot-OCOB",
    "operator": "Semrush",
    "verification_method": "reverse-dns",
    "verification_label": "reverse DNS",
    "how": "Run the two-step reverse/forward check yourself — THIS SERVER DOES NOT RUN IT, it makes no outbound request: `dig -x <address> +short` must return a hostname under the operator's domain, and `dig <that hostname> +short` must return the same address. A prefix check cannot substitute for it.",
    "published_ip_ranges_url": null,
    "mirrored_prefixes": null,
    "respects_robots_txt": "documented",
    "user_agent_substring": "SemrushBot-OCOB"
   },
   {
    "slug": "siteauditbot",
    "name": "SiteAuditBot",
    "operator": "Semrush",
    "verification_method": "none",
    "verification_label": "no published verification method",
    "how": "The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.",
    "published_ip_ranges_url": null,
    "mirrored_prefixes": null,
    "respects_robots_txt": "documented",
    "user_agent_substring": "SiteAuditBot"
   },
   {
    "slug": "semrushbot-ba",
    "name": "SemrushBot-BA",
    "operator": "Semrush",
    "verification_method": "none",
    "verification_label": "no published verification method",
    "how": "The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.",
    "published_ip_ranges_url": null,
    "mirrored_prefixes": null,
    "respects_robots_txt": "documented",
    "user_agent_substring": "SemrushBot-BA"
   },
   {
    "slug": "semrushbot-si",
    "name": "SemrushBot-SI",
    "operator": "Semrush",
    "verification_method": "none",
    "verification_label": "no published verification method",
    "how": "The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.",
    "published_ip_ranges_url": null,
    "mirrored_prefixes": null,
    "respects_robots_txt": "documented",
    "user_agent_substring": "SemrushBot-SI"
   },
   {
    "slug": "semrushbot-swa",
    "name": "SemrushBot-SWA",
    "operator": "Semrush",
    "verification_method": "none",
    "verification_label": "no published verification method",
    "how": "The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.",
    "published_ip_ranges_url": null,
    "mirrored_prefixes": null,
    "respects_robots_txt": "documented",
    "user_agent_substring": "SemrushBot-SWA"
   },
   {
    "slug": "splitsignalbot",
    "name": "SplitSignalBot",
    "operator": "Semrush",
    "verification_method": "none",
    "verification_label": "no published verification method",
    "how": "The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.",
    "published_ip_ranges_url": null,
    "mirrored_prefixes": null,
    "respects_robots_txt": "documented",
    "user_agent_substring": "SplitSignalBot"
   },
   {
    "slug": "semrushbot-ft",
    "name": "SemrushBot-FT",
    "operator": "Semrush",
    "verification_method": "none",
    "verification_label": "no published verification method",
    "how": "The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.",
    "published_ip_ranges_url": null,
    "mirrored_prefixes": null,
    "respects_robots_txt": "documented",
    "user_agent_substring": "SemrushBot-FT"
   },
   {
    "slug": "semrushbot-esi",
    "name": "SemrushBot-ESI",
    "operator": "Semrush",
    "verification_method": "none",
    "verification_label": "no published verification method",
    "how": "The operator publishes no verification method for this crawler. Neither a prefix check nor reverse DNS can confirm it; the user-agent is the only claim available, and it is only a claim.",
    "published_ip_ranges_url": null,
    "mirrored_prefixes": null,
    "respects_robots_txt": "documented",
    "user_agent_substring": "SemrushBot-ESI"
   }
  ],
  "tally": {
   "published-ranges": 0,
   "reverse-dns": 2,
   "none": 7,
   "other": 0
  },
  "what_this_is_for": "Before you read anything into a miss from verify_batch, find out whether the crawler can be verified by prefix at all. Of the crawlers in this index, only those with verification_method 'published-ranges' can.",
  "reverse_dns_is_not_performed_here": "This server makes no outbound request of any kind, so reverse DNS is handed back as a command to run, never as a result. A tool that fetched or resolved on request could be aimed at anything.",
  "index": {
   "crawlers_indexed": 150,
   "generated_at": "2026-09-14T09:49:20+00:00",
   "source": "https://www.pathwren.workers.dev/data/agents.json"
  },
  "source": "https://www.pathwren.workers.dev/mcp/netcheck"
 },
 "answered_by": {
  "note": "The MCP tool itself answered this. One implementation, two doors — this endpoint holds no copy of it.",
  "server": "crawler-ip-verifier",
  "endpoint": "https://www.pathwren.workers.dev/mcp/netcheck",
  "tool": "verification_methods",
  "protocol": "MCP streamable-http, JSON-RPC 2.0 tools/call"
 },
 "caveats": [
  "Reverse DNS is never performed here — no request leaves this host — so the command is handed back, labelled as not run."
 ],
 "docs": "https://www.pathwren.workers.dev/tools/verification-methods.html?s=client-dossiers",
 "catalogue": "https://www.pathwren.workers.dev/tools/index.json?s=client-dossiers",
 "more": {
  "who actually crawls this host": "https://www.pathwren.workers.dev/bot/index.html?s=client-dossiers",
  "every named client as one file": "https://www.pathwren.workers.dev/data/observed-clients.json?s=client-dossiers"
 },
 "auth": "none — no account, no key, no handshake. CORS open, cacheable, CC0-1.0.",
 "license": "CC0-1.0",
 "independent": true,
 "_about": {
  "page": "https://www.pathwren.workers.dev/bot/claudebot.html?s=client-dossiers",
  "what": "What this host recorded about the client that made this request — the requests, the status codes and the user-agent string, from its own log. Nothing else: no address is published, nothing is looked up anywhere, and there is no account to close.",
  "matched_on": "the User-Agent header you sent. If we have no page for it yet this points at the index of all of them.",
  "index": "https://www.pathwren.workers.dev/bot/index.html?s=client-dossiers"
 }
}
