---
title: "Mentions over time"
description: "Returns matched, relevant and sentiment counts per day or week over the period. You get one total series, or one per platform or keyword with `by`. 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."
canonical: https://docs.rumoro.dev/api/analytics/get-analytics-series
markdown: https://docs.rumoro.dev/api/analytics/get-analytics-series.mdx
---

# Mentions over time

`GET /v1/analytics/series`

Returns matched, relevant and sentiment counts per day or week over the period. You get one total series, or one per platform or keyword with `by`. 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.

## Parameters

| Name | In | Description |
| --- | --- | --- |
| `range` | query | A preset period up to today, 30d by default. Ignored when you send from or to. |
| `from` | query | Start date in `timezone`, as YYYY-MM-DD. That day is included. |
| `to` | query | End date in `timezone`, as YYYY-MM-DD, included. Defaults to today. |
| `keywordIds` | query | Keeps these keyword ids only. Repeat the parameter or separate values with commas. Leave it out for all keywords. |
| `platforms` | query | Keeps these platforms only. Repeat the parameter or separate values with commas. Leave it out for all platforms. |
| `compare` | query | true adds the equally long period just before as `previous`. |
| `timezone` | query | 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. |
| `bucket` | query | The size of each point. hour for periods up to 14 days, day, week (starting Monday) or month. By default days up to 90 days and weeks beyond. |
| `by` | query | Splits the data into a series for each platform, each keyword or each sentiment (positive, neutral, negative, unclassified). By keyword you get the top 20 by matches, with the rest combined as "other". Leave it out for one total series. |

## Responses

| Status | Meaning |
| --- | --- |
| 200 | The series with zeros for empty points, oldest first |
| 400 | The query is not valid |
| 401 | The API key is missing or not valid |

The [OpenAPI document](https://api.rumoro.dev/v1/openapi.json) has every schema. Rules shared by all endpoints are in [Conventions](https://docs.rumoro.dev/conventions.mdx).
