---
title: "Get search analytics"
method: GET
path: "/api/v2/projects/{slug}/analytics/search/"
tags: ["Analytics"]
---

# Get search analytics

`GET /api/v2/projects/{slug}/analytics/search/`

## Request

- Base URL: `https://app.biel.ai`
- URL: `https://app.biel.ai/api/v2/projects/{slug}/analytics/search/`
- Auth: API key in header `Authorization`

Aggregate KPIs and daily activity for the search experience over a date range. Counts come from [`GET /api/v2/projects/{slug}/search/`](/api/search-project) calls and [`POST /api/v2/projects/{slug}/search/click/`](/api/track-search-click) events.

**Required permission:** `analytics_read`

## Path parameters

- `slug` string, required

## Query parameters

- `from` string, date
- `to` string, date

## Response `200`

Search analytics retrieved successfully

- SearchAnalytics: KPIs and daily activity for the search experience in the requested date range.
  - `kpis` object, required
    - `unique_users` integer, required: Distinct end users issuing searches (resolved by IP).
    - `total_searches` integer, required: Total search queries.
    - `satisfaction_rate` integer, required: Percentage 0-100. Computed as clicks divided by searches.
    - `avg_click_position` number, nullable, required: Average one-based rank of clicked results, or `null` when no click reported a rank.
  - `activity` object, required
    - `searches_per_day` DailyCount[], required: Searches per day. Always covers every day of the range.
      - `day` string, date, required: ISO-8601 date (`YYYY-MM-DD`).
      - `count` integer, required: Number of events recorded on this day.
    - `top_search_terms` TopSearchTerm[], required: Top 10 search queries by volume.
      - `query` string, required
      - `count` integer, required
    - `searches_without_results` TopSearchTerm[], required: Top 10 queries that returned no results.
      - `query` string, required
      - `count` integer, required
    - `searches_without_clicks` TopSearchTerm[], required: Top 10 queries with no clicked result. Returns an empty list until all clicks in the selected period include query attribution.
      - `query` string, required
      - `count` integer, required

## Other responses

- `400`: Bad request. Invalid or missing data.
- `403`: Forbidden. Missing permissions.
- `404`: Resource not found.

---

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