| texts | No | Paste comment texts directly (one per line). Use this OR “Comments dataset”.
Example values: ["Where can I buy this in Canada? Need it!!","Ordered 3 weeks ago and still nothing. Is anyone answering messages?"] | |
| idFields | No | Fields copied unchanged from each input item to the output so you can join results back (e.g. id, cid, postUrl). Leave empty to auto-pick the comment ID and post URL. | |
| maxItems | No | Classify at most this many comments (0 = all). | |
| minLikes | No | 0 = all. Comments without a like count are kept. | |
| waitSecs | No | Max seconds (0–45, default 30) to cap the wait for the Actor run to reach terminal state. For long-running Actors the response returns at the cap with the current run status; follow `nextStep` to poll via get-actor-run. Set to 0 to fire-and-forget. | |
| datasetId | No | An Apify dataset containing comments — for example the output of an Instagram, TikTok, Facebook or YouTube comment scraper. Use this OR “Comment texts”. | |
| textField | No | Field holding the comment text. Leave empty to auto-detect (text, comment, content, body, …). | |
| outputMode | No | Minimal mode returns only label keys — smaller and easier to aggregate.
Example values: "full" | full |
| healthCheck | No | Internal: fail the run when results look degraded (used by the developer's scheduled checks). | |
| skipReplies | No | Classify only top-level comments, not replies to other comments. | |
| contextField | No | Field holding the title or caption of the post the comment was written under (helps with short comments like “link?”). Leave empty to auto-detect (postTitle, title, …). | |
| customLabels | No | Up to 10 extra yes/no labels (each up to 200 characters) written in plain language, e.g. “mentions shipping to Canada”, “asks about a discount code”. Each gets a probability. | |
| includeAuthor | No | Add the commenter's public username to each row and save BUYERS.csv (one row per commenter with purchase intent). Off by default. Usernames are only copied from your dataset, never sent for classification. Use them in line with the platform's terms and privacy law. | |
| skipEmojiOnly | No | Skip comments with no letters or digits ("🔥🔥", "❤️"). They are mostly praise; skipping them saves cost. | |
| excludeAuthors | No | Usernames whose comments are skipped — usually your own brand or support accounts (with or without @). | |
| labelThreshold | No | Minimum probability (0–1) for the needs-reply flag and custom labels to be marked as matched. Raise it for fewer, surer matches.
Example values: 0.5 | |
| maxConcurrency | No | Comments classified in parallel.
Example values: 10 | |
| skipOwnerReplies | No | Skip comments flagged by the scraper as written by the channel owner or creator (e.g. YouTube `authorIsChannelOwner`), plus any account listed in **Exclude accounts**.
Example values: true | |
| commentsNewerThan | No | Classify only comments posted after this date — a date like `2026-10-01` or a period like `7 days`, `4 weeks`, `3 months`. Relative dates such as "3 days ago" (YouTube) are counted back from the run time. Leave empty for all. | |
| summaryGroupField | No | Field in your dataset that identifies the post (e.g. `postUrl`, `videoWebUrl`, `videoId`). The run then saves a REPORT record with, per post: comment type mix, sentiment shares, share needing a reply and example purchase-intent, question, complaint and request comments. Leave empty to detect it automatically (overall summary only if none is found). No extra charge. | |
| maxCommentsPerPost | No | Classify at most this many comments per post or video, in dataset order. 0 = no limit. | |
| expandNestedReplies | No | Datasets that keep replies inside a comment (Instagram `replies`, Facebook `comments`) or comments inside a post (Instagram Scraper `latestComments`) are flattened to one row per comment.
Example values: true | |