REST API / Views
mention_daily
View
Daily unarchived OWN and COMPETITOR mention-row counts, with each project's Share of Voice counting gate. Subject labels stay as stored, including tracked product labels. For dashboard-identical headline numbers, product-to-owner deduplication, anchored windows and deltas, use read report_share_of_voice; owner deduplication depends on the report window and is not additive across daily buckets.
- Max rows per query
- 100
- Default order
- day desc
- Required filter
- one of project_id
- Max offset
- 2000
- Cursor paging
- by id
Filter project_id and day where available. For dashboard-identical headline numbers, anchored windows and deltas, use read report_*.
Fields
| Field | Type | Description | Filter | Sort |
|---|---|---|---|---|
id | string | Stable identifier for this aggregate row. | – | ✓ |
project_id indexed | string | Project ID from projects. | ✓ | – |
day | datetime | UTC calendar day. Filter this field to select complete daily buckets. | ✓ | ✓ |
channel | string | Mention channel.CHATGPT GOOGLE_AIO WEB_SERP REDDIT XCOM LINKEDIN FACEBOOK QUORA STACKOVERFLOW GITHUB INSTAGRAM YOUTUBE TIKTOK FORUM | ✓ | ✓ |
subject_kind | string | Tracked subject kind; only OWN and COMPETITOR are counted.OWN COMPETITOR TOPIC | ✓ | ✓ |
subject_label | string | Stored subject label, including product labels before owner rollup. | ✓ | ✓ |
sentiment_labelnullable | string | Stored sentiment label; null when unscored. This dimension does not apply the separate sentiment-counting gate.NEGATIVE NEUTRAL POSITIVE | ✓ | ✓ |
mentions | integer | Mention rows passing the Share of Voice gate in this bucket. | ✓ | ✓ |
Examples
Example
SELECT id, project_id, day, channel, subject_kind
FROM mention_daily
WHERE project_id = $1
ORDER BY day DESC
LIMIT 25Calling it
MCP
Tool call
query({"sql":"SELECT id, project_id, day, channel, subject_kind FROM mention_daily WHERE project_id = $1 ORDER BY day DESC LIMIT 25","params":["<value 1>"]})REST
curl
curl -X POST "https://app.sensorhub.ai/api/v1/query" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
--data-binary @- <<'JSON'
{
"sql": "SELECT id, project_id, day, channel, subject_kind FROM mention_daily WHERE project_id = $1 ORDER BY day DESC LIMIT 25",
"params": [
"<value 1>"
]
}
JSONRow JSON Schema
json
{
"type": "object",
"description": "Daily unarchived OWN and COMPETITOR mention-row counts, with each project's Share of Voice counting gate. Subject labels stay as stored, including tracked product labels. For dashboard-identical headline numbers, product-to-owner deduplication, anchored windows and deltas, use read report_share_of_voice; owner deduplication depends on the report window and is not additive across daily buckets.",
"properties": {
"id": {
"type": "string",
"description": "Stable identifier for this aggregate row.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": false,
"x-sensorhub-sortable": true
},
"project_id": {
"type": "string",
"description": "Project ID from projects.",
"x-sensorhub-indexed": true,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": false
},
"day": {
"type": "string",
"description": "UTC calendar day. Filter this field to select complete daily buckets.",
"format": "date-time",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"channel": {
"type": "string",
"description": "Mention channel.",
"enum": [
"CHATGPT",
"GOOGLE_AIO",
"WEB_SERP",
"REDDIT",
"XCOM",
"LINKEDIN",
"FACEBOOK",
"QUORA",
"STACKOVERFLOW",
"GITHUB",
"INSTAGRAM",
"YOUTUBE",
"TIKTOK",
"FORUM"
],
"x-sensorhub-filter-operators": [
"=",
"!=",
"<>",
"IN",
"NOT IN",
"IS NULL",
"IS NOT NULL"
],
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"subject_kind": {
"type": "string",
"description": "Tracked subject kind; only OWN and COMPETITOR are counted.",
"enum": [
"OWN",
"COMPETITOR",
"TOPIC"
],
"x-sensorhub-filter-operators": [
"=",
"!=",
"<>",
"IN",
"NOT IN",
"IS NULL",
"IS NOT NULL"
],
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"subject_label": {
"type": "string",
"description": "Stored subject label, including product labels before owner rollup.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"sentiment_label": {
"type": [
"string",
"null"
],
"description": "Stored sentiment label; null when unscored. This dimension does not apply the separate sentiment-counting gate.",
"enum": [
"NEGATIVE",
"NEUTRAL",
"POSITIVE",
null
],
"x-sensorhub-filter-operators": [
"=",
"!=",
"<>",
"IN",
"NOT IN",
"IS NULL",
"IS NOT NULL"
],
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
},
"mentions": {
"type": "integer",
"description": "Mention rows passing the Share of Voice gate in this bucket.",
"x-sensorhub-indexed": false,
"x-sensorhub-searchable": false,
"x-sensorhub-aggregatable": true,
"x-sensorhub-filterable": true,
"x-sensorhub-sortable": true
}
},
"additionalProperties": false
}