---
title: "Get summary counts"
method: GET
path: "/v1/analytics/summary"
tags: ["Analytics"]
---

# Get summary counts

`GET /v1/analytics/summary`

## Request

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

Returns matched and relevant mentions, unique posts and people, sentiment, buying intent and questions, estimated reach, and the triage status of the matches. Pick the period with `range` (7d, 30d, 90d or 365d up to today) or with `from` and `to`. Days follow `timezone`, UTC by default. `keywordIds` and `platforms` narrow the data, and `compare=true` adds the equally long period just before. Dates are publish dates.

## Query parameters

- `range` '7d' | '30d' | '90d' | '365d': A preset period up to today, 30d by default. Ignored when you send from or to.
- `from` string: Start date in `timezone`, as YYYY-MM-DD. That day is included.
- `to` string: End date in `timezone`, as YYYY-MM-DD, included. Defaults to today.
- `keywordIds` string[], nullable: Keeps these keyword ids only. Repeat the parameter or separate values with commas. Leave it out for all keywords.
- `platforms` string[]: Keeps these platforms only. Repeat the parameter or separate values with commas. Leave it out for all platforms.
- `compare` boolean: true adds the equally long period just before as `previous`.
- `timezone` string: The IANA time zone used to split days, such as America/New_York. Defaults to UTC. The zone's offset at the end of the period is used for the whole period.

## Response `200`

The counts, plus `previous` with compare=true

- AnalyticsSummary
  - `window` object, required: Start and end of the period.
    - `from` string, required: The first day included.
    - `to` string, required: The last day included.
    - `days` integer, required: How many days the window spans.
    - `timezone` string, required: The IANA time zone used to split the days.
  - `matched` integer, required: All matches in the window, relevant or not. Usage counts this number.
  - `relevant` integer, required: Matches whose relevance score reached the threshold.
  - `posts` integer, required: Unique posts among the matches. A post that matches two keywords counts as two matches but one post.
  - `people` integer, required: Unique authors among the matches.
  - `sentiment` object, required: Sentiment split of the matched mentions.
    - `positive` integer, required: Matches with positive sentiment.
    - `neutral` integer, required: Matches with neutral sentiment.
    - `negative` integer, required: Matches with negative sentiment.
    - `unclassified` integer, required: Matches without a score, either still waiting or failed.
  - `buyIntent` integer, required: Matches tagged buy_intent.
  - `questions` integer, required: Matches tagged question.
  - `reach` object, required: An estimate of reach.
    - `followers` integer, required: The total followers of the unique authors with a known count. A rough idea of how many feeds the posts reached.
    - `people` integer, required: The number of `people` whose follower count is known.
  - `triage` object, required: The status of the matches in your inbox.
    - `open` integer, required: Matches with status open.
    - `ignored` integer, required: Matches with status ignored.
    - `done` integer, required: Matches with status done.
    - `waiting` integer, required: Relevant matches still open more than 24 hours after they matched.
    - `handledRate` number, nullable, required: The done count over the relevant count. Null if nothing was relevant.
    - `medianTimeToDoneMs` number, nullable, required: The median time in milliseconds between a match and its done status. Null when nothing is done.
  - `previous` object, nullable, required: With compare=true, the same counts for the equal period before. Otherwise null.
    - `matched` integer, required: All matches in the window, relevant or not. Usage counts this number.
    - `relevant` integer, required: Matches whose relevance score reached the threshold.
    - `posts` integer, required: Unique posts among the matches. A post that matches two keywords counts as two matches but one post.
    - `people` integer, required: Unique authors among the matches.
    - `sentiment` object, required: Sentiment split of the matched mentions.
      - `positive` integer, required: Matches with positive sentiment.
      - `neutral` integer, required: Matches with neutral sentiment.
      - `negative` integer, required: Matches with negative sentiment.
      - `unclassified` integer, required: Matches without a score, either still waiting or failed.
    - `buyIntent` integer, required: Matches tagged buy_intent.
    - `questions` integer, required: Matches tagged question.
    - `reach` object, required: An estimate of reach.
      - `followers` integer, required: The total followers of the unique authors with a known count. A rough idea of how many feeds the posts reached.
      - `people` integer, required: The number of `people` whose follower count is known.
    - `triage` object, required: The status of the matches in your inbox.
      - `open` integer, required: Matches with status open.
      - `ignored` integer, required: Matches with status ignored.
      - `done` integer, required: Matches with status done.
      - `waiting` integer, required: Relevant matches still open more than 24 hours after they matched.
      - `handledRate` number, nullable, required: The done count over the relevant count. Null if nothing was relevant.
      - `medianTimeToDoneMs` number, nullable, required: The median time in milliseconds between a match and its done status. Null when nothing is done.

## Other responses

- `400`: The query is not valid
- `401`: The API key is missing or not valid

---

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