Mentions

List mentions

List mentions (brand mentions your listeners matched), newest first by datePublished (when the post went live on its source platform).

Cursor pagination only — mentions insert continuously, so this endpoint does not support offset/page pagination. Pass meta.nextCursor from a response as cursor on the next request. When meta.hasMore is false, there is nothing more to fetch.

Because sorting is by publish date rather than discovery date, a mention backfilled or found via a delayed crawl can carry an older datePublished than mentions you've already paginated past, and will not appear in a subsequent page. Use dateFoundFrom/dateFoundTo if you need to reconcile against everything SnitchFeed has found in a given window.

status defaults to ready (unarchived). Note that status on a mention is a point-in-time value, not a live one: a mention synced before it was archived will not reflect the change unless you re-fetch it.

Read-only — this endpoint does not consume credits.


GET
/mentions

Authorization

bearerAuth
AuthorizationBearer <token>

Organization API key from Integrations → API keys.

In: header

Query Parameters

cursor?string

Opaque cursor from a previous response's meta.nextCursor.

limit?integer
Range1 <= value <= 100
Default25
platform?string

Value in

  • "reddit"
  • "twitter"
  • "bluesky"
  • "linkedin"
  • "hackernews"
sentiment?string

Value in

  • "positive"
  • "negative"
  • "neutral"
status?string

Defaults to ready (unarchived) mentions.

Value in

  • "ready"
  • "archived"
listenerId?integer|null
dateFoundFrom?string

ISO 8601 instant. Only mentions found at or after this time.

dateFoundTo?string

ISO 8601 instant. Only mentions found at or before this time.

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/mentions"
{  "requestId": "string",  "mentions": [    {      "id": "string",      "listenerId": 0,      "platform": "reddit",      "keywords": [        "string"      ],      "status": "ready",      "datePublished": "string",      "dateFound": "string",      "content": {        "url": "string",        "text": "string",        "author": "string",        "authorUrl": "string",        "title": "string",        "subreddit": "string",        "engagement": {          "score": 0,          "comments": 0,          "shares": 0,          "retweets": 0        }      },      "ai": {        "sentiment": "positive",        "fitScore": 0,        "intentTags": [          "string"        ],        "summary": "string"      },      "snitchfeedUrl": "string"    }  ],  "meta": {    "hasMore": true,    "nextCursor": "string"  }}
{  "requestId": "01HXYZABCDEF",  "error": {    "code": "validation_error",    "message": "query: String must contain at least 1 character(s)",    "issues": [      {        "path": "query",        "message": "String must contain at least 1 character(s)"      }    ]  }}
{  "requestId": "01HXYZABCDEF",  "error": {    "code": "unauthorized",    "message": "Invalid or revoked API key."  }}
{  "requestId": "01HXYZABCDEF",  "error": {    "code": "rate_limited",    "message": "Rate limit exceeded for linkedin. Try again later.",    "retryAfter": 42  }}