User agents
KeenableBot sends this
User-Agent header:
User-Agent header:
KeenableBot or Keenable-User, not on the full string.
Verify a request
Anyone can copy a user-agent header, so check the source address as well. Requests that carry a Keenable token come from a fixed set of IP addresses. Keenable publishes one list per token as JSON, in the same format as Googlebot’s list:
This command downloads the list for Keenable-User:
creationTime and a prefixes array. Each entry holds one ipv4Prefix in CIDR notation:
Keenable requests don’t carry HTTP Message Signatures (Web Bot Auth) yet, so verify by IP address. Each token already has a key directory, at
https://keenablebot.keenable.ai/.well-known/http-message-signatures-directory and https://keenable-user.keenable.ai/.well-known/http-message-signatures-directory.Allow or block KeenableBot
KeenableBot follows the Robots Exclusion Protocol (RFC 9309). Use theKeenableBot token in your robots.txt. The match is not case-sensitive. If a group names KeenableBot, KeenableBot uses that group and ignores the User-agent: * group.
This rule blocks KeenableBot from your whole site:
KeenableBot group with Allow: /.
A new rule takes effect after KeenableBot next fetches your robots.txt.
Block at your server or firewall
To refuse either agent at your web server, firewall or CDN, match the token in theUser-Agent header, the addresses in that token’s IP list, or both. To allow Keenable through a bot filter, allowlist the same addresses.