Score how well bots can crawl the site
get_crawl_healthAssess bot crawl health for AI or search engines by analyzing error rates, redirects, and response times to identify access issues.
Instructions
The requests of list_bot_visits for one kind, turned into a verdict by the API: how many were errors or redirects, how fast the site answered, and the worst problems behind those numbers.
assessments holds four fixed checks — the 3xx, 4xx and 5xx rates and the average response time — each scored ok, warning or critical against a fixed threshold the API sets (unknown only for the response-time check, when nothing was ever timed). issues lists up to 20 distinct problems (a bot, a path, a status and, for a redirect, where it pointed), worst first: a 5xx before a 4xx before a 3xx, then the one hit most often, then the one hit most recently. An assistant that cannot fetch a page answers from something else, so each issue is a citation that went elsewhere.
kind is required: ai scores what AI assistants and their bots found, seo what search engines and SEO tools found, and the two are never combined into one score. Only the newest 4 000 requests of the period are read, so narrow the period on a busy project rather than trusting a score built from a partial read.
A bot visit is a machine fetching a page, not a person reading one. It is the supply side of visibility: an assistant can only quote a page its bot was able to fetch, so this says whether the site is reachable and readable to them at all. It is a different measurement from being named in an answer (list_prompts, list_competitors), from being cited as a source (list_sources), and from somebody arriving afterwards (get_ai_traffic). kind=ai is the assistants; kind=seo is classic search engines and SEO tools.
A project whose integration is not connected answers this with zeros and empty lists, which reads exactly like a site nobody visits. Call get_integrations_status before reporting a zero or an empty list as a finding: it says whether Search Console, Google Analytics, the bot tracker and the sitemap are connected, and a sync that is failing. Not connected means the figures say nothing about the site, never that it had no traffic; say the integration is missing and that it can be connected in the PromptEye app.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | `ai` for AI assistants and their bots, `seo` for search engines and SEO tools. Required: there is no combined health. | |
| vendor | No | Only bots run by this company, spelled as the API spells it: OpenAI, Anthropic, Google, Perplexity, Meta, Amazon, Apple, Microsoft, ByteDance, Yandex, DuckDuckGo, Ahrefs, Semrush, Moz, CommonCrawl, Mistral, Cohere and others. This is not the `assistant` of get_ai_traffic, which matches a referrer instead. | |
| endDate | No | Last day to report on, inclusive. Defaults to today, and must be within 31 days of startDate — these endpoints read a month at a time, not a year. | |
| startDate | No | First day to report on, inclusive. Defaults to 30 days before today. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| total | Yes | Requests read for the period. | |
| issues | Yes | Up to 20 distinct problems (status 300 or above), worst first: 5xx before 4xx before 3xx, then the most frequent, then the most recent. | |
| success | Yes | Requests answered with a 2xx status. | |
| unknown | Yes | Requests the site never answered with any status code. | |
| redirects | Yes | Requests answered with a 3xx status. | |
| assessments | Yes | Four fixed checks: the 3xx, 4xx and 5xx rates, and the average response time. | |
| clientErrors | Yes | Requests answered with a 4xx status. | |
| scanRequests | Yes | Requests for a path that only a vulnerability scanner would ask for, counted apart from the rest. | |
| serverErrors | Yes | Requests answered with a 5xx status. | |
| averageResponseTimeMs | Yes | Average response time across the requests that reported one, in milliseconds. null = none reported one. |