Anthropic operates ClaudeBot for web crawling and the Claude API for programmatic access. Both produce distinctive TLS fingerprints that differ from their underlying HTTP client libraries.
| Component | User-Agent | JA4 | Notes |
|---|---|---|---|
| ClaudeBot | ClaudeBot/1.0 | t13d1011h2_61a7ad8aa9b6_* | Same cipher hash as GPTBot — shared infra or similar custom TLS |
| Claude API (Python SDK) | Anthropic/Python x.x.x | t13d3514h2_bfa337485184_* | httpx-based, standard Python ssl |
| Claude API (Node SDK) | Anthropic/JS x.x.x | Varies | Node.js TLS fingerprint |
ClaudeBot follows a consistent crawl pattern: robots.txt first, then sitemap.xml, then indexed pages. It respects robots.txt directives and crawls at ~40-80 minute intervals per domain. IP range: 216.73.216.0/24.
from counteragent import Client
ca = Client(api_key="ca_live_...")
result = ca.detect(
user_agent="Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0)",
ja4="t13d1011h2_61a7ad8aa9b6_3fcd1a44f3e3"
)
# result.agent_name = "ClaudeBot"
# result.confidence = 0.99