Coming soon
One API for every network.
Publish and schedule posts from your app, scripts or AI agent. REST, webhooks and MCP.
The API opens soon, starting with Bluesky. 10 posts a month free, no card.
curl https://hivepost.app/v1/posts \
-H "Authorization: Bearer $HIVEPOST_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: my-first-post" \
-d '{
"accounts": ["5ae80ed0-bdfd-4c62-a715-be5d8b8a9d37"],
"text": "Hello from the HivePost API",
"publish_at": "2026-11-02T10:00:00Z"
}'
# 201 Created · { "status": "scheduled", "mode": "test" }const res = await fetch("https://hivepost.app/v1/posts", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIVEPOST_API_KEY}`,
"Content-Type": "application/json",
"Idempotency-Key": "my-first-post",
},
body: JSON.stringify({
accounts: ["5ae80ed0-bdfd-4c62-a715-be5d8b8a9d37"],
text: "Hello from the HivePost API",
publish_at: "2026-11-02T10:00:00Z"
}),
});
const data = await res.json();
console.log(res.status, data);
// 201 Created · { "status": "scheduled", "mode": "test" }import os
import requests
res = requests.post(
"https://hivepost.app/v1/posts",
headers={
"Authorization": f"Bearer {os.environ['HIVEPOST_API_KEY']}",
"Idempotency-Key": "my-first-post",
},
json={
"accounts": ["5ae80ed0-bdfd-4c62-a715-be5d8b8a9d37"],
"text": "Hello from the HivePost API",
"publish_at": "2026-11-02T10:00:00Z",
},
)
print(res.status_code, res.json())
# 201 Created · { "status": "scheduled", "mode": "test" }Only networks that approved us.
We don't resell another company's API. Each network opens here once it approves HivePost for posting, so your access can't vanish overnight.
- BlueskyOpens first
- InstagramAfter Meta's review
- FacebookAfter Meta's review
- TikTokAfter TikTok's review
- YouTubeAfter Google's review
- LinkedInAfter LinkedIn's review
- ThreadsAfter Meta's review
- PinterestAfter Pinterest's review
Know what happened.
Webhooks tell your server when a post goes live, fails or an account gets disconnected. Every request is in the logs for 30 days, with a plain sentence on how to fix it.
- Signed webhooks with automatic retries for 3 days
- Idempotency keys so a retry never posts twice
- Test mode with its own keys, where nothing is published
// POST to your server, signed
{
"type": "post.published",
"data": {
"post_id": "8c1f4a52-6f0e-4d1b-9a43-2d7e5b0c9f21",
"account_id": "5ae80ed0-bdfd-4c62-a715-be5d8b8a9d37",
"url": "https://bsky.app/profile/…/post/…"
}
}Let your AI agent post for you.
Add the HivePost MCP server to your AI app and sign in. Your agent can plan a week, write captions and save drafts. Drafts only is the default, so nothing goes live without you. MCP guide
// Claude: Settings → Connectors → Add custom connector
https://hivepost.app/mcp
// Claude Code
claude mcp add --transport http hivepost https://hivepost.app/mcpYour customers, your logo.
Building a tool for shops or creators? Send each customer a connect link. They see your name and logo, pick their accounts, and come back to your app. You never handle their passwords.
Pay for posts, not seats.
- Developer Free
- $0
- 10 published posts a month
- Starter
- $9/month
- 1,000 posts a month, then $0.005 a post
- Growth
- $29/month
- 5,000 posts a month, then $0.005 a post
Prices in USD, VAT added at checkout where it applies. Paid plans renew monthly until you cancel. Every plan has webhooks, logs, connect links and MCP. All prices
Questions
What are the rate limits?
60 requests a minute per key. If you go over, we answer 429 with a Retry-After header telling you how long to wait.
Can I test without posting?
Yes. Test keys run everything, including webhooks, and never publish. They're free and don't count toward your posts.
What counts as a post?
One post published to one account. A post sent to two networks counts as 2. Drafts and failed posts don't count.
When will Instagram and TikTok open?
When each network approves HivePost. We can't give dates. In the Planner you can already plan posts for every network and publish to Bluesky.