---
title: "Export mentions as CSV"
description: "Returns as CSV the mentions GET /v1/mentions lists for the same filters. Rows are ordered by match time, latest first, which is the order they reached your feed and can differ from the post date. The columns are id, published_at, platform, keyword, author, author_url, author_followers, relevance, sentiment, intents (separated by |), language, confidence, status, relevant, delivered, url, links (separated by |), text (the first 1,000 characters), group, group_external_id, rating and app_id (reviews only), and title and image_url (on platforms that have them). The file holds at most 10,000 rows, and the X-Mentions-Truncated header tells you when rows were cut. Each workspace can export 6 times a minute, and a 429 includes Retry-After."
canonical: https://docs.rumoro.dev/api/mentions/export-mentions-csv
markdown: https://docs.rumoro.dev/api/mentions/export-mentions-csv.mdx
---

# Export mentions as CSV

`GET /v1/mentions/export.csv`

Returns as CSV the mentions GET /v1/mentions lists for the same filters. Rows are ordered by match time, latest first, which is the order they reached your feed and can differ from the post date. The columns are id, published_at, platform, keyword, author, author_url, author_followers, relevance, sentiment, intents (separated by |), language, confidence, status, relevant, delivered, url, links (separated by |), text (the first 1,000 characters), group, group_external_id, rating and app_id (reviews only), and title and image_url (on platforms that have them). The file holds at most 10,000 rows, and the X-Mentions-Truncated header tells you when rows were cut. Each workspace can export 6 times a minute, and a 429 includes Retry-After.

## Parameters

| Name | In | Description |
| --- | --- | --- |
| `keywordId` | query | Only this keyword's matches. |
| `platform` | query | Only this platform's posts. |
| `status` | query | Keeps mentions with this status only. Leave it out for all statuses. |
| `relevant` | query | true keeps mentions the classifier scored relevant. false keeps the others, including unscored ones. |
| `sentiment` | query | Keeps mentions with this sentiment only. |
| `intent` | query | 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. |
| `automated` | query | 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. |
| `personId` | query | Keeps mentions by this person (an id from /v1/people), including merged accounts. Turns on includeMuted. |
| `includeMuted` | query | true also returns mentions by muted people, which are hidden by default. |
| `assigneeId` | query | Member user id. Returns only mentions assigned to them. |
| `snoozed` | query | true shows only snoozed mentions, which are otherwise hidden until they wake. |
| `excludeAuthors` | query | Leaves out these authors, given as display names, handles or profile links. Repeat the parameter or send one value with commas. |
| `minRelevance` | query | Keeps mentions with this relevance score or higher. Unscored mentions are left out. |
| `minConfidence` | query | Minimum classifier confidence, 0 to 1. Mentions with no confidence are dropped. |
| `minFollowers` | query | Sends only posts by authors with this many followers or more. Unknown counts are left out. |
| `maxFollowers` | query | Keeps posts by authors with this many followers or fewer. Unknown counts are left out. |
| `isReply` | query | true keeps replies and comments, meaning posts that answer another post. false keeps posts that are not replies. Leave it out for both. |
| `alertId` | query | 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. |
| `viewId` | query | Adds 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. |
| `keywordKinds` | query | Keeps matches of keywords of these kinds only (brand, competitor, topic). Repeat the parameter or separate values with commas. |
| `tags` | query | Keeps authors your workspace gave one of these tags, matched exactly and by case. Repeat the parameter or separate values with commas. |
| `linkHosts` | query | Keeps 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. |
| `platforms` | query | Keeps posts from these platforms only. |
| `notPlatforms` | query | Platforms to exclude. |
| `keywordIds` | query | Keeps matches of these keywords only. |
| `groupIds` | query | Keeps matches of keywords in these groups only (grp_...). Repeat the parameter or separate values with commas. |
| `notGroupIds` | query | Hides matches from keywords that belong to these groups. |
| `notKeywordIds` | query | Keyword ids to exclude. |
| `sentiments` | query | Keeps mentions with these sentiments only. |
| `notSentiments` | query | Leaves out these sentiments. Mentions not scored yet are kept. |
| `intents` | query | Keeps mentions tagged with one of these intents or topics. |
| `notIntents` | query | Intent or topic tags to exclude. |
| `notLinkHosts` | query | Leaves out posts that link to these hosts or their subdomains. |
| `notTags` | query | Leaves out authors your workspace gave one of these tags. |
| `languages` | query | Sends only posts in these languages, as ISO 639-1 codes such as en, es or de. Posts with an unknown language are left out. |
| `notLanguages` | query | Leaves out posts in these languages. Posts with an unknown language are kept. |
| `ratings` | query | Keeps 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. |
| `notRatings` | query | Star ratings (1 to 5) to hide, such as notRatings=5. Other posts are unaffected. |
| `minLikes` | query | Keeps posts with this many likes (upvotes, reactions) or more, counted when the post was collected. Posts without a like count are left out. |
| `minReposts` | query | Keeps posts with this many reposts (shares, retweets) or more, counted when the post was collected. Posts without a repost count are left out. |
| `minReplies` | query | Keeps posts with this many replies (comments) or more, counted when the post was collected. Posts without a reply count are left out. |
| `minQuotes` | query | Keeps posts with this many quotes or more, counted when the post was collected. Posts without a quote count are left out. |
| `minViews` | query | Keeps posts with this many views (plays) or more, counted when the post was collected. Posts without a view count are left out. |
| `minBookmarks` | query | Keeps posts with this many bookmarks (saves) or more, counted when the post was collected. Posts without a bookmark count are left out. |
| `anyOf` | query | Groups 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. |
| `q` | query | Searches post text and author names. |
| `since` | query | Keeps posts published at this time or later, as ISO 8601 or epoch ms. |
| `until` | query | Keeps posts published at this time or earlier, as ISO 8601 or epoch ms. |

## Responses

| Status | Meaning |
| --- | --- |
| 200 | A UTF-8 CSV file |
| 400 | A query parameter is not valid |
| 401 | The API key is missing or not valid |
| 429 | Over 6 exports in this minute. Wait the Retry-After seconds and try again |

The [OpenAPI document](https://api.rumoro.dev/v1/openapi.json) has every schema. Rules shared by all endpoints are in [Conventions](https://docs.rumoro.dev/conventions.mdx).
