Skip to main content

Mentions API

Retrieve collected social-media content for one project keyword.

Endpoint: GET /api/mentions

Authentication: Bearer token

Authorization: Bearer <access_token>

Get mentions

GET /api/mentions

Return a paginated list of mentions with optional source and sentiment filters.

Query parameters

ParameterTypeRequiredDefaultDescription
keywordIdstringYesKeyword ID; the current app flow uses project data.id, but Swagger does not formally define that mapping
pageintegerNo1Page number
limitintegerNo10Items per page; maximum 100
sentimenintegerNoSentiment filter: 1, 0, or -1
sosmedIdstringNoSocial-media source ID filter

Supported sosmedId values:

  • twitter
  • facebook
  • youtube
  • tiktok
  • instagram
  • news

Success response

200 OK:

{
"data": [
{
"id": "mention_id",
"targeted_account_id": "account_id",
"content": "A post that matched the monitored keyword.",
"keywordid": "project_or_keyword_id",
"url": "https://social.example/posts/123",
"sentimen": 1,
"socialmediaid": "social_media_id",
"createdat": "2026-07-20T08:30:00Z",
"updated_at": "2026-07-20T08:35:00Z",
"targeted_account": {
"username": "account_username",
"display_name": "Account Name"
},
"SnaKeyword": {
"group": "Acme July Monitoring",
"keyword": "acme"
}
}
],
"total": 43,
"page": 1,
"limit": 10,
"totalPages": 5
}

Response fields

FieldDescription
dataMention objects for the requested page
totalTotal matching mentions
pageCurrent page number
limitRequested page size
totalPagesTotal number of pages
data[].keywordidKeyword identifier associated with the mention
data[].sentimenNumeric sentiment value: 1, 0, or -1
data[].socialmediaidSource social-media identifier
data[].targeted_accountAuthor account information
data[].SnaKeywordProject group and matched keyword

The capitalized response key SnaKeyword is intentional and matches the published schema.

Declared responses

StatusMeaning
200Mentions retrieved successfully
400keywordId is missing
500Internal server error

The endpoint requires bearer authentication, although Swagger does not explicitly include 401 in this operation's response table.

cURL

curl \
"$SOCIOVITE_API_URL/api/mentions?keywordId=project_or_keyword_id&page=1&limit=10" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'

Add filters only when needed:

curl \
"$SOCIOVITE_API_URL/api/mentions?keywordId=project_or_keyword_id&page=1&limit=10&sentimen=1&sosmedId=social_media_id" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'

Get mentions with Model R10

GET /api/mentions/r10

Retrieve paginated mentions using the Model R10 engine. This endpoint supports sentiment filtering and filtering by one or more social-media sources.

Model R10 endpoint

/api/mentions/r10 is separate from /api/mentions. On the R10 endpoint, sosmedId accepts a comma-separated list such as twitter,news; do not send it as a JSON array.

The supplied R10 contract references web.TargetedAccountContentsModelR10Response for a successful response but does not include that model's definition. The exact response fields are therefore not inferred here.

Query parameters

ParameterTypeRequiredDefaultConstraints and description
keywordIdstringYesKeyword ID in UUID or CUID format
pageintegerNo1Page number; minimum 1
limitintegerNo10Items per page; minimum 1, maximum 100
sentimenintegerNoSentiment filter: -1 negative, 0 neutral, 1 positive
sosmedIdstringNoComma-separated sources: twitter, tiktok, facebook, youtube, instagram, news

Declared responses

StatusMeaning
200Mentions retrieved successfully
400Invalid request parameters
401Unauthorized
403Forbidden
406Unsupported Accept header
500Internal server error

cURL

Retrieve the first page without optional filters:

curl \
"$SOCIOVITE_API_URL/api/mentions/r10?keywordId=keyword_id&page=1&limit=10" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'

Filter positive mentions from Twitter and news:

curl \
"$SOCIOVITE_API_URL/api/mentions/r10?keywordId=keyword_id&page=1&limit=10&sentimen=1&sosmedId=twitter,news" \
-H 'accept: application/json' \
-H 'Authorization: Bearer <access_token>'

Error shape

{
"success": false,
"error": "Invalid request",
"message": "keywordId is required"
}