sensorhubDevelopers
Open SensorhubGet an API key
Browse documentation
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

FieldTypeDescriptionFilterSort
id
stringStable identifier for this aggregate row.–✓
project_id
indexed
stringProject ID from projects.✓–
day
datetimeUTC calendar day. Filter this field to select complete daily buckets.✓✓
channel
stringMention channel.
CHATGPT GOOGLE_AIO WEB_SERP REDDIT XCOM LINKEDIN FACEBOOK QUORA STACKOVERFLOW GITHUB INSTAGRAM YOUTUBE TIKTOK FORUM
✓✓
subject_kind
stringTracked subject kind; only OWN and COMPETITOR are counted.
OWN COMPETITOR TOPIC
✓✓
subject_label
stringStored subject label, including product labels before owner rollup.✓✓
sentiment_label
nullable
stringStored sentiment label; null when unscored. This dimension does not apply the separate sentiment-counting gate.
NEGATIVE NEUTRAL POSITIVE
✓✓
mentions
integerMention 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 25

Calling 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>"
  ]
}
JSON
Row 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
}