Work on Instagram Reels with a Dataset › Account of platform Instagram. They run in the campaign's browser (named instagram), on instagram.com as a desktop browser shows it.
Contents
- Sign in to Instagram —
instagram/signin - Watch Reels —
instagram/collect - Like —
instagram/like - Comment —
instagram/comment - Delete comment —
instagram/comment/delete
Sign in to Instagram
instagram/signin · icon log-in
Signs in with the account's login (2FA included), or waits for you
Session: it runs in the campaign's browser (a Studio test's own). Already signed in, it goes on; with a stored password it types the username and password on instagram.com, fills the 2FA code from the secret, and answers Save your login info?, Turn on notifications and the cookie choice. Without a password, or at a checkpoint only a person can pass, it waits for you in the live view, up to 6 hours, then the run fails. Then it reads who it is (the ds_user_id cookie, the nav's Profile link) and checks it with mooflair. See Accounts.
Fields
| Field | Label | Kind | Default |
|---|---|---|---|
account | Account | dataset.account (INSTAGRAM) |
Output dots
next— Next
Output shape
{
"username": "string",
"already": "boolean"
}
Default settings
timeout 10 minutes, on error human; the rest are the common defaults.
Watch Reels
instagram/collect · icon clapperboard
Doom-scrolls Reels and collects the ones worth a comment
It opens instagram.com/reels/ and watches like a person: each reel stays on screen for about Watch each reel for about (a half to one and a half times it), then it reads the reel in view (creator, caption, likes and comments from its action bar) and swipes to the next. For a reel it keeps, it also opens its Comments and reads the top ones (Top comments to read, most liked first: author, text, likes), then closes them, so the AI knows what people say about it. It stops once it keeps Maximum reels, after Maximum swipes, or when 8 swipes in a row bring nothing new.
It passes:
- ads (Sponsored), your own reels (the account the browser is signed in as) and reels without a creator link;
- sellers: a marketplace link or words like link di bio, ready stock, open order (Skip sellers…);
- verified creators, only with Skip verified creators on (off by default: most Reels come from creators);
- captions this long or longer, and reels outside the likes and comments ranges;
- a creator it already took within Same creator again, and a second reel of the same creator in one round.
Called again in the same run (the template loops back here), it keeps scrolling from where it stopped; after Open Reels again after reels it opens Reels in a fresh tab. An Instagram check (challenge page) waits for you in the live view.
Video never plays: the engine's browsers block video downloads (CPU and memory). On Reels a failed video download makes Instagram's player try again without end until the tab runs out of memory, so Watch Reels (and Comment) hold those downloads instead: the player waits, nothing is fetched.
Cover: with Keep each reel's cover image on, the reel's cover picture (its own file from Instagram, shrunk to 480 px wide, about 50 KB) is kept in media.image. Hand it to an AI step's Images ({{ nodes.loop.output.item.media.image }}) and the comment can react to it. Once the run holds 1 GB of files, reels come without it.
Group memory, claims and the stack
The same as , in tables instagram/collect/reel and instagram/collect/author (see ): reels the campaign group already has are skipped, creators commented on within Same creator again are skipped, what it returns is claimed for claimMs, and items is its stack on the campaign dashboard. On the dashboard's Reels table a commented reel has Delete comment.
Fields
| Field | Label | Kind | Default |
|---|---|---|---|
max | Maximum reels | number | 10 |
scroll | Maximum swipes | number | 60 |
watchMs | Watch each reel for about (ms) | number | 6000 |
comments | Top comments to read per kept reel (0: none) | number | 5 |
maxLength | Skip captions this long or longer (characters, 0: any) | number | 0 |
minLike | Minimum likes | number | 0 |
maxLike | Maximum likes (0: any) | number | 0 |
minReply | Minimum comments | number | 0 |
maxReply | Maximum comments (0: any) | number | 0 |
skipVerified | Skip verified creators | boolean | false |
photo | Keep each reel's cover image (AI steps can look at it) | boolean | true |
skipMarket | Skip sellers and reels that mention a marketplace | boolean | true |
refreshAfter | Open Reels again after this many reels (0: never) | number | 15 |
repeat.post | Comment on a reel the group already took | select: never, allow | "never" |
repeat.author | Same creator again | select: never, day, allow | "day" |
claimMs | Hold collected reels for (ms) so no other campaign of the group takes them | number | 900000 |
Output dots
next— Next (at least one reel)empty— Empty
Output shape
{
"items": [
{
"id": "string (the reel's code)",
"author": "string",
"url": "https://www.instagram.com/reels/<code>/",
"text": "string (the caption)",
"time": "string",
"reply": "number (comments)",
"like": "number",
"comments": [{ "author": "string", "text": "string", "like": "number" }],
"media": { "image": "file", "alt": "string", "isVideo": true }
}
]
}
Default settings
timeout 15 minutes; the rest are the .
Like
instagram/like ⚡ · icon heart
Likes like a viewer: the open reel or a few of its comments
At Chance per call (%), it likes the reel in view (The open reel: its heart beside the video, the Comments dialog closed first; already liked: nothing to do) or up to Up to of its comments (the hearts in its Comments dialog, opened when it isn't). It only presses unliked hearts, so nothing is unliked by mistake. A liked reel that Watch Reels only claimed is kept as Liked in the group's memory. On off: passes straight through.
Fields
| Field | Label | Kind | Default |
|---|---|---|---|
enabled | On (off: passes straight through) | boolean | true |
target | What to like | select: post (the open reel), comments | "post" |
chance | Chance per call (%) | number | 30 |
max | Up to (comments) | number | 3 |
Output dots
next— Next ({ "liked": number })
Default settings
timeout 2 minutes, on error continue; the rest are the .
Comment
instagram/comment ⚡ · icon message-circle
Comments on a reel or post
It opens the reel (Reels starts on it), presses its Comment button to open the Comments dialog, types into Add a comment… like a person (Instagram turns that box into an editor on the first key), and presses Post (else Enter). Sent: the editor empties. Sent: the box empties with no Couldn't post comment or We restrict certain activity notice (either one fails the step with Instagram's words). No Comment button or comment box (comments off or limited): the closed dot, and the reel is kept as Failed. It then finds your comment's own link (…/c/<id>/) so Delete comment can find it, and the group remembers the reel (Commented) and its creator.
Links in Instagram comments aren't clickable: a Shopee link goes in as text.
Fields
| Field | Label | Kind | Default |
|---|---|---|---|
account | Account | dataset.account (INSTAGRAM) | |
url | Reel URL | text | |
text | Comment | textarea |
Output dots
next— Nextclosed— Comments offerror— Failed
Output shape
{
"url": "string",
"text": "string",
"comment": "string (your comment's link, or null)"
}
Default settings
timeout 5 minutes, on error human; the rest are the .
Delete comment
instagram/comment/delete ⚡ · icon message-circle-x
Deletes one of your comments and checks it's gone
It opens the reel and its Comments dialog, finds your comment by your avatar link and its text, hovers it, presses Comment options › Delete, and checks it left the page. The campaign dashboard runs it from a commented reel's Delete comment.
Fields
| Field | Label | Kind | Default |
|---|---|---|---|
account | Account | dataset.account (INSTAGRAM) | |
url | Reel URL | text | |
reply | Comment URL | text | |
message | Comment text | textarea |
Output dots
next— Next ({ "url": "string", "deleted": true })
Default settings
timeout 2 minutes; the rest are the .
FAQ
Which Instagram account do these nodes use?
An Instagram account from Dataset › Accounts (its own platform, apart from Threads, even though Threads signs in with Instagram too). The session lives in the campaign's browser named instagram.
Does it watch every reel to the end?
No. Each reel stays on screen for about the time you set (half to one and a half times it), like someone scrolling quickly, then it swipes on. The video itself never plays: the engine blocks video to save CPU and memory, so the AI reads the caption, the top comments and the cover image.
Can it comment on photo posts too?
Comment works on any reel or post link (/reel/… or /p/…). Watch Reels only collects reels.
Does a test run comment for real?
No. Like, Comment and Delete comment are effect nodes: a test run logs what they would do and returns a simulated result.