Skip to content
Start here

List bots

radar.bots.list(BotListParams**kwargs) -> BotListResponse
GET/radar/bots

Retrieves a list of bots.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
User Details WriteUser Details Read
ParametersExpand Collapse
bot_category: Optional[Literal["ACADEMIC_RESEARCH", "ADVERTISING_AND_MARKETING", "AI_ASSISTANT", 15 more]]

Filters results by bot category. ACCESSIBILITY, AGGREGATOR, AI_SEARCH, ARCHIVER, SOCIAL_MEDIA_MARKETING and WEBHOOKS are deprecated legacy categories that match only that exact category.

One of the following:
"ACADEMIC_RESEARCH"
"ADVERTISING_AND_MARKETING"
"AI_ASSISTANT"
"AI_CRAWLER"
"COMMERCE"
"FEED_FETCHER"
"MONITORING_AND_ANALYTICS"
"OTHER"
"PAGE_PREVIEW"
"SEARCH_ENGINE_CRAWLER"
"SEARCH_ENGINE_OPTIMIZATION"
"SECURITY"
"ACCESSIBILITY"
"AGGREGATOR"
"AI_SEARCH"
"ARCHIVER"
"SOCIAL_MEDIA_MARKETING"
"WEBHOOKS"
bot_operator: Optional[str]

Filters results by bot operator.

maxLength100
bot_verification_status: Optional[Literal["VERIFIED"]]

Filters results by bot verification status.

format: Optional[Literal["JSON", "CSV"]]

Format in which results will be returned.

One of the following:
"JSON"
"CSV"
kind: Optional[Literal["AGENT", "BOT"]]

Filters results by bot kind. Deprecated: the Verified Bot / Signed Agent distinction is being removed.

One of the following:
"AGENT"
"BOT"
limit: Optional[int]

Limits the number of objects returned in the response.

exclusiveMinimum
minimum0
offset: Optional[int]

Skips the specified number of objects before fetching the results.

minimum0
ReturnsExpand Collapse
class BotListResponse: …
bots: List[Bot]
access_level: Optional[str]

Who can operate the bot: DIRECT bots reach origins under their own identity, while INTERMEDIARY bots forward requests on behalf of another agent or a person.

categories: List[str]

The categories of the bot.

Deprecatedcategory: str

The category of the bot. Deprecated: use categories.

content_use: Optional[str]

How the bot uses the content it fetches (e.g., immediate, reference or full).

description: str

A summary for the bot (e.g., purpose).

Deprecatedkind: str

The kind of the bot.

name: str

The name of the bot.

operator: str

The organization that owns and operates the bot.

slug: str

A kebab-case identifier derived from the bot name.

user_agent_patterns: List[str]

List bots

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
bots = client.radar.bots.list()
print(bots.bots)
{
  "result": {
    "bots": [
      {
        "accessLevel": "DIRECT",
        "categories": [
          "AI_CRAWLER"
        ],
        "category": "AI_CRAWLER",
        "contentUse": "full",
        "description": "OpenAI/ChatGPT's web crawler",
        "kind": "AGENT",
        "name": "GPTBot",
        "operator": "OpenAI",
        "slug": "gptbot",
        "userAgentPatterns": [
          "GPTBot"
        ]
      }
    ]
  },
  "success": true
}
Returns Examples
{
  "result": {
    "bots": [
      {
        "accessLevel": "DIRECT",
        "categories": [
          "AI_CRAWLER"
        ],
        "category": "AI_CRAWLER",
        "contentUse": "full",
        "description": "OpenAI/ChatGPT's web crawler",
        "kind": "AGENT",
        "name": "GPTBot",
        "operator": "OpenAI",
        "slug": "gptbot",
        "userAgentPatterns": [
          "GPTBot"
        ]
      }
    ]
  },
  "success": true
}