Mentions

Export mentions as CSV

The same mentions GET /v1/mentions would list for these filters, as CSV, newest matched first (the order they entered your feed, which can differ from the post date): id, published_at, platform, keyword, author, author_url, author_followers, relevance, sentiment, intents (pipe-separated), status, relevant, delivered, url, text (first 1,000 characters). Capped at 10,000 rows; the X-Mentions-Truncated header says when the cap cut the list. At most 6 exports per minute per workspace; a 429 carries Retry-After.

GET
/v1/mentions/export.csv
AuthorizationBearer <token>

API key minted via POST /v1/api-keys (format mk_live_...)

In: header

Query Parameters

keywordId?string

Only matches of this keyword.

platform?string

Only posts from this platform.

Value in"bluesky" | "hackernews" | "github" | "stackoverflow" | "devto" | "reddit" | "x" | "youtube" | "news" | "linkedin"
status?string

Only mentions in this status. Omit for every status.

Value in"open" | "ignored" | "done"
relevant?boolean

true: only mentions the classifier scored relevant; false: only the rest (unclassified included).

sentiment?string

Only this sentiment.

Value in"positive" | "neutral" | "negative"
intent?string

Only mentions carrying this intent (buy_intent, question, complaint, praise, comparison).

automated?boolean

true: only mentions that read as machine-made (a bot account, a scheduled or templated post, AI-written text); false: only the rest, mentions judged before this existed included. Omitted: everything.

personId?string

Only this person (an id from /v1/people), merged accounts included. Implies includeMuted.

Length1 <= length
includeMuted?boolean

true: include mentions by people you muted, hidden by default.

assigneeId?string

Only mentions assigned to this workspace member (user id).

Length1 <= length
snoozed?boolean

true: only mentions currently snoozed. Otherwise snoozed mentions stay out until they wake.

excludeAuthors?|null

Hide these authors: display names, handles or profile URLs. Repeatable, or one comma-separated value.

Itemsitems <= 200
minRelevance?integer|null

Only mentions scored at least this; unclassified ones are excluded.

Range0 <= value <= 100
minFollowers?integer|null

Only authors with at least this many followers. Unknown reach never passes.

Range0 <= value
maxFollowers?integer|null

Only authors with at most this many followers. Unknown reach never passes.

Range0 <= value
isReply?boolean

true: only replies and comments (posts answering another post); false: only top-level posts. Omitted: both.

alertId?string

Apply an alert rule's filter (an id from GET /v1/alerts) on top of the other filters: the same mentions the rule would send, for a feed-shaped export or a preview. Unknown ids are a 404.

Length1 <= length
tags?|null

Only authors your workspace tagged with any of these (exact, case-sensitive). Repeatable, or comma-separated.

Itemsitems <= 20
linkHosts?|null

Only posts linking to any of these hosts, the host itself or a subdomain of it (octolens.com also matches blog.octolens.com). Repeatable, or comma-separated.

Itemsitems <= 20
platforms?array<string>

Only posts from any of these platforms.

Itemsitems <= 20
notPlatforms?array<string>

Never posts from these platforms.

Itemsitems <= 20
keywordIds?|null

Only matches of any of these keywords.

Itemsitems <= 50
notKeywordIds?|null

Never matches of these keywords.

Itemsitems <= 50
sentiments?array<string>

Only these sentiments.

Itemsitems <= 3
notSentiments?array<string>

Never these sentiments. A mention the classifier has not scored yet still passes.

Itemsitems <= 3
intents?|null

Only mentions carrying any of these intents.

Itemsitems <= 10
notIntents?|null

Never mentions carrying these intents.

Itemsitems <= 10
notLinkHosts?|null

Never posts linking to these hosts, the host itself or a subdomain of it.

Itemsitems <= 20
notTags?|null

Never authors your workspace tagged with any of these.

Itemsitems <= 20
languages?array<string>

Only posts in any of these languages (ISO 639-1: en, es, de). A post whose language is unknown never passes.

Itemsitems <= 20
notLanguages?array<string>

Never posts in these languages. A post whose language is unknown still passes.

Itemsitems <= 20
q?string

Substring search in the post text or the author's name.

since?string

Only posts published at or after this instant (ISO 8601, or epoch ms).

Formatdate-time
until?string

Only posts published at or before this instant (ISO 8601, or epoch ms).

Formatdate-time

Response Body

text/csv

application/json

application/json

application/json

curl -X GET "https://api.mentio.dev/v1/mentions/export.csv"
"string"
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "retryAfterSeconds": 0
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "retryAfterSeconds": 0
  }
}
{
  "error": {
    "code": "unauthorized",
    "message": "string",
    "requestId": "string",
    "retryAfterSeconds": 0
  }
}