Skip to main content

Listening: mentions

📄️One action on up to 200 mentions of the project

One action on up to 200 mentions of the project: hide, show, set_sentiment (`sentiment`, null clears), set_intent (`intent`, null clears; manual, kept in the review trail), tag / untag (`attribute_id`, an attribute of the project; untag keeps auto-tagging off it), irrelevant / relevant (review actions as in verify/actions: in the review trail and the activity log). hide…untag need the analyze right (as PATCH), irrelevant / relevant the verify right. Ids of another project or repeated: 422, nothing changed. 20 a minute

📄️The mention feed

The mention feed (?platform, kind, source_id, sentiment, intent, author, q, from, to, sort, ad=1|0: only / no posts flagged as ads, include_hidden). Each mention has `external_id` (the id on the platform), `kind` (post | comment), `intent` (provider | seeker | general, null until classified) with `intent_source` (ai | rule | manual) and `is_ad` (the platform marks it as an ad or paid partnership, e.g. TikTok branded content and Shop affiliate videos; counted as Paid media); comments carry `parent_external_id` and `parent_url` (the post they are under). Images: `media_type` (video | image | carousel | text | comment | article | thread), `media_count`, `media[]` {position, url, thumb_url, mime_type, bytes} = the stored copies of every image of the post (a video's cover included) as signed links valid until the end of the next day, `thumbnail_url` = the stored grid-size copy of the first image (the platform's link until it is stored). Extended fields of a post, each null when the platform or the strategy did not say (never 0 for unknown): `duration_seconds`, `video_width`, `video_height` (videos), `saves` (TikTok collects, X bookmarks), `quotes` and `reposts` (X, Threads), `reactions` {like, love, care, haha, wow, sad, angry} (Facebook) or {⟨emoji⟩: n, custom, stars} (Telegram: custom emoji summed, paid Telegram Stars), `post_language` (the platform's ISO 639 code), `place` and `place_id` (tagged location), `music` {id, title, author, original} (TikTok, Instagram), `post_format` (short | reel | live | story | carousel | video | image | text), `is_live`, `tagged_accounts` (handles the post tags, mentions or credits as collaborators: public on the post), `author_verified`, `youtube_category`, `youtube_tags`, `shop_products` (TikTok: the TikTok Shop product ids the video tags, strings; filter with `product`); `media_count` also counts the media items the platform reports (a carousel's videos). Reviews (`kind` review: a customer's rating of a product, shop, place or app, from a review source; reviews skip the project's include keywords and languages, not its excluded words) carry `rating` (1..5), `review_target` {type product|shop|place|app, id, name, url}, `variant` (the option bought), `verified_purchase`, `seller_reply` {text, at} (the seller's public answer), `likes` (helpful votes) and `media[]` (the review's photos); each null on posts and comments and when the platform did not say

📄️The filtered feed as CSV

The filtered feed as CSV (UTF-8 with BOM for Excel), same filters and order as the feed, at most 10 000 rows; columns end with sentiment, intent, hashtags, is_ad (1/0), then duration_seconds, post_format, saves, quotes, reposts, reactions (like:12 love:3), post_language, place, music (title — author), tagged_accounts (space-separated handles), author_verified (1/0, empty when unknown), youtube_category, youtube_tags, then kind (post|comment|review), rating, review_target (its name), review_target_url, variant, verified_purchase (1/0), seller_reply, seller_replied_at (empty cells: not given; the review columns are empty on posts and comments)

📄️The full actor item the mention was made from

Analysts and up: the full actor item the mention was made from (latest version, as the scraper emitted it, kept gzip-compressed in mention_raw): mention_id, platform, captured_at (when that run finished), run_id, bytes (compressed), truncated (the item was over lantfly.listening.raw.max_bytes, 256 KB: only its top-level values and `_keys` are kept), item (decoded JSON; values under secret-looking keys such as token, cookie, password, api_key, signature, and bearer/JWT strings are '[masked]'). 404 when no raw item is stored

📄️List leads (listening › projects)

Leads: the seeker mentions (posts and comments asking for a recommendation, information or a price, or wanting to buy), newest first; hidden and irrelevant ones left out. Each: id (the mention id), platform, kind (post|comment), url, parent_url, author_handle, author_name, author_url (profile link), text, published_at, matched_keywords (the project's watched terms in the text), intent_source (ai|rule|manual), status (new|contacted|qualified|ignored), assignee { id, name } | null, note, updated_at. Only what was collected publicly; nothing is looked up elsewhere. meta.counts per status (+ all), meta.assignees [{ id, name }] = the account's people and the project's guests

📄️Mention feed with the dashboard filters

Mention feed with the dashboard filters (all_time=1 ignores the dates; irrelevant mentions listed unless relevant_only=1; hidden mentions only with include_hidden=1, each mention carries is_hidden); sort newest|interactions|views|found|duration (video length)|rating (highest first)|helpful (most liked first, a review's helpful votes), dir desc (default: newest first, most interactions or views first) | asc (oldest first, fewest first; empty values stay last); each mention adds kind, media_source, is_irrelevant, is_verified, attributes [{ id, name, type, color, source rule|manual }] and matched_terms (watched keywords, brand keywords, attribute keywords and q found in the text, lowercase, for client-side highlighting)