Publish, schedule, and manage social media across 11 platforms via MCP.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
π‘ Paste into ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows)
The free social media API built for automation, AI agents, and LLMs.
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.
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.
Create a free account at app.bulkpublish.com.
Go to Settings > Developer in the dashboard and create an API key. Keys start with bp_ and are shown only once β save it securely.
Connect your social accounts in the dashboard under Channels. The API uses your connected channels to publish.
Python
Node.js
Homebrew (macOS/Linux)
Or call the REST API directly with curl, fetch, requests, or any HTTP client.
BulkPublish ships an MCP server so AI assistants can manage your social media directly:
50 tools available: create_post, list_channels, upload_media, get_analytics, the interactive compose_post composer (MCP Apps), and more. Runs locally (stdio) or hosted over Streamable HTTP at https://mcp.bulkpublish.com/mcp. See mcp-server/README.md.
Ready-made tool definitions for autonomous AI agents:
All examples are complete, runnable scripts with error handling.
| Python | Node.js |
|---|---|
More examples in examples/ β including Python automation scripts, Node.js examples, curl reference, and AI agent integrations.
supportedMetrics / supportedTotals) so a 0 is never mistaken for a measurement β see Metrics by PlatformlinkTrackingOverride, 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 LimitspostTypeOverridesFull interactive API documentation: app.bulkpublish.com/docs
| 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 or retry |
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) |
GET | /api/channels/:id/mentions | Search users for @mention (X, Bluesky) |
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 data grouped by day/week/month |
POST | /api/schedules | Create a recurring schedule |
GET | /api/quotas/usage | Check current plan limits and usage |
See the OpenAPI spec for the complete endpoint list.
| Platform | Post Types | Media |
|---|---|---|
| Post, Story | Images, Videos | |
| 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 |
| Pin | Images, Videos | |
| Google Business Profile | Post, Event, Offer | Images |
| Post, Multi-image, PDF Carousel, Article | Images (JPEG, PNG, GIF), Videos (MP4) | |
| Mastodon | Post, Thread | Images, Videos |
Supports sync and async. Rich docstrings on every method for IDE and LLM consumption.
Full TypeScript types, zero dependencies, native fetch (Node 18+).
Installs the Node SDK via Homebrew.
No SDK needed β any HTTP client works:
| Limit | Free | Pro | Business |
|---|---|---|---|
| Writes/min | 60 | 60 | 60 |
| Reads/min | 300 | 300 | 300 |
| Daily API requests | 100 | 5,000 | 50,000 |
| API keys | 1 | 5 | 10 |
| Recurring schedules | β | 10 | Unlimited |
See the rate limits guide for headers, backoff strategies, and best practices.
| Platform | Package | Install |
|---|---|---|
| Zapier | BulkPublish on Zapier | Search "BulkPublish" in Zapier |
| n8n | n8n-nodes-bulkpublish | Settings > Community Nodes > n8n-nodes-bulkpublish |
| Homebrew | homebrew-bulkpublish | brew tap azeemkafridi/bulkpublish && brew install bulkpublish |
| Resource | URL |
|---|---|
| Dashboard | app.bulkpublish.com |
| API Docs | app.bulkpublish.com/docs |
| Website | bulkpublish.com |
| support@bulkpublish.com |
MIT
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/bulkpublish)<a href="https://allmcps.com/mcp/bulkpublish"><img src="https://allmcps.com/api/badge/bulkpublish?style=directory" alt="Bulkpublish on AllMCPs" /></a>