Skip to main content

Listening: projects

📄️Update name, filters

Update name, filters (include, exclude, contextual and context keywords), tracking window (track_from/track_until; a window that ends before it starts is 422), category, languages, interval, active (`is_active` pauses or resumes, like POST …/pause and …/resume; all or nothing: a refused resume (window ended, 422) or a status changed meanwhile (409) saves none of the other fields; `is_active: false` on a stopped or completed project changes nothing), prefer_vendor (boolean or null), credential_mode (failover, round_robin, pinned or null), pinned_credentials ({ provider: id } or null; each id must be the account's enabled key of that provider, or a shared Lantfly staff default, else 422), collect_comments (boolean), collect_defaults (what every source collects unless it says otherwise: object of CollectSettings keys, merged over the stored ones, null drops a key, another key 422; `collect_defaults: null` changes nothing; `comments` is collect_comments and wins when both are sent), timezone (IANA or null). `share_enabled` (whether the public wall is on) is returned to project managers only (null for others); the wall link is never returned again after POST …/share made it. `proxy_policy` ({ platform: [{ useLantflyProxy, groups, country }] }, null to clear) only for Lantfly staff (403 otherwise)

📄️Ask to move the project to another account

Ask to move the project to another account (one from GET, any account for Lantfly staff). Nothing moves yet: the requester gets an email with a confirmation link (1 hour, POST /listening/transfers/{transfer}/confirm); confirmed, the target account's owners and admins get an acceptance link (7 days); the project moves when one of them accepts. Then sources, mentions, campaigns, alerts and reports go with it; past collection runs stay; the old account's webhooks and Google Sheets of the project are removed; report schedules are paused. 10 a minute.

📄️Collect every active source now, on every platform

Collect every active source now, on every platform: unless `add_keyword_sources` is false, the project's search terms are first added as keyword sources on every platform that searches a keyword (youtube, threads, x, pinterest, lemon8, reddit, telegram, shopee, tiki, lazada, google_maps, app_store, google_play, news, forum) where the project has none yet: each include keyword, and each contextual keyword with each context keyword (`apple iphone`; a contextual keyword without context keywords is not searched). A deactivated one stays off; standalone keywords first, up to the plan's source limit; the interval tick never adds. `credentials` pins one data source key per provider for these collections only (used whatever its health); 'auto' (default) picks by the credential mode

📄️Share of voice between 2–8 projects you can view

Share of voice between 2–8 projects you can view (?projects=a,b,c + filters; days of the first project's timezone). projects[]: id, name, mentions, posts (no comments, no reviews), comment_mentions, reviews, avg_rating (2 places, null without rated reviews), rating_distribution { 1..5: count }, reactions, comments, shares, interactions, views, unique_authors (sources = distinct authors), change { mentions, interactions }, sentiment, net_sentiment, share_of { mentions, posts, comment_mentions, reviews, reactions, comments, shares, interactions, views, unique_authors } (0..1 of the total), share_mentions, share_interactions, by_platform [{ platform, mentions, interactions, sources, source_share (of the project's sources) }], daily, topics (the project's topic cloud, 40, like …/topics; every compared project's keywords and brands left out), demographics (the project's aggregate audience estimates, like …/demographics), videos and avg_duration_seconds (mentions with a known video length), post_formats { format: posts } (unknown: not given). totals: the same counts summed. topics: every topic once with projects [{ id, count }], shared = in 2+ projects (intersect; shared first, then by weight). top_mentions { all, positive, negative, neutral }: 20 mentions by interactions across the projects, feed fields + project_id, text cut to 500 characters, matched_terms of its project; all keeps the sentiment filter, a sentiment tab replaces it. top_influencers { all, positive, negative, neutral }: 20 authors by mentions across the projects, influencer fields + projects { id: mentions }. Numbers come from queries grouped by project, never one per day

📄️Industry overview

Industry overview: the projects of one category the caller can open (own, assigned, shared as guest), benchmarked over the range. At most 200 projects (newest first; meta.capped). Social Buzz = mentions (posts + comments + reviews) + interactions; mentions = posts only; reviews = review mentions with avg_rating; comments = comment mentions; sentiment_score = positive / (positive + negative), 0..1, null when none. Days of the projects' timezone when they share one, else lantfly.listening.timezone

📄️Create verify (listening › projects › owned accounts)

Manage: 'Verify URLs' before saving owned accounts. Reads each profile/page URL (TikTok, Instagram, Facebook, YouTube, Threads, X, Pinterest, Lemon8, Reddit, Telegram; a Pinterest board URL reads as its owner, a Lemon8 profile is lemon8-app.com/@⟨user⟩, a Reddit account reddit.com/user/⟨name⟩ or /u/⟨name⟩, a Telegram channel t.me/⟨name⟩ or t.me/s/⟨name⟩) as platform, kind (profile|page|channel), handle (lowercase; numeric id for Facebook profile.php?id= and /people/…/⟨id⟩, UC… id for YouTube /channel/) and a canonical url; error invalid_url | unsupported_platform | short_link (vt.tiktok.com, youtu.be, fb.me, pin.it, v.lemon8-app.com: would need opening) | not_a_profile (post, video, group, search). duplicate_of = index of the earlier URL for the same account, already_owned = the project has it. Parsing only: saves nothing, opens no URL. 30 requests/minute