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.

PlatformFormatsRequired target fieldsBlotato daily capAnalyticsComments and DMs
Instagram Feed, carousel, Reel, Story none (mediaType optional) 50 per account per 24h Yes Yes
Facebook Page post, photo, Reel, Story pageId, mediaType for video 25 per Page per 24h Yes Yes
LinkedIn 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
Pinterest 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

  1. Connect the accounts. Sign in and connect each social account through its login flow. Blotato holds and refreshes the tokens.
  2. 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.
  3. List accounts. GET /users/me/accounts returns each connected account with its id and platform. Facebook, LinkedIn and YouTube expose subaccounts for Page and playlist ids, Pinterest exposes boards.
  4. POST and poll. Send the envelope above with the platform's target fields, then poll the status until it reads published or failed.

See every plan and its limits

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.

PlanPriceConnected accountsQueued scheduled postsMax uploadDM automation active contacts
Starter$29/mo20200400 MB1,000/mo
Creator$97/mo401,0001 GB6,000/mo
Agency$499/mo1003,0001 GB15,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.

FAQ

Social media API FAQs

01 Which platforms does the social media API post to?
Nine: X, LinkedIn, Facebook, Instagram, Pinterest, TikTok, Threads, Bluesky, and YouTube. The list is exhaustive for the API, the MCP server, and the web app. Blotato does not publish to platforms outside it.
02 Does the social media API include comments and direct messages?
On Instagram and Facebook, yes: GET and POST /comments, GET /conversations, GET and POST /messages, and the eight DM automation endpoints. On the other seven platforms the API covers publishing, scheduling, and, except for LinkedIn, analytics.
03 Is there a free tier or a free trial for the API?
No. API access is included on every paid plan, from Starter at $29/mo, and the 7-day free trial excludes it. Generating an API key ends the trial and starts the paid Starter subscription at that moment.
04 Does the price change with posting volume?
No. Plans are flat and there is no per-post fee. The limits that do apply are the rate limits (30 requests a minute on POST /posts, 60 on most reads), the connected-account count per plan, and the per-platform daily posting caps Blotato applies.
05 Is there an MCP server as well as a REST API?
Yes. The same surface is exposed at https://mcp.blotato.com/mcp as named MCP tools, authenticated with OAuth 2.1 or the blotato-api-key header. Claude Code, Claude Desktop, ChatGPT, Cursor, Codex and 13 other clients are documented. Use MCP when a model decides what to publish and REST when your own code does.