ctala/skool-api-docs

GitHub: ctala/skool-api-docs

一个基于 Apify 平台的非官方 Skool API,提供完整的读写能力,支持帖子、评论、成员和课堂的自动化管理,并可无缝集成 n8n、Make.com 和 AI 代理。

Stars: 0 | Forks: 0

# Skool API — 在 Apify 上的读取与写入 [![Apify Actor](https://img.shields.io/badge/Apify-Actor-FF9900?logo=apify&logoColor=white)](https://apify.com/cristiantala/skool-all-in-one-api) [![最新版本](https://img.shields.io/badge/version-0.3.8-brightgreen)](https://apify.com/cristiantala/skool-all-in-one-api) [![n8n 模板](https://img.shields.io/badge/n8n-template-EA4B71?logo=n8n&logoColor=white)](https://n8n.io/workflows/14392-auto-approve-skool-community-members-with-gpt-4o-ai-screening/) [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE) ``` ┌─────────────────┐ │ Your stack │ ──┐ │ - n8n │ │ │ - Make.com │ │ │ - AI agents │ │ ┌────────────────────────┐ ┌────────────────┐ │ - Custom code │ ├──→ │ Apify Actor │ ──→ │ Skool API │ └─────────────────┘ │ │ Skool All-in-One API │ │ (cookies + │ │ │ read · write · auth │ │ WAF + buildId │ │ └────────────────────────┘ │ handled for │ │ │ you) │ └→ POST action:operation └────────────────┘ → structured response ``` ## 为什么会有这个项目 Skool **没有官方 API**。社区虽然对其进行了零星的逆向工程,但至今没有人交付一个完整的、支持写入、处理身份验证且达到生产就绪状态的集成,以供 AI 代理和无代码工具使用。 这个 Actor 就是这样的集成方案。它为一个真正的生产社区([Cágala, Aprende, Repite](https://www.skool.com/cagala-aprende-repite)——484 位创始人,日常写入,自动化新手引导,完整课堂)提供支持。如果它出故障了,也会首先影响到我。Bug 会被迅速修复。 ## 你能做什么 | 资源 | 读取 | 写入 | |---|---|---| | **帖子** | 列表、过滤、分页、获取单条、获取完整评论树 | 创建、更新、删除、置顶、取消置顶、点赞 | | **评论** | 带有回复的嵌套树 | 创建顶级 + 嵌套回复、编辑、删除 | | **成员** | 列出活跃成员,列出待审核申请人 | 批准、拒绝、封禁、批量批准 | | **课堂** | 列出课程、完整树、单页 | 创建课程、文件夹、页面,设置正文 (markdown→TipTap),更新封面/标题/描述,删除 | | **文件** | — | 上传课程封面图片 | | **群组** | 获取群组信息 | 更新描述,更新 Auto DM 消息 | [查看完整操作参考 →](docs/actions.md) · [从 AI 代理中使用 (Claude / OpenAI / MCP) →](docs/agents.md) ## 快速开始 (60 秒) ### 1. 获取 Apify 账号 在 [apify.com](https://apify.com) 注册(免费套餐涵盖大多数个人用途)。从[账号控制面板](https://console.apify.com/account/integrations)获取你的 API token。 ### 2. 运行你的第一次调用 ``` curl -X POST "https://api.apify.com/v2/acts/cristiantala~skool-all-in-one-api/run-sync-get-dataset-items?token=YOUR_TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "action": "auth:login", "email": "your-skool-email@example.com", "password": "your-skool-password", "groupSlug": "your-community" }' ``` 响应中包含一个 `cookies` 字符串。**请保存它** —— 在接下来的大约 3.5 天内,你可以传递它而不是 email/password,从而跳过缓慢的 Playwright 登录(每次调用大约 2 秒 vs 大约 10 秒)。 ### 3. 在其他所有操作中使用 cookies ``` curl -X POST "https://api.apify.com/v2/acts/cristiantala~skool-all-in-one-api/run-sync-get-dataset-items?token=YOUR_TOKEN" \ -H 'Content-Type: application/json' \ -d '{ "action": "posts:list", "cookies": "auth_token=...; client_id=...; aws-waf-token=...", "groupSlug": "your-community", "params": { "page": 1 } }' ``` [完整入门指南 →](docs/getting-started.md) ## 实用示例 真实的、可直接复制粘贴的集成方案: - [**使用 n8n + GPT-4o AI 筛选自动批准 Skool 成员**](recipes/auto-approve-members-n8n.md) —— 已作为[可直接导入的 n8n 模板](https://n8n.io/workflows/14392-auto-approve-skool-community-members-with-gpt-4o-ai-screening/)发布。Webhook → AI 筛选 → 批准。 - [**自动回复未回答的帖子**](recipes/reply-unanswered-posts.md) —— 查找带有 0 条评论的帖子,使用符合品牌形象的 AI 消息进行回复 - [**从 markdown 文件发布课程**](recipes/publish-course-from-markdown.md) —— 将你的本地 markdown 转换为带有封面的完整 Skool 课堂 - [**自动向新成员发送 DM**](recipes/auto-dm-new-members.md) —— 设置/更新当有人加入时触发的欢迎消息 - [**批量更新课程封面**](recipes/batch-update-course-covers.md) —— 在不重置隐私/层级的情况下,刷新 N 门课程的视觉标识 - [**Newsletter 转为 Skool 帖子**](recipes/newsletter-to-skool-post.md) —— 将你的 Listmonk/ConvertKit 邮件订阅镜像为社区帖子 ## 文档 | 主题 | 你将学到什么 | |---|---| | [入门指南](docs/getting-started.md) | 第一次调用,身份验证流程,cookies 缓存 | | [身份验证](docs/authentication.md) | 身份验证如何工作,WAF token 轮换,`x402-payment-required` “伪错误” | | [帖子与评论](docs/posts.md) | Skool 的 post=comment 数据模型,内容格式,提及 | | [成员](docs/members.md) | 批准流程,批量操作,成员角色 | | [课堂](docs/classroom.md) | 课程、文件夹、页面、markdown→TipTap 转换器,R-PUT-COURSE 怪癖 | | [文件](docs/files.md) | 图片上传流程(课程封面图片) | | [群组](docs/groups.md) | 描述,Auto DM,设置 | | [错误处理](docs/error-handling.md) | 结构化 `{success:false}` 负载,`errorCode` 目录,`hint` 字段,重试逻辑 | | [AI 代理集成](docs/agents.md) | Function-calling 规格 (Claude / OpenAI / Gemini),MCP server,LangChain Tool,Claude Code Skill,代理循环模式 | | [更新日志](CHANGELOG.md) | 版本历史,何时更改了什么 | ## 定价 该 Actor 使用 **Apify Pay-Per-Event** (PPE) —— 你只需为你使用的部分付费: | 操作 | 大致成本 | |---|---| | `auth:login`(大约每 3.5 天一次) | ~$0.02(Playwright 登录) | | 读取操作 (`posts:list`, `members:list` 等) | ~$0.005 | | 写入操作(创建帖子,批准成员等) | ~$0.01 + ~$0.005 平台费 | | `files:uploadImage` | ~$0.005 | 一个每天处理约 50 次写入 + 约 200 次读取的社区,每月大约花费 **$1.50**。[查看完整定价 →](https://apify.com/cristiantala/skool-all-in-one-api) ## 可靠性 - **绝不抛出异常策略**:每个错误——包括网络故障和 Skool 4xx 响应——都会变成一个结构化的 `{success:false}` 负载推送到 dataset,并带有 `errorCode` 和 `hint` 字段。运行总是以 `SUCCEEDED` 状态结束。该 Actor 从未触发过 Apify 的 `UNDER_MAINTENANCE` 标志。 - **每日质量检查通过**:该 Actor 的输入 schema 默认为 `system:health`,以便 Apify 的自动化每日测试总是能通过——生产调用者不会受到 Apify 方面检查的影响。 - **自动重试**:5xx 响应、网络错误、过期的 WAF token 和陈旧的 buildIds 都会通过指数退避机制自动处理。 - [了解更多关于可靠性的信息 →](docs/error-handling.md) ## 它不是什么 - ❌ 不是官方 Skool 产品。Skool 可能随时更改其行为。该 Actor 是从公开的 Skool Web 应用逆向工程而来的,并在 Skool 部署期间保持稳定(大约每周 buildId 轮换,已自动处理)。 - ❌ 不用于绕过 Skool 的条款。你作为拥有或管理该社区的用户进行身份验证。不要抓取你无权访问的社区。 - ❌ 不用于发送垃圾信息。Skool 的速率限制(约 20-30 次写入/分钟)得到了严格执行。该 Actor 会遵守这些限制。 ## 状态 | | | |---|---| | **最新版本** | `0.3.8` — 2026 年 5 月 | | **最后一次在生产环境中经受过实战检验** | 每天,在 `cagala-aprende-repite`(484 名成员)上运行 | | **Skool buildId 轮换** | 自动处理(约每周一次) | | **WAF token 轮换** | 自动处理(约每 3.5 天一次) | [更新日志 →](CHANGELOG.md) ## 问题与功能请求 该 Actor 的源代码**不是开源的**(商业产品),但此文档仓库是。要报告 Bug 或请求新功能: - 🐛 [提交 Bug 报告](https://github.com/ctala/skool-api-docs/issues/new?template=bug-report.md) - 💡 [提交功能请求](https://github.com/ctala/skool-api-docs/issues/new?template=feature-request.md) - 💬 在 [Cágala, Aprende, Repite](https://www.skool.com/cagala-aprende-repite)(讲西班牙语的创始人社区)与社区讨论 ## 文章与深度解析 - 📝 [我构建了最完整的 Skool API —— 以及我在逆向工程中学到的东西](https://cristiantalasanchez.hashnode.dev/i-built-the-most-complete-skool-api-read-and-write-and-what-i-learned-reverse-engineering-it) —— Hashnode 发布文章(2026 年 5 月) ## 相关链接 - 🐦 由 [Cristian Tala](https://cristiantala.com) 构建 —— 使用 AI 独自运营一个拥有 484 名创始人社区的操作者 - 🎓 [Cágala, Aprende, Repite](https://www.skool.com/cagala-aprende-repite) —— 塑造了该 Actor 的 Skool 社区 - 📰 [教程与深度解析](https://cristiantala.com/blog) —— 实用示例、经验教训、案例研究 ## 许可证 本仓库的内容(文档、实用示例、示例代码)均在 [MIT](LICENSE) 许可下授权 —— 可自由复制、修改并嵌入到你的项目中。 Apify Actor 本身 (`skool-all-in-one-api`) 是一个商业产品,不受此许可证的涵盖。
标签:Apify, API集成, CISA项目, Cookie认证, GPT-4o, Make.com, MIT开源协议, n8n, RPA, SaaS工具, Skool API, URL抓取, WAF绕过, Web自动化, 云资产清单, 低代码, 可观测性, 数据抓取, 无代码, 特征检测, 社区管理, 网络信息收集, 网络调试, 自动化, 自动化代理, 自动审批, 读取与写入, 逆向工程, 非官方API