Agent 配套工具

BulkPublish|面向 AI Agent 与自动化的社交媒体发布 API

BulkPublish

通过一套 REST API、Python/Node SDK 与 MCP 服务器,把内容程序化发布和排期到多个社交平台,面向开发者与 AI Agent 工作流。

获取与使用

可在线使用

按官方资料访问官方服务

使用难度待核验
国内可用性待核验

2026-11-08 更新 · 本站尚未实测

项目介绍

Agent 配套工具 · 2026-11-08 更新 · 本站尚未实测

BulkPublish API 是仓库 azeemkafridi/bulkpublish-api 提供的社交媒体发布接口项目,README 将其定位为“The free social media API built for automation, AI agents, and LLMs.”。它的核心形态是云端 REST API(Base URL 为 https://app.bulkpublish.com),配套 Python 与 Node.js SDK、Homebrew 安装方式、MCP 服务器以及若干 Agent 技能库。

需要注意:本仓库是 API 的对接与文档仓库,实际发布服务运行在 BulkPublish 官方托管环境中,并非可完全离线自建的纯本地工具。

核心能力

点击能力名称查看输入、输出和原文依据。

  • 统一发布:README 声称可通过单次 API 调用向 15 个平台发布,图片徽章与平台表列出 Facebook、Instagram、X/Twitter、TikTok、YouTube、Threads、Bluesky、Pinterest、Google Business Profile、LinkedIn、Mastodon、Discord、Telegram、Tumblr、Snapchat。
  • 排期与重复计划:支持定时发布、时区、队列时段,以及按日/周/双周/月的重复计划。
  • 媒体上传:普通上传单文件不超过 100MB,分片上传用于最大 1GB 视频(10MB 分片)。
  • 多平台帖子形态:贴文、Thread、Reel、Story、Carousel、Short、Pin 等,通过 postTypeOverrides 按平台设置。
  • 分析与链接跟踪:提供曝光、点赞、评论、分享等指标接口,并说明各平台支持的指标子集不同;可选 bulkpubli.sh 链接改写统计点击。
  • 模板、标签、话题标签组、日历备注、审核链接、批量操作:均有对应接口。
  • AI 集成:本地 stdio MCP 服务器(README 称含 80 个工具),以及托管 MCP 地址 https://mcp.bulkpublish.com/mcp(OAuth 2.1,core 配置 26 个工具,inbox 配置 32 个工具);另提供 Claude、OpenAI、LangChain 的调用示例与“Social Media Content Skills”技能库。

实际应用场景

适用场景

  • 由 Claude、GPT 或自建 Agent 自主排期与发布内容;
  • RSS/博客/邮件到社交平台的自动化内容流水线;
  • 用 CSV 或内容日历批量排期数周帖子;
  • 一次编辑、多平台分发的跨平台同步;
  • 把互动数据拉入自有看板或 AI 分析;
  • 替代 Zapier/n8n/Make 中间层的直连 API 场景(README 亦提供 n8n 社区节点)。

安装与接入

README 给出的公开安装命令:

pip install bulkpublish
npm install bulkpublish
brew tap azeemkafridi/bulkpublish && brew install bulkpublish

接入流程:在官方站点注册账号 → 在 Settings > Developer 创建以 bp_ 开头的 API Key(README 称仅显示一次)→ 在 Channels 中连接社交账号 → 调用 REST API 或 SDK。认证方式为请求头 Authorization: Bearer <API_KEY>。

MCP 本地服务器通过 npx -y @bulkpublish/mcp-server 启动,并在环境变量中提供 BULKPUBLISH_API_KEY;托管服务器地址为 https://mcp.bulkpublish.com/mcp。是否支持 SSE/流式等其他传输方式,本次资料未说明,待核验。

使用条件与限制

是否需要部署
服务入口见官方资料,客户端与认证要求见正文
是否需要注册
账号和认证要求见正文;未明确说明的项目仍待核验
是否需要 API Key
待核验
费用与额度
费用边界见正文,项目许可不代表模型或托管服务免费
所需权限
待核验
许可证与服务条款
待核验

权限费用与限制

  • README 设有 Free / Pro / Business 三档限流表:写入 60 次/分、读取 300 次/分;每日 API 请求分别为 10、5,000、50,000;API Key 数量 1、5、10;重复计划 Pro 为 10、Business 不限。
  • README 自称“free social media API”,但项目开源(MIT)不等于服务、配额或全部功能免费,实际定价、试用范围与各档功能差异需向官方核验,本文不列价格。
  • Inbox(私信、评论、评价回复)接口标注为 Pro 和 Business 可用。
  • 发布能力依赖各社交平台自身的 API 授权、审核与配额,账号连接失败或平台限制属于外部依赖,待核验。

国内使用情况

网友核验 用户经验分享

与站长实测独立,不代表官方认证或本站已实测。

我要核验
0 位参与者0 份有效分项记录

最近核验:暂无有效核验。参与人数按当前项目有效身份去重;不同核验项分别统计,不合并成用户总结果。仅统计审核通过且未过期的记录。

分项统计、有效期与样本量
核验项目有效人数成功 / 部分 / 失败 / 无法判断成功率最近核验 / 有效期
官方网站访问00 / 0 / 0 / 0样本不足暂无 / 7 天
GitHub 仓库访问00 / 0 / 0 / 0样本不足暂无 / 7 天
安装与运行00 / 0 / 0 / 0样本不足暂无 / 30 天
官方服务国内连接 / MCP 连接00 / 0 / 0 / 0样本不足暂无 / 30 天
国内网络情况00 / 0 / 0 / 0样本不足暂无 / 7 天
国内模型兼容性00 / 0 / 0 / 0样本不足暂无 / 30 天
自定义 API00 / 0 / 0 / 0样本不足暂无 / 30 天
海外服务依赖
00 / 0 / 0 / 0样本不足暂无 / 30 天
海外账号要求
00 / 0 / 0 / 0样本不足暂无 / 30 天
中文界面
00 / 0 / 0 / 0样本不足暂无 / 30 天
客户端兼容性00 / 0 / 0 / 0样本不足暂无 / 30 天
账号及费用信息
00 / 0 / 0 / 0样本不足暂无 / 30 天

成功率 = 成功 ÷(成功 + 部分成功 + 失败);无法判断不计入分母。至少 5 份可判断结果才显示成功率。账号、费用、海外依赖与语言等事实项,成功表示核查结论与资料吻合,具体观察另行统计;不表示免费或没有海外依赖。不同网络、客户端和版本的结果不能直接等同。

最近有效核验

暂无审核通过且未过期的网友核验。欢迎提交真实使用记录。

查看全部有效核验 →

国内实测状态:国内可用性待核验。协议兼容和官方资料说明不等于国内网络可用。

官方网站访问
尚未实测 待核验
GitHub 仓库访问
尚未实测 待核验
官方服务国内连接
尚未实测 待核验
国内网络情况
尚未实测 待核验
国内模型兼容性
尚未实测 待核验
自定义 API
尚未实测 待核验
海外服务依赖
尚未实测 待核验
海外账号要求
尚未实测 待核验
中文界面
尚未实测 待核验
国内最后核验时间
尚未实测

许可与国内使用

仓库 LICENSE 文件为 MIT License(Copyright (c) 2024-present BulkPublish)。许可证覆盖仓库内代码与文档,不当然覆盖 BulkPublish 托管服务或其数据。

国内使用需注意:核心服务在境外托管域名 app.bulkpublish.com,访问稳定性、延迟与是否需要网络代理待核验;所列社交平台(Facebook、Instagram、X、YouTube、TikTok 等)在国内的可访问性与账号可用性同样待核验。README 未提供中国大陆合规、数据出境或本地化部署说明,如需合规评估应另行核查。

项目资料与来源

官方网站 ↗

GitHub 仓库 ↗

官方文档 ↗

字段依据与待核验事项

access:来源确认 · pip install bulkpublish

project_type:来源确认 · BulkPublish ships an MCP server so AI assistants can manage your social media directly

原始 README(折叠技术参考)
<div align="center">
  <img alt="BulkPublish Logo" src="logo.svg" width="220"/>

  <h1>BulkPublish API</h1>

  <p><strong>The free social media API built for automation, AI agents, and LLMs.</strong></p>

  <p>
    <img src="https://img.shields.io/badge/License-MIT-blue.svg" alt="License">
    <img src="https://img.shields.io/badge/Platforms-15-orange.svg" alt="15 Platforms">
    <img src="https://img.shields.io/badge/MCP-Server-purple.svg" alt="MCP Server">
    <a href="https://pypi.org/project/bulkpublish/"><img src="https://img.shields.io/pypi/v/bulkpublish.svg" alt="PyPI"></a>
    <a href="https://www.npmjs.com/package/bulkpublish"><img src="https://img.shields.io/npm/v/bulkpublish.svg" alt="npm"></a>
  </p>

  <p>
    <img alt="Facebook" src=".github/assets/platforms/badges/facebook.svg" width="36">
    <img alt="Instagram" src=".github/assets/platforms/badges/instagram.svg" width="36">
    <img alt="X / Twitter" src=".github/assets/platforms/badges/x.svg" width="36">
    <img alt="TikTok" src=".github/assets/platforms/badges/tiktok.svg" width="36">
    <img alt="YouTube" src=".github/assets/platforms/badges/youtube.svg" width="36">
    <img alt="Threads" src=".github/assets/platforms/badges/threads.svg" width="36">
    <img alt="Bluesky" src=".github/assets/platforms/badges/bluesky.svg" width="36">
    <img alt="Pinterest" src=".github/assets/platforms/badges/pinterest.svg" width="36">
    <img alt="Google Business" src=".github/assets/platforms/badges/gmb.svg" width="36">
    <img alt="LinkedIn" src=".github/assets/platforms/badges/linkedin.svg" width="36">
    <img alt="Mastodon" src=".github/assets/platforms/badges/mastodon.svg" width="36">
    <img alt="Discord" src=".github/assets/platforms/badges/discord.svg" width="36">
    <img alt="Telegram" src=".github/assets/platforms/badges/telegram.svg" width="36">
    <img alt="Tumblr" src=".github/assets/platforms/badges/tumblr.svg" width="36">
    <img alt="Snapchat" src=".github/assets/platforms/badges/snapchat.svg" width="36">
  </p>

  <p>
    <a href="https://app.bulkpublish.com/register"><strong>Get Started »</strong></a> ·
    <a href="https://app.bulkpublish.com/docs">API Docs</a> ·
    <a href="https://www.bulkpublish.com">Website</a> ·
    <a href="mcp-server/README.md">MCP Server</a>
  </p>

  <br/>

  <img alt="BulkPublish Multi-Platform Composer" src=".github/assets/multi-platform-composer.webp" width="720"/>

  <br/>
  <br/>
</div>

Programmatically publish to 15 platforms from a single API call. Built for developers, AI agents, LLMs, and agentic workflows that need reliable social media automation without browser sessions or manual interaction.

```python
from bulkpublish import BulkPublish

bp = BulkPublish("bp_your_key_here")
bp.posts.create(
    content="Launching our new product today!",
    channels=[{"channelId": 1, "platform": "x"}, {"channelId": 2, "platform": "linkedin"}],
    status="scheduled",
    scheduled_at="2026-04-10T09:00:00Z",
)
```

## Why BulkPublish?

Most social media tools are built for humans clicking buttons. BulkPublish is built for **code** — whether that code is written by a developer, an AI agent, an LLM with tool use, or an autonomous workflow.

- **Headless by design** — No browser, no UI, no OAuth pop-ups at runtime. Connect accounts once in the dashboard, then automate everything via API.
- **AI-native** — MCP server for Claude, tool definitions for GPT and LangChain, structured JSON responses that LLMs parse reliably.
- **Agentic-ready** — Deterministic API with clear error codes. AI agents can create posts, check status, retry failures, and read analytics autonomously.
- **15 platforms, one endpoint** — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat.

## Use Cases

- **AI social media managers** — Let Claude, GPT, or custom agents schedule and publish posts autonomously
- **Content pipelines** — RSS-to-social, blog-to-social, newsletter-to-social automation
- **Bulk scheduling** — Upload a CSV or feed a content calendar and schedule weeks of posts programmatically
- **Cross-platform syndication** — Publish once to all platforms with per-platform content optimization
- **Analytics dashboards** — Pull engagement data into your own tools, spreadsheets, or AI analysis
- **Zapier/n8n/Make alternatives** — Direct API access without middleware, lower latency, more control
- **LLM-powered content creation** — Generate content with AI, publish it with BulkPublish, track performance, iterate

## Quick Start

### 1. Sign up

Create a free account at [app.bulkpublish.com](https://app.bulkpublish.com/register).

### 2. Get your API key

Go to **Settings > Developer** in the dashboard and create an API key. Keys start with `bp_` and are shown only once — save it securely.

### 3. Connect platforms

Connect your social accounts in the dashboard under **Channels**. The API uses your connected channels to publish.

### 4. Install an SDK

**Python**

```bash
pip install bulkpublish
```

**Node.js**

```bash
npm install bulkpublish
```

**Homebrew (macOS/Linux)**

```bash
brew tap azeemkafridi/bulkpublish && brew install bulkpublish
```

Or call the REST API directly with `curl`, `fetch`, `requests`, or any HTTP client.

### 5. Make your first API call

```bash
curl -X POST https://app.bulkpublish.com/api/posts \
  -H "Authorization: Bearer <API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Hello from the BulkPublish API!",
    "channels": [{"channelId": 1, "platform": "linkedin"}],
    "status": "draft"
  }'
```

## AI Agent Integration

### MCP Server (Claude, Cursor, Windsurf, Claude Code)

BulkPublish ships an MCP server so AI assistants can manage your social media directly:

```json
{
  "mcpServers": {
    "bulkpublish": {
      "command": "npx",
      "args": ["-y", "@bulkpublish/mcp-server"],
      "env": {
        "BULKPUBLISH_API_KEY": "bp_your_key_here"
      }
    }
  }
}
```

80 tools in the local (stdio) server: `create_post`, `list_channels`, `upload_media`, `get_analytics`, the interactive `compose_post` composer (MCP Apps), and more. The hosted server at `https://mcp.bulkpublish.com/mcp` (OAuth 2.1) serves the 26-tool `core` profile: channels, posts, media, analytics, labels, approvals, post comments and the interactive panels. The 32-tool `inbox` profile adds reading and answering direct messages, reviews and comments. See [mcp-server/README.md](mcp-server/README.md#tool-profiles).

### Social Media Content Skills

BulkPublish includes a skill library for AI agents to plan, adapt, review, schedule, publish and fix social media content: [Social Media Content Skills](skills/social-media-content-skills/README.md) for the full tool set, and [core-profile skills](skills/core-profile-skills/README.md) for the hosted connector. Both are generated from [`skills/src`](skills/src/README.md).


### LLM Tool Use / Function Calling

Ready-made tool definitions for autonomous AI agents:

- **[Claude tool_use example](examples/ai-agents/claude_tool_use.py)** — Anthropic SDK with tool definitions for scheduling posts
- **[OpenAI function calling example](examples/ai-agents/openai_function.py)** — GPT-4 with functions for post management
- **[LangChain tool example](examples/ai-agents/langchain_tool.py)** — LangChain agent with BulkPublish tools

All examples are complete, runnable scripts with error handling.

## Code Examples

### Create a Post

<table>
<tr><th>Python</th><th>Node.js</th></tr>
<tr>
<td>

```python
from bulkpublish import BulkPublish

bp = BulkPublish("bp_your_key_here")

post = bp.posts.create(
    content="Check out our latest update!",
    channels=[
        {"channelId": 1, "platform": "facebook"},
        {"channelId": 2, "platform": "x"},
        {"channelId": 3, "platform": "linkedin"},
    ],
    status="draft",
)
```

</td>
<td>

```typescript
import { BulkPublish } from 'bulkpublish';

const bp = new BulkPublish({ apiKey: 'bp_your_key_here' });

const post = await bp.posts.create({
  content: 'Check out our latest update!',
  channels: [
    { channelId: 1, platform: 'facebook' },
    { channelId: 2, platform: 'x' },
    { channelId: 3, platform: 'linkedin' },
  ],
  status: 'draft',
});
```

</td>
</tr>
</table>

### Schedule a Post

```python
post = bp.posts.create(
    content="This will go out tomorrow morning.",
    channels=[{"channelId": 1, "platform": "instagram"}],
    status="scheduled",
    scheduled_at="2026-04-10T09:00:00Z",
    timezone="America/New_York",
)
```

### Upload Media and Publish

```python
media = bp.media.upload("./product-photo.jpg")

post = bp.posts.create(
    content="Our newest product is here.",
    channels=[{"channelId": 1, "platform": "instagram"}],
    media_files=[media["file"]["id"]],
    status="scheduled",
    scheduled_at="2026-04-10T12:00:00Z",
)
```

### Automation Example: Bulk Schedule from CSV

```python
import csv
from bulkpublish import BulkPublish

bp = BulkPublish("bp_your_key_here")
channels = bp.channels.list()["channels"]

with open("content-calendar.csv") as f:
    for row in csv.DictReader(f):
        bp.posts.create(
            content=row["content"],
            channels=[{"channelId": ch["id"], "platform": ch["platform"]} for ch in channels],
            status="scheduled",
            scheduled_at=row["scheduled_at"],
            timezone="America/New_York",
        )
```

More examples in [`examples/`](examples/) — including [Python automation scripts](examples/python/), [Node.js examples](examples/node/), [curl reference](examples/curl/), and [AI agent integrations](examples/ai-agents/).

## Features

- **15 platforms** — Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr, Snapchat
- **Scheduling** — Schedule posts for any future time with timezone support, or let queue slots pick optimal times
- **Media uploads** — Images (JPEG, PNG, WebP, GIF) and videos (MP4, MOV, WebM) up to 100 MB
- **Recurring schedules** — Repeat posts daily, weekly, biweekly, or monthly at a set time of day
- **Analytics** — Track impressions, likes, comments, shares, and engagement. Each platform reports a different subset of metrics, and the response says which (`supportedMetrics` / `supportedTotals`) so a `0` is never mistaken for a measurement — see [Metrics by Platform](guides/platforms.md#metrics-by-platform)
- **Link tracking** — Opt in per organization, or per post via `linkTrackingOverride`, to rewrite links through `bulkpubli.sh` and count the clicks. Reported as `linkClicks` / `totalLinkClicks` and measured by BulkPublish rather than the platform, so it works even where the platform reports nothing — see [Character Limits](guides/platforms.md#character-limits)
- **Labels** — Organize posts and media with color-coded labels
- **Hashtag groups** — Save sets of hashtags and drop them into a post in one call
- **Templates** — Save post text and start new posts from it
- **Review links** — Share a read-only page of a post with someone who has no account
- **Calendar notes** — Pin campaigns, holidays and reminders to calendar days
- **Bulk operations** — Delete or retry multiple posts in a single request
- **Threads** — Multi-part thread posts for X, Threads, Bluesky, and Mastodon
- **Auto first comment** — Automatically add a comment after publishing on any platform
- **All post types** — Reels, Stories, Carousels, Threads, Shorts, Video — set per-platform via `postTypeOverrides`
- **Per-platform content** — Customize text and options per platform in a single post
- **Platform-specific options** — Instagram collaborators, TikTok privacy, YouTube categories, Pinterest boards, and more

## API Reference

Full interactive API documentation: **[app.bulkpublish.com/docs](https://app.bulkpublish.com/docs)**

### Base URL

```
https://app.bulkpublish.com
```

### Authentication

```
Authorization: Bearer <API_KEY>
```

### Core Endpoints

| Method | Endpoint | Description |
|--------|----------|-------------|
| `POST` | `/api/posts` | Create a post (draft, scheduled, or immediate) |
| `GET` | `/api/posts` | List posts (paginated, filterable by status/date/channel/label) |
| `GET` | `/api/posts/:id` | Get a post with platform statuses and metrics |
| `PUT` | `/api/posts/:id` | Update a draft or scheduled post |
| `DELETE` | `/api/posts/:id` | Delete a post |
| `POST` | `/api/posts/:id/publish` | Publish a draft immediately |
| `POST` | `/api/posts/:id/retry` | Retry failed platforms |
| `POST` | `/api/posts/:id/approve` | Approve a post awaiting team approval (roles with post:approve) |
| `POST` | `/api/posts/:id/reject` | Reject a pending post back to draft, with an optional reason |
| `POST` | `/api/posts/bulk` | Bulk delete, retry or reschedule (up to 100 posts per request) |
| `GET` | `/api/channels` | List connected social media channels |
| `GET` | `/api/channels/:id/health` | Check channel token health |
| `GET` | `/api/channels/:id/options` | Get platform options (Pinterest boards, YouTube playlists, Tumblr blogs, Discord channels, Threads `?q=` place search) |
| `GET` | `/api/channels/:id/mentions` | Search accounts for @mention (X, Bluesky, Mastodon, LinkedIn Pages — LinkedIn results are `@[Name](urn:li:organization:ID)` tokens plus the `vanityName` slug they matched on) |
| `GET`/`POST` | `/api/templates` | Saved post templates (get/update/delete via `/api/templates/:id`) |
| `GET`/`POST` | `/api/calendar-notes` | Notes pinned to calendar days, `?from&to` range (update/delete via `/api/calendar-notes/:id`) |
| `POST`/`DELETE` | `/api/posts/:id/share` | Create or revoke the post's read-only review link (`/p/<token>`) |
| `GET`/`POST` | `/api/hashtag-groups` | Saved hashtag groups, 1-30 hashtags each (get/update/delete via `/api/hashtag-groups/:id`) |
| `GET`/`POST` | `/api/channel-sets` | Saved channel groups for one-click targeting (update/delete via `/api/channel-sets/:id`) |
| `GET`/`POST` | `/api/rss-feeds` | RSS/Atom autopost feeds — new items become posts (update/delete via `/api/rss-feeds/:id`) |
| `POST` | `/api/media` | Upload a media file (multipart form, up to 100MB) |
| `POST` | `/api/media/multipart/create` | Start a chunked upload for large media (videos up to 1GB, 10MB parts) |
| `POST` | `/api/media/multipart/complete` | Assemble uploaded parts and record the media file |
| `GET` | `/api/media` | List uploaded media |
| `GET` | `/api/analytics/summary` | Analytics summary for a date range |
| `GET` | `/api/analytics/engagement` | Engagement totals, per-day / per-platform / per-channel breakdowns, ranked and full post lists — filterable by channels, platforms, labels, format and media type; `compare=1` adds the previous period |
| `GET` | `/api/analytics/post-history` | Every stored metrics snapshot for one post, per platform (trend since publish) |
| `GET` | `/api/analytics/links` | Tracked bulkpubli.sh links with click counts |
| `POST` | `/api/schedules` | Create a recurring schedule |
| `GET` | `/api/quotas/usage` | Check current plan limits and usage |
| `GET` | `/api/inbox/conversations` | Inbox: direct messages, reviews and comment threads, with filters and cursor paging (Pro and Business) |
| `GET`/`POST` | `/api/inbox/conversations/:id/messages` | Read a conversation, or send a reply to the person on the platform |
| `PATCH` | `/api/inbox/conversations/:id` | Mark read, archive, snooze or assign a conversation |
| `GET` | `/api/posts/:id/engagement` | Comments and reactions on a published post, per channel |
| `POST` | `/api/posts/:id/comments/reply` | Reply to a comment on a published post |
| `POST` | `/api/posts/:id/comments/moderate` | Like, unlike, hide, unhide or delete a comment |

See the [OpenAPI spec](openapi.json) for the complete endpoint list.

## Supported Platforms

| Platform | Post Types | Media |
|----------|-----------|-------|
| **Facebook** | Post, Story | Images, Videos |
| **Instagram** | Feed, Reel, Story, Carousel | Images (JPEG), Videos (MP4, MOV) |
| **X / Twitter** | Tweet, Thread | Images, Videos, GIFs |
| **TikTok** | Video, Photo Slideshow | Videos (MP4, MOV), Images |
| **YouTube** | Video, Short | Videos (MP4, MOV, WebM, AVI, WMV, FLV) |
| **Threads** | Post, Thread, Quote Post | Images, Videos |
| **Bluesky** | Post, Thread | Images |
| **Pinterest** | Pin | Images, Videos |
| **Google Business Profile** | Post, Event, Offer | Images |
| **LinkedIn** | Post, Multi-image, PDF Carousel, Article, Document, Poll, Reshare | Images (JPEG, PNG, GIF), Videos (MP4), Documents (PDF, Word, PowerPoint) |
| **Mastodon** | Post, Thread | Images, Videos |
| **Snapchat** | Story, Saved Story, Spotlight | Exactly 1 image (JPG, PNG) or video (MP4, MOV, vertical, max 1GB; story video 5–60s, Spotlight 6–60s) |

## SDKs

### Python

```bash
pip install bulkpublish
```

Supports sync and async. Rich docstrings on every method for IDE and LLM consumption.

### Node.js / TypeScript

```bash
npm install bulkpublish
```

Full TypeScript types, zero dependencies, native `fetch` (Node 18+).

### Homebrew (macOS/Linux)

```bash
brew tap azeemkafridi/bulkpublish && brew install bulkpublish
```

Installs the Node SDK via Homebrew.

### REST API

No SDK needed — any HTTP client works:

```bash
curl https://app.bulkpublish.com/api/channels \
  -H "Authorization: Bearer <API_KEY>"
```

## Rate Limits

| Limit | Free | Pro | Business |
|-------|------|-----|----------|
| Writes/min | 60 | 60 | 60 |
| Reads/min | 300 | 300 | 300 |
| Daily API requests | 10 | 5,000 | 50,000 |
| API keys | 1 | 5 | 10 |

| Recurring schedules | — | 10 | Unlimited |

See the [rate limits guide](guides/rate-limits.md) for headers, backoff strategies, and best practices.

## Guides

- [Authentication](guides/authentication.md) — API keys, authorization, key management
- [Scheduling](guides/scheduling.md) — Scheduled posts, queue slots, recurring schedules, timezones
- [Media Uploads](guides/media-uploads.md) — File uploads, supported formats, using media in posts
- [Platform Options](guides/platforms.md) — Per-platform configuration and quirks
- [Rate Limits](guides/rate-limits.md) — Burst limits, daily quotas, best practices
- [Inbox and Comments](guides/inbox.md) — Read and answer direct messages, reviews and comments

## Integrations

| Platform | Package | Install |
|----------|---------|---------|
| **Zapier** | [BulkPublish on Zapier](https://zapier.com/apps/bulkpublish/integrations) | Search "BulkPublish" in Zapier |
| **n8n** | [n8n-nodes-bulkpublish](https://github.com/azeemkafridi/n8n-nodes-bulkpublish) | Settings > Community Nodes > `n8n-nodes-bulkpublish` |
| **Homebrew** | [homebrew-bulkpublish](https://github.com/azeemkafridi/homebrew-bulkpublish) | `brew tap azeemkafridi/bulkpublish && brew install bulkpublish` |

## Links

| Resource | URL |
|----------|-----|
| Dashboard | [app.bulkpublish.com](https://app.bulkpublish.com) |
| API Docs | [app.bulkpublish.com/docs](https://app.bulkpublish.com/docs) |
| Website | [bulkpublish.com](https://www.bulkpublish.com) |
| Email | support@bulkpublish.com |

## License

MIT
历史前置条件说明(补充参考)

需注册 BulkPublish 官方账号并在控制台创建以 bp_ 开头的 API Key;需在控制台连接目标社交平台账号;REST 调用需可访问 https://app.bulkpublish.com;Node SDK 要求 Node 18+(README 说明使用原生 fetch);Python SDK 支持同步与异步,具体版本要求待核验;Homebrew 仅说明适用于 macOS/Linux。费用与各档配额的实际价格、是否可免费长期使用待向官方核验;国内网络可达性与社交平台授权可用性待核验;托管 MCP 的认证细节以官方文档为准。

项目来源与清单版权许可

https://github.com/azeemkafridi/bulkpublish-api

整理来源:https://github.com/slavakurilyak/awesome-ai-agents

清单版权与许可:

MIT License

Copyright (c) 2024 Slava Kurilyak

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.