---
title: "Get search stats"
method: GET
path: "/v0/admin/stats/searches"
tags: ["Admin"]
---

# Get search stats

`GET /v0/admin/stats/searches`

## Request

- Base URL: `https://docs.quivr.thevibecompany.co` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.quivr.thevibecompany.co/v0/admin/stats/searches`
- Auth: HTTP bearer

Searches of the key's Organization over the window per mode and search profile, with errors, latency, the number of results returned and the number of searches over the profile's latency objective, in the buckets of getPluginCallStats. The profile is unknown for a search that named a profile the deployment does not serve. Requires observability:read on a key that grants every Corpus.

## Query parameters

- `window` '1h' | '24h' | '7d'

## Response `200`

Successful response

- SearchStatsList
  - `window` '1h' | '24h' | '7d', required
  - `resolution_seconds` integer, required
  - `from` string, date-time, required
  - `to` string, date-time, required
  - `items` SearchStats[], required
    - `mode` 'lexical' | 'semantic' | 'hybrid', required
    - `profile` string, required
    - `results` integer, required: Results returned by these searches in total.
    - `over_objective` integer, required: Searches that took longer than the profile's latency objective, its max_latency_ms. They still answered.
    - `summary` StatsSummary, required: A series over the whole window. Latencies are in milliseconds and present only when count is positive.
      - `count` integer, required
      - `errors` integer, required
      - `p50_ms` number
      - `p95_ms` number
      - `mean_ms` number
      - `last_error_code` string
      - `last_error_at` string, date-time
    - `points` StatsPoint[], required: Non-empty buckets, oldest first.
      - `start` string, date-time, required
      - `count` integer, required
      - `errors` integer, required
      - `p50_ms` number, required
      - `p95_ms` number, required

## Other responses

- `default`: Structured error; 401 unauthenticated, 403 without observability:read on every Corpus, 422 invalid_window, 503 storage unavailable.

---

[API](https://skmtc.dev/thevibecompany/apis/quivr-http-api.md) - [All operations](https://skmtc.dev/thevibecompany/apis/quivr-http-api/llms.txt) - [OpenAPI document](https://skmtc.dev/thevibecompany/apis/quivr-http-api/revisions/4f4e30ba8f4e?raw)
