Skip to the content.

Auto-amplify team posts (likes via API)

posts:vote toggles the like state on a Skool post. The action exists for legitimate cases: a team account validating a community post by another member, a moderator boosting a high-quality contribution to the top of the feed, or syncing your own multi-account workflows.

This recipe also exists to draw the ethical line clearly. The same action used wrong becomes fake engagement — a pattern that erodes community trust, violates Skool’s spirit, and (more pragmatically) gets flagged by Skool’s anti-abuse heuristics. Read the “when not to use this” section before automating anything.

Quick reference (TL;DR for agents)

   
Goal Programmatically like / unlike posts from a team account
Stack Any HTTP client + the Apify-hosted actor
Actions used posts:list / posts:filterposts:vote
Setup time ~5 min
Ongoing cost $0.01 per vote toggle
Key constraint One vote per account per post — you can’t pad a like count from one account
Mandatory read “When NOT to use this” section below

When this is legitimate

When NOT to use this — this matters

If you’re not sure whether your use case is honest, ask: “Would I be comfortable explaining this to a member who asked?” If no, don’t automate it.

Prerequisites

Step 1 — Find posts to like

By recency:

{
  "action": "posts:list",
  "cookies": "...",
  "groupSlug": "your-community",
  "params": { "limit": 20 }
}

By keyword (e.g. all posts in a category your team validates):

{
  "action": "posts:filter",
  "cookies": "...",
  "groupSlug": "your-community",
  "params": { "labelId": "anuncios_label_id", "since": "2026-05-28T00:00:00Z" }
}

Step 2 — Vote (like or unlike)

{
  "action": "posts:vote",
  "cookies": "...",
  "groupSlug": "your-community",
  "params": {
    "postId": "abc123...32hex",
    "vote": "like"
  }
}
vote value Effect
"like" Add a like from the authenticated account (idempotent — re-like is no-op)
"unlike" Remove the like from the authenticated account

Response:

{
  "success": true,
  "postId": "abc123...",
  "currentVoteCount": 12,
  "currentUserVoted": true
}

currentVoteCount is the total likes after your action. currentUserVoted confirms your account’s state — useful when scripting toggles.

Step 3 — Multi-account workflows

If you’re syncing likes across multiple team accounts (founder + VA + designer), loop per account by switching the cookie:

ACCOUNTS = [
    {"name": "founder", "cookies": FOUNDER_COOKIES},
    {"name": "va", "cookies": VA_COOKIES},
    {"name": "designer", "cookies": DESIGNER_COOKIES},
]

for post in valuable_posts:
    for account in ACCOUNTS:
        run_action("posts:vote", {
            "cookies": account["cookies"],
            "postId": post["id"],
            "vote": "like"
        })

Each account contributes its honest signal. No more than 3-4 team accounts in this pattern — beyond that you’re padding numbers, not validating.

Production gotchas

See also


Use this in production — no setup

The hardest part of building Skool automation isn’t the API logic — it’s the auth (cookies expire every ~3.5 days, WAF token rotation, weekly Skool buildId changes). The Skool All-in-One API actor on Apify handles all of that.

→ Open the actor on Apify

New to Skool? Launch your community here — 14-day free trial.