Mentions over time
Matched, relevant and sentiment counts per day or week across the window, as one total series or split per platform or per keyword with `by`. 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.
API key minted via POST /v1/api-keys (format mk_live_...)
In: header
Query Parameters
Preset window ending today. Ignored when from or to is given. Default 30d.
"7d" | "30d" | "90d" | "365d"First day, YYYY-MM-DD, inclusive, in timezone.
^\d{4}-\d{2}-\d{2}$Last day, YYYY-MM-DD, inclusive, in timezone. Default today.
^\d{4}-\d{2}-\d{2}$Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.
items <= 50Only these platforms. Repeatable, or comma-separated; omit for every platform.
items <= 20true adds the period of the same length right before the window as previous.
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.
length <= 64Point granularity: hour (windows of at most 14 days), day, week (Monday start) or month. Default: day up to 90 days, week beyond.
"hour" | "day" | "week" | "month"Split into one series per platform, per keyword (the top 20 by matched, the rest folded into "other") or per sentiment (positive, neutral, negative, unclassified). Omit for one total series.
"platform" | "keyword" | "sentiment"Response Body
application/json
application/json
application/json
curl -X GET "https://api.mentio.dev/v1/analytics/series"{
"window": {
"from": "string",
"to": "string",
"days": 0,
"timezone": "string",
"bucket": "hour"
},
"data": [
{
"key": "string",
"label": "string",
"keyword": {
"id": "string",
"term": "string",
"kind": "brand"
},
"points": [
{
"date": "string",
"matched": 0,
"relevant": 0,
"positive": 0,
"neutral": 0,
"negative": 0,
"unclassified": 0
}
]
}
],
"previous": [
{
"key": "string",
"label": "string",
"keyword": {
"id": "string",
"term": "string",
"kind": "brand"
},
"points": [
{
"date": "string",
"matched": 0,
"relevant": 0,
"positive": 0,
"neutral": 0,
"negative": 0,
"unclassified": 0
}
]
}
]
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"retryAfterSeconds": 0
}
}{
"error": {
"code": "unauthorized",
"message": "string",
"requestId": "string",
"retryAfterSeconds": 0
}
}Mentions grouped by one dimension GET
One table of matched, relevant and sentiment counts grouped by `by`: platform, keyword, sentiment, intent, status, hour (weekday and hour of day) or person. 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.
Headline counts for a window GET
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.