Social media API for AI agents: nine platforms, one key
Blotato's social media API publishes and schedules to nine platforms from one REST API, reads analytics on eight of them, and reads and answers comments and DMs on Instagram and Facebook from the same key.
The alternative is a developer app, a review queue, and a token-refresh job per platform. Here the platform is a field in the request.
- REST
https://backend.blotato.com/v2- Auth
blotato-api-key: YOUR_API_KEY- MCP
https://mcp.blotato.com/mcp
Updated September 2026. API access is included on every paid plan and excluded from the free trial.
What the social media API covers
The job is create, schedule, convert. The API is four groups of endpoints, each with its scope stated exactly.
Publishing and scheduling, 9 platforms
POST /posts publishes now or at scheduledTime. GET, PATCH and DELETE /schedules manage the queue, and /schedule/slots runs a posting calendar the API can fill with useNextFreeSlot.
Analytics, 8 platforms
GET /analytics ranks published posts by views, reach, likes or comments. GET /posts/:id/analytics returns one post over time. Every metric field is optional, so a network that does not report a figure returns none. LinkedIn returns no metrics yet, so it is the one exclusion.
Comments and DMs, Instagram and Facebook
GET and POST /comments, GET /conversations, GET and POST /messages, with buttons and quick replies on messages.
DM automation, reply-only
Eight /dm-automations endpoints build keyword-triggered and comment-triggered auto-replies inside Meta's 7-day comment and 24-hour DM windows. No cold outreach, by design.
Media uploads, visuals from templates, and content extraction from a URL round out the surface. Credits are spent only on AI image and video generation, never on API calls.
Every platform, its required fields, and the cap Blotato applies
One envelope, nine values of targetType. What changes per platform is the target fields and the daily cap. Every cap here is Blotato's own, and on Instagram, Facebook, LinkedIn and Pinterest it is stricter than the platform's, because accounts that publish at platform maximum through automation get flagged.
| Platform | Formats | Required target fields | Blotato daily cap | Analytics | Comments and DMs |
|---|---|---|---|---|---|
| Feed, carousel, Reel, Story | none (mediaType optional) | 50 per account per 24h | Yes | Yes | |
| Page post, photo, Reel, Story | pageId, mediaType for video | 25 per Page per 24h | Yes | Yes | |
| Text, image, video, document carousel | none (pageId for a company Page) | 50 per profile and per Page per 24h | No | No | |
| X (Twitter) | Post, thread, up to 4 images or 1 video | none | no Blotato cap (X: 100 requests per user per 24h) | Yes | No |
| TikTok | Video, photo post | privacyLevel + 6 disclosure booleans | Starter: 3 accounts x 10 per 24h | Yes | No |
| Image, video, carousel pin | boardId | 10 pins per account per day | Yes | No | |
| Threads | Text, single image or video, thread | none (replyControl optional) | no Blotato cap (Meta's Threads limits apply) | Yes | No |
| Bluesky | Post, thread, up to 4 images or 1 video | none | no Blotato cap (Bluesky's limits apply) | Yes | No |
| YouTube | Video upload | title, privacyStatus, shouldNotifySubscribers | Starter 10 / Creator 25 per channel per 24h | Yes | No |
Each platform page has the full request body, optional fields, media limits, and that network's FAQ. Caps are listed at help.blotato.com/settings/social-accounts, and the field reference at help.blotato.com/api/llm.
One request, one status to poll
Every publish is the same call. accountId comes from GET /users/me/accounts. scheduledTime and useNextFreeSlot sit at the root of the body, not inside post, or they are ignored and the post publishes now.
POST https://backend.blotato.com/v2/posts
blotato-api-key: YOUR_API_KEY
{
"post": {
"accountId": "98432",
"content": {
"text": "Same envelope, nine targets.",
"mediaUrls": ["https://cdn.example.com/image.jpg"],
"platform": "linkedin"
},
"target": { "targetType": "linkedin" }
},
"scheduledTime": "2026-09-18T14:00:00+00:00"
}
The response is { "postSubmissionId": "uuid" }, a receipt, not proof. Poll GET /posts/:postSubmissionId until it reads published with a public URL, or failed with the platform's error attached. A scheduled post reports scheduled, so an agent waiting only for published polls forever. The errors that hit in production and the rate limits per platform have their own write-ups.
Why builders route social media through Blotato
- Breadth behind one key. Publishing, scheduling, analytics, comments, DMs and DM automation are one credential. The real alternative is not one API but five vendors, five approval processes, and five bills.
- Hosted, and the bill does not move. Point at a URL. No self-hosting, no per-post fee, and API calls spend no credits. Starter at $29/mo covers 20 connected accounts, and the price does not rise with posting volume.
- Real platform APIs. Every platform is published through its official API with Blotato's approved apps. Nothing here drives a browser, so a platform's UI changes cannot break it.
- The limits are ours and they are written down. Analytics skips LinkedIn. Engagement endpoints are Instagram and Facebook only. Instagram is capped at 50 posts a day, Facebook at 25 per Page, Pinterest at 10 pins, TikTok on Starter at 3 accounts.
For a side-by-side of the managed options, including the ones cheaper than Blotato at small account counts, read the social media API comparison. For how the platform APIs themselves differ, there is the developer's guide to every platform API.
How to get a key and publish in four steps
- Connect the accounts. Sign in and connect each social account through its login flow. Blotato holds and refreshes the tokens.
- Generate an API key. Settings, then API. The key starts the paid Starter plan immediately, because the free trial does not include the API. Copy the whole key, trailing
=characters included. - List accounts.
GET /users/me/accountsreturns each connected account with its id and platform. Facebook, LinkedIn and YouTube expose subaccounts for Page and playlist ids, Pinterest exposes boards. - POST and poll. Send the envelope above with the platform's target fields, then poll the status until it reads published or failed.
What the social media API costs
The API is on every paid plan. The plan decides how many accounts you connect and how deep the queue goes, not how many calls you make.
| Plan | Price | Connected accounts | Queued scheduled posts | Max upload | DM automation active contacts |
|---|---|---|---|---|---|
| Starter | $29/mo | 20 | 200 | 400 MB | 1,000/mo |
| Creator | $97/mo | 40 | 1,000 | 1 GB | 6,000/mo |
| Agency | $499/mo | 100 | 3,000 | 1 GB | 15,000/mo |
Each Facebook Page and LinkedIn company Page counts as one connected account. The 7-day trial covers the web app and 60 AI credits and excludes the API. Full detail at pricing.
REST or MCP?
Both, on the same key. The MCP server at https://mcp.blotato.com/mcp exposes the same surface as named tools, listed on the tool reference, so Claude Code, Claude Desktop, ChatGPT, Cursor, Codex, and the rest of the documented agent clients publish without you writing the HTTP. Use MCP when a model decides what to post and REST when your own code does. Per-client setup is on the social media MCP server page, and what one post costs in tokens over each is measured.
Social media API FAQs
01 Which platforms does the social media API post to?
02 Does the social media API include comments and direct messages?
03 Is there a free tier or a free trial for the API?
04 Does the price change with posting volume?
05 Is there an MCP server as well as a REST API?
Blotato Your AI Agent still can't post to social media.
Point Claude, ChatGPT, n8n, or your own agent at Blotato's MCP and that's fixed: 9 platforms behind one key, flat $29/mo.
Connect your agentFlat pricing. Cancel anytime.