Skip to main content
If you run a website, this page tells you how to recognize requests from Keenable in your logs, check that they are real, and allow or block them. Keenable.ai, Inc. identifies its requests with two user-agent tokens. Both point to the public crawler page at keenable.ai/bot ↗, which is the reference for site owners.

User agents

KeenableBot sends this User-Agent header:
Keenable-User sends this User-Agent header:
Match on the token, 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:
You get a creationTime and a prefixes array. Each entry holds one ipv4Prefix in CIDR notation:
The output above is trimmed. If a request names a Keenable token and its source address is not in that token’s list, the request is not from Keenable. Download the lists again on a schedule, because the addresses can change.
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 the KeenableBot 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:
Keenable stops indexing your site, so your pages no longer appear in Keenable search results. This rule keeps KeenableBot out of one directory and allows the rest:
To allow KeenableBot on a site that blocks other crawlers, add a 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 the User-Agent header, the addresses in that token’s IP list, or both. To allow Keenable through a bot filter, allowlist the same addresses.

What Keenable does with crawled pages

Keenable builds a search index from the pages KeenableBot collects. The index answers queries from AI agents and applications through Search and Fetch. Results link to the source page.

Contact

Email abuse@keenable.ai to report excessive load, ask for a lower crawl rate, request removal of specific content, or report a crawler that claims to be Keenable. Include the hostname, the timestamps and the source addresses so Keenable can tell you whether the traffic is its own.