List mentions
Lists your keywords' mentions with filters and paging. Each mention pairs one post with one keyword. Latest match first by default, or sort=priority to rank the last 30 days by attention score. For the next page, send nextCursor and keep the filters and sort. alertId applies an alert's filter, giving what that alert would send. anyOf adds OR groups as URL-encoded JSON, at least one of which must match along with every other filter.
Authorization
bearerAuth An API key from POST /v1/api-keys. Keys start with ref_.
In: header
Query Parameters
Only this keyword's matches.
Only this platform's posts.
Value in
- "bluesky"
- "hackernews"
- "github"
- "stackoverflow"
- "devto"
- "reddit"
- "x"
- "youtube"
- "news"
- "linkedin"
- "tiktok"
- "instagram"
- "appstore"
- "googleplay"
- "trustpilot"
- "googlemaps"
Keeps mentions with this status only. Leave it out for all statuses.
Value in
- "open"
- "ignored"
- "done"
true keeps mentions the classifier scored relevant. false keeps the others, including unscored ones.
Keeps mentions with this sentiment only.
Value in
- "positive"
- "neutral"
- "negative"
Returns only mentions with this tag. One of bug_report, buy_intent, churn_intent, comparison, complaint, event, feedback, hiring, industry_insight, launch, praise, pricing, promotional, question and testimonial.
true keeps mentions that look machine-made, such as bot accounts, scheduled or template posts and AI-written text. false keeps the others, including mentions scored before this flag existed. Leave it out for all.
Keeps mentions by this person (an id from /v1/people), including merged accounts. Turns on includeMuted.
1 <= lengthtrue also returns mentions by muted people, which are hidden by default.
Member user id. Returns only mentions assigned to them.
1 <= lengthtrue shows only snoozed mentions, which are otherwise hidden until they wake.
Keeps mentions with this relevance score or higher. Unscored mentions are left out.
0 <= value <= 100Minimum classifier confidence, 0 to 1. Mentions with no confidence are dropped.
0 <= value <= 1Sends only posts by authors with this many followers or more. Unknown counts are left out.
0 <= valueKeeps posts by authors with this many followers or fewer. Unknown counts are left out.
0 <= valuetrue keeps replies and comments, meaning posts that answer another post. false keeps posts that are not replies. Leave it out for both.
Adds an alert rule's filter (an id from GET /v1/alerts) to the other filters. You get the mentions the rule would send, useful for a preview or an export in feed form. An unknown id returns 404.
1 <= lengthAdds a saved view's filter (an id from GET /v1/views) to the other filters, with every condition joined by AND. You get exactly what the view shows. An unknown id returns 404.
1 <= lengthKeeps matches of keywords of these kinds only (brand, competitor, topic). Repeat the parameter or separate values with commas.
items <= 3Keeps posts that link to one of these hosts or its subdomains, so slack.com also matches api.slack.com. Repeat the parameter or separate values with commas.
items <= 20Keeps posts from these platforms only.
items <= 20Platforms to exclude.
items <= 20Keeps matches of these keywords only.
items <= 50Keeps matches of keywords in these groups only (grp_...). Repeat the parameter or separate values with commas.
items <= 50Hides matches from keywords that belong to these groups.
items <= 50Keyword ids to exclude.
items <= 50Keeps mentions with these sentiments only.
items <= 3Leaves out these sentiments. Mentions not scored yet are kept.
items <= 3Keeps mentions tagged with one of these intents or topics.
items <= 20Intent or topic tags to exclude.
items <= 20Leaves out posts that link to these hosts or their subdomains.
items <= 20Sends only posts in these languages, as ISO 639-1 codes such as en, es or de. Posts with an unknown language are left out.
items <= 20Leaves out posts in these languages. Posts with an unknown language are kept.
items <= 20Keeps reviews with one of these star ratings, from 1 to 5. Use ratings=1,2 for the unhappy ones. Posts that are not reviews are left out.
items <= 5Star ratings (1 to 5) to hide, such as notRatings=5. Other posts are unaffected.
items <= 5Keeps posts with this many likes (upvotes, reactions) or more, counted when the post was collected. Posts without a like count are left out.
0 <= valueKeeps posts with this many reposts (shares, retweets) or more, counted when the post was collected. Posts without a repost count are left out.
0 <= valueKeeps posts with this many replies (comments) or more, counted when the post was collected. Posts without a reply count are left out.
0 <= valueKeeps posts with this many quotes or more, counted when the post was collected. Posts without a quote count are left out.
0 <= valueKeeps posts with this many views (plays) or more, counted when the post was collected. Posts without a view count are left out.
0 <= valueKeeps posts with this many bookmarks (saves) or more, counted when the post was collected. Posts without a bookmark count are left out.
0 <= valueGroups of conditions joined by OR, as URL-encoded JSON. For example [{"platforms":["github"],"intents":["bug_report"]},{"sentiments":["negative"]}] means "bug reports on GitHub, or anything negative". A group uses the fields of a view filter, where a list matches any value, a not list matches none, and all conditions are joined by AND. A mention passes when one group matches, and the other filters here still apply. Send 1 to 10 groups, none empty and none nested.
Searches post text and author names.
Keeps posts published at this time or later, as ISO 8601 or epoch ms.
date-timeKeeps posts published at this time or earlier, as ISO 8601 or epoch ms.
date-timenewest orders by match time, latest first. priority orders by attention score, highest first, and only covers the past 30 days of matches. Older ones are still available with newest. A cursor only works with the sort it came from.
"newest"Value in
- "newest"
- "priority"
Pass the previous page's nextCursor, with the same filters and sort.
How many to return, from 1 to 100.
1 <= value <= 10025Response Body
application/json
application/json
application/json
curl -X GET "https://example.com/v1/mentions"{ "data": [ { "id": "string", "status": "open", "relevant": true, "delivered": true, "priority": 0, "keyword": { "id": "string", "term": "string", "group": { "id": "string", "name": "string", "externalId": "string", "isDefault": true } }, "post": { "platform": "bluesky", "url": "string", "text": "string", "title": "string", "imageUrl": "string", "links": [ "string" ], "publishedAt": "string", "engagement": { "likes": 0, "reposts": 0, "replies": 0, "quotes": 0, "views": 0, "bookmarks": 0 }, "replyTo": { "author": "string", "url": "string", "text": "string" } }, "author": { "id": "string", "name": "string", "handle": "string", "url": "string", "avatarUrl": "string", "followers": 0, "tags": [ "string" ] }, "review": { "rating": 1, "ratingMax": 0, "title": "string", "version": "string", "country": "string", "verified": true, "response": "string", "responseAt": "string", "app": { "platform": "appstore", "id": "string", "url": "string" } }, "classification": { "relevance": 0, "sentiment": "positive", "intents": [ "string" ], "automated": true, "language": "string", "confidence": 0, "uncertain": true, "note": "string", "failed": true, "feedback": { "relevant": true, "sentiment": "positive", "at": "string", "original": { "relevance": 0, "sentiment": "positive" } } }, "triage": { "assignee": { "id": "string", "name": "string", "email": "string" }, "snoozedUntil": "string", "note": "string" }, "createdAt": "string" } ], "nextCursor": "string"}Get a mention
Fetches one mention by id, with the same fields the list returns. An id from another workspace gets a 404.
Update a mention
The only way to change a mention. Set status to ignored or done when it is handled, or back to open. You can also assign it to a member, snooze it out of the feed, add a note for your team, or correct the classifier. `relevant` true or false is your judgment, which sets relevance to 100 or 0 for every list, filter, digest and report. `sentiment` replaces the label. Null removes your correction and brings back the classifier's value. Fields you leave out stay as they are. Delivery and billing are never affected.