Bulkpublish

by azeemkafridi

116 downloads
Not rated
GitHub

About

Publish, schedule, and manage social media across 11 platforms with media uploads and analytics tracking.

Details

Author
azeemkafridi
Downloads
116
Categories
Communication, Other, Automation

Setup

Install Bulkpublish in your MCP client (Claude Desktop, Cursor, Windsurf, and others).

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

Follow the installation instructions in the repository README, then restart your MCP client.

The free social media API built for automation, AI agents, and LLMs.

Programmatically publish to 14 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.

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", )

Most social media tools are built for humans clicking buttons. BulkPublish is built forcode— 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.
- 14 platforms, one endpoint— Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr.

- 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

Create a free account atapp.bulkpublish.com.

Go toSettings > Developerin the dashboard and create an API key. Keys start withbp_and are shown only once — save it securely.

Connect your social accounts in the dashboard underChannels. The API uses your connected channels to publish.

brew tap azeemkafridi/bulkpublish && brew install bulkpublish

Or call the REST API directly withcurl,fetch,requests, or any HTTP client.

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

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

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

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

50 tools available:create_post,list_channels,upload_media,get_analytics, the interactivecompose_postcomposer (MCP Apps), and more. Runs locally (stdio) or hosted over Streamable HTTP athttps://mcp.bulkpublish.com/mcp. Seemcp-server/README.md.

Ready-made tool definitions for autonomous AI agents:

- Claude tool_use example— Anthropic SDK with tool definitions for scheduling posts
-
OpenAI function calling example— GPT-4 with functions for post management
-
LangChain tool example— LangChain agent with BulkPublish tools

All examples are complete, runnable scripts with error handling.

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", )
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', });
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", )
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

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 inexamples/— includingPython automation scripts,Node.js examples,curl reference, andAI agent integrations.

- 14 platforms— Facebook, Instagram, X/Twitter, TikTok, YouTube, Threads, Bluesky, Pinterest, Google Business Profile, LinkedIn, Mastodon, Discord, Telegram, Tumblr
- 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 a0is never mistaken for a measurement — see
Metrics by Platform
- Link tracking— Opt in per organization, or per post vialinkTrackingOverride, to rewrite links throughbulkpubli.shand count the clicks. Reported aslinkClicks/totalLinkClicksand measured by BulkPublish rather than the platform, so it works even where the platform reports nothing — see
Character Limits
- Labels— Organize posts and media with color-coded labels
- 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 viapostTypeOverrides
- 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

Full interactive API documentation:app.bulkpublish.com/docs

See theOpenAPI specfor the complete endpoint list.

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

Full TypeScript types, zero dependencies, nativefetch(Node 18+).

brew tap azeemkafridi/bulkpublish && brew install bulkpublish
curl https://app.bulkpublish.com/api/channels \ -H "Authorization: Bearer bp_your_key_here"

| Recurring schedules | — | 10 | Unlimited |

See therate limits guidefor headers, backoff strategies, and best practices.

- Authentication— API keys, authorization, key management
-
Scheduling— Scheduled posts, queue slots, recurring schedules, timezones
-
Media Uploads— File uploads, supported formats, using media in posts
-
Platform Options— Per-platform configuration and quirks
-
Rate Limits— Burst limits, daily quotas, best practices

This repo doubles as aCursormarketplace repository. The plugin inplugins/bulkpublishpoints Cursor at the hosted MCP server and ships six reference skills.

Install fromCursor Settings → Plugins, or run/add-plugin bulkpublish.

Publish, schedule, and manage social media across 11 platforms with media uploads and analytics tracking.

Transforms any blog/article URL into ready-to-post social media content for Twitter/X, LinkedIn, Instagram, Facebook, and email. Hosted on Apify, zero setup, pay-per-event ($0.07).

HuiMei — Social Media Automation MCP Server

AI-native social media automation platform — publish content to 12+ platforms (Douyin, XHS/Xiaohongshu, Bilibili, Kuaishou, Weibo, Zhihu, TikTok, Toutiao, WeChat Channels & more) with a single MCP tool call. Supports video, image, and article publishing with full account management.

Schedule and publish social media posts across 13+ platforms, manage your content calendar, and generate AI-powered captions through any MCP-compatible AI assistant.

Draft, schedule and publish social posts to LinkedIn, X, Instagram, Facebook, Threads, TikTok, Pinterest and YouTube from your AI assistant, in a brand voice learned per account.

Create, schedule, and publish social media posts to 9 platforms from Claude, Cursor, or any AI agent. Hosted server with OAuth or API key auth.

Let any AI agent post to TikTok, Instagram, YouTube, X, LinkedIn, Bluesky, Telegram, Mastodon & Discord via one MCP tool.

AI-powered multi-platform content publishing. 25 tools to create posts, run automations, manage RSS feeds, generate hashtags, search images, and publish to Instagram, Facebook, LinkedIn, X, Threads, Telegram, Discord, WordPress, YouTube, TikTok, and more.

Connect your social media workflows directly to your AI agent to draft, schedule, publish, and analyze social content using natural language.

Connect AI assistants to SocialBu to create, schedule, publish, and analyze social media content from chat.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.