Shared AI activity report REST API
const url = 'http://127.0.0.1:25737/api/share/example/sites/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ai-activity';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url http://127.0.0.1:25737/api/share/example/sites/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/ai-activityReturns the unified AI activity report through a read-only share token, including the server-log fetch side: the query runs under the token grant for the shared site.
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”Filter in form type:value (repeatable). Supported types: path, hostname, referrer, referrer_host, device, country, city, provider, asn, browser, language, ai_bot, ai_bot_category, ai_source, utm_campaign, utm_content, utm_medium, utm_source, utm_term, qr_code_id.
Start of an optional comparison window. Malformed values are ignored rather than rejected.
End of an optional comparison window.
Responses
Section titled “Responses”AI activity report
Unified AI activity report merging tracked AI hits with server-log AI fetch records. Every count follows one rule: tracked hits plus fetch records. Depth metrics describe the fetch side only, because tracked hits carry no status code, response time, or transferred bytes.
object
Merged counters for the compare_from/compare_to window. Absent unless a comparison range is requested.
object
Total hits for the range under the non-AI filters only, so the AI share of a segment stays comparable while an AI dimension is drilled into.
Distinct paths seen on either side, counted before the top-list cap.
Distinct sessions referred by a known AI surface across the whole range.
object
Tracked AI bot hits plus AI fetch records in the bucket.
Distinct sessions referred by a known AI surface inside the bucket. Buckets are not additive: a session spanning two buckets counts in both.
One row of a merged AI activity top list. value is always tracked_hits + fetch_count. Dimensions only one source carries report zero on the other side: families and resource types exist only in server-log fetch records, referral sources only in tracked hits.
object
Merged agent top list per AI agent category, keyed by category.
object
One row of a merged AI activity top list. value is always tracked_hits + fetch_count. Dimensions only one source carries report zero on the other side: families and resource types exist only in server-log fetch records, referral sources only in tracked hits.
object
One row of a merged AI activity top list. value is always tracked_hits + fetch_count. Dimensions only one source carries report zero on the other side: families and resource types exist only in server-log fetch records, referral sources only in tracked hits.
object
One row of a merged AI activity top list. value is always tracked_hits + fetch_count. Dimensions only one source carries report zero on the other side: families and resource types exist only in server-log fetch records, referral sources only in tracked hits.
object
One row of a merged AI activity top list. value is always tracked_hits + fetch_count. Dimensions only one source carries report zero on the other side: families and resource types exist only in server-log fetch records, referral sources only in tracked hits.
object
One row of a merged AI activity top list. value is always tracked_hits + fetch_count. Dimensions only one source carries report zero on the other side: families and resource types exist only in server-log fetch records, referral sources only in tracked hits.
object
One row of a merged AI activity top list. value is always tracked_hits + fetch_count. Dimensions only one source carries report zero on the other side: families and resource types exist only in server-log fetch records, referral sources only in tracked hits.
object
One row of a merged AI activity top list. value is always tracked_hits + fetch_count. Dimensions only one source carries report zero on the other side: families and resource types exist only in server-log fetch records, referral sources only in tracked hits.
object
Examplegenerated
{ "ai_requests": 1, "comparison": { "ai_requests": 1, "fetch_count": 1, "pageviews": 1, "paths_crawled": 1, "referral_visits": 1, "tracked_hits": 1, "unique_agents": 1 }, "error_rate_4xx": 1, "error_rate_5xx": 1, "fetch_count": 1, "median_response_ms": 1, "pageviews": 1, "paths_crawled": 1, "referral_visits": 1, "series": [ { "ai_requests": 1, "fetch_count": 1, "referral_visits": 1, "time": "2026-04-15T12:00:00Z", "tracked_hits": 1 } ], "top_agents": [ { "fetch_count": 1, "name": "example", "tracked_hits": 1, "value": 1 } ], "top_agents_by_category": { "additionalProperty": [ { "fetch_count": 1, "name": "example", "tracked_hits": 1, "value": 1 } ] }, "top_categories": [ { "fetch_count": 1, "name": "example", "tracked_hits": 1, "value": 1 } ], "top_error_paths": [ { "fetch_count": 1, "name": "example", "tracked_hits": 1, "value": 1 } ], "top_families": [ { "fetch_count": 1, "name": "example", "tracked_hits": 1, "value": 1 } ], "top_paths": [ { "fetch_count": 1, "name": "example", "tracked_hits": 1, "value": 1 } ], "top_resource_types": [ { "fetch_count": 1, "name": "example", "tracked_hits": 1, "value": 1 } ], "top_sources": [ { "fetch_count": 1, "name": "example", "tracked_hits": 1, "value": 1 } ], "total_bytes": 1, "tracked_hits": 1, "unique_agents": 1}