---
title: "Compare AI tracking periods"
method: GET
path: "/projects/{project_id}/ai-tracking/trends"
tags: ["ai-tracking"]
---

# Compare AI tracking periods

`GET /projects/{project_id}/ai-tracking/trends`

## Request

- Base URL: `https://eu.bisibility.com/api/v1`
- URL: `https://eu.bisibility.com/api/v1/projects/{project_id}/ai-tracking/trends`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `/api/auth/oauth2/authorize`, token URL `/api/auth/oauth2/token`, scopes: `api:read`)

## Path parameters

- `project_id` string, required: Public project ID; membership and token scope are enforced.

## Query parameters

- `previous_run_id` string: Public tracking run ID scoped to this project.
- `run_id` string, required: Public tracking run ID scoped to this project.

## Headers

- `Bisibility-API-Version` 'v1'
- `X-Bisibility-Source` 'sdk' | 'cli' | 'mcp'

## Response `200`

Project-scoped tracking data with retained provenance and explicit unknown measurements.

- AiTrackingTrendsResponse
  - `data` AiTrackingTrends, required
    - `current_run_id` string, required
    - `previous_run_id` string
    - `current` object, required
      - `expected` integer, required
      - `observed` integer, required
      - `eligible` integer, required
      - `mentioned` integer, required
      - `absent_aio` integer, required
      - `partial` integer, required
      - `failed` integer, required
      - `unknown` integer, required
      - `missing` integer, required
      - `coverage` number, required
      - `mention_rate` number, nullable, required
    - `previous` object
      - `expected` integer, required
      - `observed` integer, required
      - `eligible` integer, required
      - `mentioned` integer, required
      - `absent_aio` integer, required
      - `partial` integer, required
      - `failed` integer, required
      - `unknown` integer, required
      - `missing` integer, required
      - `coverage` number, required
      - `mention_rate` number, nullable, required
    - `comparable` boolean, required
    - `reason` string, nullable, required
    - `delta` number, nullable, required
    - `baseline` 'neutral', required
    - `category` 'neutral'
    - `strata` object[]
      - `category` 'neutral' | 'comparative' | 'branded' | 'unknown', required
      - `current` object, required
        - `expected` integer, required
        - `observed` integer, required
        - `eligible` integer, required
        - `mentioned` integer, required
        - `absent_aio` integer, required
        - `partial` integer, required
        - `failed` integer, required
        - `unknown` integer, required
        - `missing` integer, required
        - `coverage` number, required
        - `mention_rate` number, nullable, required
      - `previous` object, required
        - `expected` integer, required
        - `observed` integer, required
        - `eligible` integer, required
        - `mentioned` integer, required
        - `absent_aio` integer, required
        - `partial` integer, required
        - `failed` integer, required
        - `unknown` integer, required
        - `missing` integer, required
        - `coverage` number, required
        - `mention_rate` number, nullable, required
      - `comparable` boolean, required
      - `reason` string, nullable, required
      - `delta` number, nullable, required
    - `next_cursor` string, nullable, required
    - `previous_next_cursor` string, nullable

## Other responses

- `400`: Invalid input or cursor
- `401`: Authentication required
- `403`: Project membership or credential scope denied
- `404`: Project-scoped resource not found
- `409`: Idempotency key payload or state conflict; Unsupported API version
- `422`: Unsupported source, model, consent or cost policy
- `423`: Project is read-only
- `429`: Rate limited

## Changes

- **2026-10-19** `a6e1ec0dec82`: 1 breaking, 2 warning, 8 info
  - removed the media type `application/json` for the response with the status `409`
  - deleted the `query` request parameter `cursor`
  - deleted the `query` request parameter `limit`
  - the endpoint scheme security `AppOAuth` was added to the API
  - …7 more

[Operation history](https://skmtc.dev/bisibility/apis/bisibility-public-api/changes/projects/:project_id/ai-tracking/trends/get.md)

---

[API](https://skmtc.dev/bisibility/apis/bisibility-public-api.md) · [All operations](https://skmtc.dev/bisibility/apis/bisibility-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bisibility/apis/bisibility-public-api/revisions/a6e1ec0dec82?raw)
