Listening: sources
The project's sources, broken ones
The project's sources, broken ones (blocked, failed or with an error) first. All of them in `data`; with `per_page` (up to 200) or `page` the list is paged and `meta` ({ current_page, last_page, total }) is added. `q` searches the value, `platform` and `state` (on, off, problem) filter
Watch something
Watch something: tiktok hashtag|profile, instagram hashtag|profile, facebook page, youtube keyword|hashtag|channel, threads profile|keyword, x profile|keyword (keyword search runs signed in with a Lantfly login pool account; without one the source is blocked with error code LOGIN_REQUIRED), pinterest keyword|profile|board (board: a board URL or user/board), lemon8 profile|hashtag|keyword (posts, logged out: profile = a username or lemon8-app.com/@⟨user⟩, kept lower case; hashtag = a topic URL lemon8-app.com/topic/⟨id⟩, kept as https://www.lemon8-app.com/topic/⟨id⟩, or a hashtag name the actor looks up through Lemon8's keyword page (best effort); keyword = Lemon8's keyword page, its top posts by relevance; posts carry reads as views and saves; comments readable), reddit subreddit|keyword|profile (posts: subreddit = a name, r/⟨name⟩ or reddit.com/r/⟨name⟩, kept as its name; keyword = a search, newest first, Reddit-wide, or `r/⟨subreddit⟩ ⟨query⟩` within one subreddit (a search URL is read the same); profile = a username, u/⟨name⟩ or reddit.com/user/⟨name⟩; the score is the likes, crossposts the shares, no views, the post's flair its first hashtag; upvote ratio, awards, over_18 and the subreddit in mention_raw; comments readable; with a Reddit app among the account's data sources (provider reddit) the official API is used first, else anonymous JSON and the Atom feeds, which have no counts), telegram channel (posts of a public channel, logged out over its web preview t.me/s/⟨channel⟩: channel = @name, a name or t.me/⟨name⟩ (t.me/s/⟨name⟩, telegram.me), kept as its lower-case username; a post URL, an invite link (t.me/+…, /joinchat/) or a group is refused (422) or answered private; views as Telegram rounds them, the reactions are the likes (by emoji in `reactions`), no forward or comment count on the web; no keyword kind: Telegram's web has no global search, the project's keywords filter the channel's posts; not the notification channel kind telegram), shopee product|shop|keyword (reviews: product = a product URL, kept as https://shopee.vn/product/⟨shopid⟩/⟨itemid⟩; shop = shopee.vn/⟨shop name⟩ or shopee.vn/shop/⟨shopid⟩; keyword = the reviews of the search's top 5 products, signed in with a login pool account like X search), tiki product|shop|keyword (reviews, logged out: product = a product URL, kept as https://tiki.vn/product-p⟨id⟩.html; shop = tiki.vn/cua-hang/⟨slug⟩, the newest reviews of its 10 best-selling products; keyword = the newest reviews of the search's top 5 products), lazada product|shop|keyword (reviews, logged out: product = a product URL, kept as https://www.lazada.vn/products/i⟨itemid⟩.html; shop = lazada.vn/shop/⟨shop⟩/, the newest reviews of its 10 best-selling products; keyword = the newest reviews of the search's top 5 products), tiktok_shop product|shop (reviews: product = a TikTok Shop Vietnam product URL (shop.tiktok.com/vn/pdp/…/⟨id⟩, tiktok.com/view/product/⟨id⟩, or the id), kept as https://shop.tiktok.com/vn/pdp/⟨id⟩, logged out the 3 reviews its page shows, the newest ones signed in with a TikTok login pool account; shop = the shop's TikTok account, kept as https://www.tiktok.com/@⟨account⟩, the reviews of the products its newest videos tag; a shop.tiktok.com/vn/store link or a vt.tiktok.com share link is refused (422); no keyword), google_maps place|keyword (reviews: place = a Google Maps place URL (google.com/maps/place/…/data=…!1s0x…:0x…, google.com/maps?cid=…, …?q=place_id:…), a maps.app.goo.gl share link or a place id (ChIJ…), kept as https://www.google.com/maps?cid=⟨cid⟩ when its CID is known, else https://www.google.com/maps/place/?q=place_id:⟨id⟩, a share link as given; logged out the 5 reviews Google shows a visitor, the newest ones signed in with a Google login pool account; a map position without a place is refused (422); keyword = a place search ('phở hà nội'), the reviews of its top 5 places), app_store app|keyword (reviews, logged out: app = an App Store URL (apps.apple.com/⟨country⟩/app/…/id⟨id⟩, itunes.apple.com/…/id⟨id⟩) or the numeric id, kept as https://apps.apple.com/⟨country⟩/app/id⟨id⟩ (vn when it names none: reviews belong to a country's store, so another country is another source), the newest first with the developer's answer and the app version; keyword = an app search, the newest reviews of its top 5 apps in the vn store), google_play app|keyword (reviews, logged out: app = a Google Play URL (play.google.com/store/apps/details?id=⟨package⟩, market://details?id=) or the package name, kept as https://play.google.com/store/apps/details?id=⟨package⟩, the newest Vietnamese-language reviews with the developer's answer, app version and thumbs up; keyword = an app search, the newest reviews of its top 5 apps), news keyword (150+ Vietnamese news sites + Google News), forum keyword (Voz, Otofun, Tinhte, Webtretho, r/VietNam: forum keeps it among its forums). Review sources (kind product|shop|place|app, value = the target's page URL, http(s)) collect reviews (mention kind review); a platform offers the ones its review actor reads (shopee, tiki, lazada, tiktok_shop: product, shop; google_maps: place; app_store, google_play: app), otherwise 422
One action on up to 200 sources of the project
One action on up to 200 sources of the project: enable, disable, collect (now; a running one is reused; a turned-off source comes back in failed, and a project that is not active is 409), delete (mentions stay), results_limit (set results per run), or review_stars (the stars the review sources read: null follows the project, [] or all five reads every star; sources that read no reviews come back in failed). Ids of another project: 422, nothing changed. 20 a minute
Edit a source
Edit a source: its value (normalized as on create, platform and kind stay), results per run, comments per post, on/off. A new value is a new target: its status, error, retries, last collected time, backfill and target_stats start over (backfill pending when the project crawls historical data), and an App Store app's stored review_countries lose the new storefront; mentions already found stay. 422 when the value does not parse, the project already has that source (its value, or the page a share-link source opened: resolved_value), or the source is being collected; a new value clears resolved_value
Remove a source
Remove a source; mentions it found stay in the feed
Collect one source now
Collect one source now; while it already has a running collection, that one is returned instead
Sources worth adding, from the feed of the last 90 days
Sources worth adding, from the feed of the last 90 days (visible, relevant posts): hashtags that contain one of the project's words (include and brand keywords), and authors with at least 2 posts as a profile/page source; ones the project has are left out, at most 10 of each, by posts
Add posts by URL
Add posts by URL (TikTok, Instagram, Facebook, YouTube, Threads, X, Pinterest, Lemon8, Reddit, Telegram t.me/⟨channel⟩/⟨id⟩; other sites 422): links already in the feed are skipped, the rest are read by `postUrls` as `import` collections of the project's owner (billed like any run, one per platform and 50 links) and every post they return is kept, without the keyword filter