Skip to main content
POST
Export mentions

Authorizations

Authorization
string
header
required

Clerk API key. Create one in Settings → API Keys. Pass as Authorization: Bearer <key>. Keys carry a scope — read, write (implies read) or admin (implies write) — chosen when the key is minted. Each operation's security requirement (and its x-required-scope extension) names the minimum scope it needs; request the least-privileged key that covers the operations you call.

Body

application/json

Same filter shape as ListMentionsRequest plus a format selector, an optional total-row limit cap, and an optional author pivot. Exports up to 50,000 mentions per call and returns the result as a downloadable file.

view
integer

Feed/view ID to reuse as a base filter. If filters is also provided, the two are merged (view's saved filters + inline filters both apply).

Required range: x <= 9007199254740991
filters
object

Filter object. Accepts the simple flat form ({ source: ["twitter"], sentiment: ["positive"] }) or the advanced group form with AND/OR operators. Use POST /api/v2/ai/filter-wizard to generate one from natural language.

includeAll
boolean
default:false

When true, includes low-relevance mentions (internal relevanceScore = 2). Default false returns only high and medium relevance (scores 0 and 1).

includeEngagementMetrics
boolean

When true, enriches each returned mention with the latest public engagement snapshot (engagementMetrics and engagementObservedAt). Default false omits those optional fields and avoids the additional Tinybird engagement-state join. This controls response enrichment only; engagement filters still work without it.

includeRelevantOnly
boolean

When true, forces relevant-only results (scores 0 and 1) even if includeAll is true. Convenience parity with the in-app feed toggle; omit to defer to includeAll.

cursor
string

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

Free-text search. Case-insensitive substring match across the mention's title, body, author handle, and author display name. Composes with view/filters (AND semantics). Empty or whitespace-only values are ignored.

Maximum string length: 200
format
enum<string>
default:json

Response format. json returns a downloadable JSON file ({data, total}); csv keeps the original 15-column prefix. When requested, the established engagementMetrics and engagementObservedAt columns remain immediately after that prefix. Flattened review metadata (reviewRating, reviewRatingMax, reviewVerified, reviewResponse, reviewResponseAt, reviewTargetName) follows.

Available options:
json,
csv
Example:

"csv"

limit
integer

Cap the export at the first N matching mentions (1-50,000). A TOTAL row cap, not a page size — the export paginates internally. Omit for the full 50,000-row cap.

Required range: 1 <= x <= 50000
author
string

Export one author's mentions instead of the filtered feed (the by-author lookup): the author's handle, or for source: ["linkedin"] a profile URL/slug. Requires filters to contain exactly one source platform and nothing else, and cannot be combined with view or search — the by-author lookup honors none of them.

Required string length: 1 - 500

Response

200 response

JSON shape returned when format=json. When format=csv, the response is text/csv with a matching X-Total-Count header.

data
object[]
required

Exported mentions in the same shape as the list endpoint.

total
integer
required

Total matching mentions returned. Up to the 50,000 export cap.

Required range: -9007199254740991 <= x <= 9007199254740991