---
title: "Headline counts for a window"
method: GET
path: "/v1/analytics/summary"
tags: ["Analytics"]
---

# Headline counts for a window

`GET /v1/analytics/summary`

## Request

- Base URL: `https://api.mentio.dev`
- URL: `https://api.mentio.dev/v1/analytics/summary`
- Auth: HTTP bearer

Matched and relevant mentions, distinct posts and people, sentiment, buying intent and questions, estimated reach, and where the matches stand in triage. The window is `range` (7d, 30d, 90d, 365d, ending today) or `from` and `to`, cut into days in `timezone` (UTC by default); `keywordIds` and `platforms` narrow it; `compare=true` adds the period of the same length right before it. Time axis is the publish date.

## Query parameters

- `range` '7d' | '30d' | '90d' | '365d': Preset window ending today. Ignored when from or to is given. Default 30d.
- `from` string: First day, YYYY-MM-DD, inclusive, in `timezone`.
- `to` string: Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.
- `keywordIds` string[], nullable: Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.
- `platforms` string[]: Only these platforms. Repeatable, or comma-separated; omit for every platform.
- `compare` boolean: true adds the period of the same length right before the window as `previous`.
- `timezone` string: IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window.

## Response `200`

The counts, with `previous` when comparing

- AnalyticsSummary
  - `window` object, required: The window the report covers.
    - `from` string, required: First day, inclusive.
    - `to` string, required: Last day, inclusive.
    - `days` integer, required: Length of the window in days.
    - `timezone` string, required: IANA zone the days were cut in.
  - `matched` integer, required: Every match in the window, relevant or not: the number usage counts.
  - `relevant` integer, required: Matches scored at or above the relevance threshold.
  - `posts` integer, required: Distinct posts behind the matches: a post matching two keywords is two matches, one post.
  - `people` integer, required: Distinct authors behind the matches.
  - `sentiment` object, required: Matched mentions by classifier sentiment.
    - `positive` integer, required: Classified positive.
    - `neutral` integer, required: Classified neutral.
    - `negative` integer, required: Classified negative.
    - `unclassified` integer, required: Not scored: still queued, or the classifier failed on it.
  - `buyIntent` integer, required: Matches carrying the buy_intent intent.
  - `questions` integer, required: Matches carrying the question intent.
  - `reach` object, required: Estimated reach.
    - `followers` integer, required: Followers summed over the distinct authors whose count is known: an estimate of the feeds the posts landed in.
    - `people` integer, required: How many of `people` have a known follower count.
  - `triage` object, required: Where the matches stand in your inbox.
    - `open` integer, required: Status open.
    - `ignored` integer, required: Status ignored.
    - `done` integer, required: Status done.
    - `waiting` integer, required: Relevant, still open, and matched more than 24 hours ago.
    - `handledRate` number, nullable, required: done divided by relevant, 0 to 1; null when nothing was relevant.
    - `medianTimeToDoneMs` number, nullable, required: Median milliseconds from match to done; null when nothing was done.
  - `previous` object, nullable, required: The same counts over the period of the same length right before the window; null unless compare=true.
    - `matched` integer, required: Every match in the window, relevant or not: the number usage counts.
    - `relevant` integer, required: Matches scored at or above the relevance threshold.
    - `posts` integer, required: Distinct posts behind the matches: a post matching two keywords is two matches, one post.
    - `people` integer, required: Distinct authors behind the matches.
    - `sentiment` object, required: Matched mentions by classifier sentiment.
      - `positive` integer, required: Classified positive.
      - `neutral` integer, required: Classified neutral.
      - `negative` integer, required: Classified negative.
      - `unclassified` integer, required: Not scored: still queued, or the classifier failed on it.
    - `buyIntent` integer, required: Matches carrying the buy_intent intent.
    - `questions` integer, required: Matches carrying the question intent.
    - `reach` object, required: Estimated reach.
      - `followers` integer, required: Followers summed over the distinct authors whose count is known: an estimate of the feeds the posts landed in.
      - `people` integer, required: How many of `people` have a known follower count.
    - `triage` object, required: Where the matches stand in your inbox.
      - `open` integer, required: Status open.
      - `ignored` integer, required: Status ignored.
      - `done` integer, required: Status done.
      - `waiting` integer, required: Relevant, still open, and matched more than 24 hours ago.
      - `handledRate` number, nullable, required: done divided by relevant, 0 to 1; null when nothing was relevant.
      - `medianTimeToDoneMs` number, nullable, required: Median milliseconds from match to done; null when nothing was done.

## Other responses

- `400`: Invalid query
- `401`: Missing or invalid API key

---

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